# 破色（`brokenColour.ts`，工具包在 `brokenColourKit.ts`）

**媒介，从物理上说。** 油彩直接从管里挤出来，画在铅白打底的亚麻布上，一次画完，在户外。一支扁平猪鬃笔，蘸满颜料，**只**落一次：它钝钝地落下，沿一侧推起一道颜料脊（更亮），在另一侧留下一道沟（更暗），抬起的地方拖得很薄；大笔触会散成干枯的鬃毛尾巴。颜色不会被调成物体本身的颜色：两三种未经调和的颜色并排放着，由眼睛去混合。亚麻布的织纹（`weave`，一张带种子的平纹贴图）最后以正片叠底叠上去，在薄薄的铺底和空隙里露出来。

**笔触。** 短小、分开、不透明的点戳（`brush` 种类 0）。它们的颜色是从一个解析色场（`field(u, v)`：把母题表示为平滑的颜色、区域、笔触方向和点戳大小）里**采样**来的，然后被打破：色相 +-0.03，明度 +-0.07，饱和度提高。补色点缀按规则放进去，从不均匀撒开：橙色/玫瑰色放进蓝色阴影，紫罗兰/丁香紫放进金色。方向顺着面走：水面平而长，天空富于变化（一小块一小块地往右上、往右下或水平排，沿着云带躺下，绕着太阳转过一部分），城镇低而平，船身顺着船身，人物直立。桅杆、桨、定位线：用勾线笔（rigger）一拉而成（种类 1）。铺底：一道薄薄擦上去的、鬃毛彼此分开的笔触（种类 2）。

**边缘。** 任何地方都没有轮廓线。一个形体在它的点戳停下的地方结束。船是映在亮点戳上的暗点戳；边缘只在向阳的边沿上找得到，在别处都消失在雾霭里。太阳也是点戳：奶黄色的核心横七竖八地铺，周围一圈橙色，橙色和粉色打破它的边缘，化入光晕。画成一个干净的圆，就是没过手艺及格线。

**笔触顺序。** (1) 薄薄的暖色底色（imprimatura），擦上去，方向交替；(2) 用稀释的群青定位；(3) 用大点戳铺大色块，颜色取一大片邻域的**平均**（船用它们自己的暗色铺出来）；(4) 各处的破色点戳，从天空到水面，沿一个平滑的顺序场推进（永远不要逐格随机：那会留下竖直的接缝）；(5) 船、桅杆、城镇、太阳沿各自的形体重新强调；(6) 点缀；(7) 倒影画成水平的色条，先画太阳的光路，再画船；(8) 桨和浪尖上最后的闪光。

**调色板。** 高调。铅白、镉橙和镉红、铬黄、玫瑰茜红、钴紫、群青、翠绿（viridian）。没有黑色：最暗的暗部是群青 + 玫瑰色。

**光。** 一个低低的太阳在主体后面；逆光剪影，向阳一侧带暖色边光；倒影**向下**拉长并碎成色条（每一道涟漪映出的是另一片天空）。

**不是它的邻居。** 不是铅笔水彩（`ranunculus`）：没有任何东西是透明的，没有线，也没有漏出轮廓的淡彩；颜色是放上去的，不是泼洒上去的。也不是那种由暗到亮塑造形体的厚涂油画样张：这里形体来自冷暖，而不是明度。

**运动语法。** 一张自己把自己画出来的静帧（`staged`）：每个点戳都沿着它的长度在 2-4 帧内拉出来，前后两笔紧接着（下一笔在上一笔结束前一帧就开始），顺序场让画面以不规则的前沿推进，永远不是逐行扫描。已完成的前缀被缓存；帧的顺序改变不了像素。

**付过学费的坑。** `smoothstep(t, 0.3t, x)` 在 t = 0 时会除以零，画出一整列通高的柱子：要防住。按小块随机决定绘制顺序，会在任意两个小块相接的地方留下竖直接缝。
