01#新知:在限制中设计,而不是绕开它
编辑:Apple 传奇程序员 Bill Atkinson 于美国时间 2025/06/05 在家中因胰腺癌过世,享年 74 岁。
在限制中设计,而不是绕开它
Atkinson 的成就中最优雅的是 Atkinson Dithering 算法,他用一种极简而聪明的方式,把美感装进了有限像素里。
在 1980 年代初的 Macintosh 上,屏幕只有黑白两种像素。没有灰色。要表示“灰色”怎么办?
他发明了一种办法,让计算机「假装自己能显示灰色」。
不是去画灰色,而是:用一堆黑白小点,骗你的眼睛,让它自己“看出”灰色来。
他用的方法,叫“抖动”(Dithering),简单说就是这样:
- 你想让某个区域看起来是灰色?
- 那就在这块区域里,有些点是黑的,有些是白的,比如 50% 黑 50% 白。
- 远看,这些点会在你眼里糊成一片,看起来就像是灰的。
其实这种“抖动”算法有很多种。
别人做法是:每画一个点,会算一下“误差”,然后把误差按比例,分配给附近的像素,让图像整体看起来平滑。
但 Atkinson 并没有搞这么复杂,他的做法是:
- 每处理一个像素,就简单地把误差分给周围的 6 个点;
- 分得很均匀,不太挑位置;
- 也不会把误差全分出去,只分 3/4,留下点余地。
结果就是:
- 算法超快,特别适合当时那种“跑不动”的老电脑;
- 图像边缘更清晰,颗粒感更强,看起来有设计感,不是那种软糊糊的“滤镜风”。
为什么说这个算法“优雅”?
因为它不靠硬算,而是靠“顺着人眼的错觉”来达成目标。
它不追求“还原真实”,而是:只用最简单的计算、最少的颜色,创造最大程度的视觉层次感。
这就像在限制里跳舞。你只有两个音符,却谱出丰富的旋律。
- 它不完美,但“刚刚好”;
- 它不是科技炫技,而是技术服务于感知;
- 它不是为了控制图像,而是为了尊重用户的眼睛。
在当年那个只有黑白像素的小屏幕上,Atkinson 用这个算法,让图像变得柔和、有灰度、有过渡、有节奏。
他没有创造灰色,但他让人“相信”自己看到了灰色。
这,就是优雅。
参考
