01 什么是万花尺?万花尺是一种绘图玩具,由丹尼斯·费舍尔于1965年取得专利,用来描绘内旋轮线和外旋轮线曲线。一个带齿的小齿轮在固定的环内侧(或外侧)滚动,插在齿轮偏心孔中的笔随着齿轮转动画出曲线。环、齿轮与笔孔位置的相互配合,产生了使这种玩具闻名的环环相扣、星形般的花瓣图案。
02 数学原理(内旋轮线)当齿轮在环内侧滚动时,笔描绘出的内旋轮线由参数方程给出:x = (R − r)·cos θ + d·cos(((R − r)/r)·θ),y = (R − r)·sin θ − d·sin(((R − r)/r)·θ),其中 R 为环半径,r 为齿轮半径,d 为笔孔偏移,θ 为滚动角。图案在齿轮转过 r / gcd(R, r) 整圈、笔最终回到起点时闭合。
03 获得不同图案比值 R : r 决定图案有多少个花瓣(叶片)——环相对齿轮越大,花瓣越多。笔孔偏移 d 控制形状:d 较小时保持圆润、接近圆形,d 接近 r 时形成尖锐的尖点。试试让 R 和 r 取互质值(最大公约数为1),即可得到需转过许多圈才闭合、密集而多尖的星形图案。