本文已参与掘金创作者训练营第三期「高产更文」赛道,详情查看:掘力计划|创作者训练营第三期正在进行,「写」出个人影响力。
栗子5 —— 齿轮
如果我们保留前面示例中的脚本,并在预设中启用 Ellipse 标尺,我们很快就会发现有一个问题:
使用这个脚本,当我们画一个封闭的圆时,没那么容易地得到对齐的齿轮的齿(或“齿轮”)。这是因为 period 参数不一定能均匀地分割圆的周长。幸运的是,有一种简单的方法可以解决这个问题!
我们还可以使用另一个预定义的距离输入变量: dn,它代表规范化距离。如果你查看脚本参考中的描述,你会看到: 椭圆: 从 0.0 开始,每一圈是 +1.0 或 -1.0 。这很好,因为这意味着我们不必自己去计算椭圆的周长! 由于波函数的周期设计为 1 ,我们可以简单地用dn乘以每次循环所需的齿的数量,并将其传递给波函数。下面是修改后的脚本:
offset = amplitude * sine(dn * teeth, thickness);
ox = x + nx * offset;
oy = y + ny * offset;
当你编译它时,period 参数将被一个新的 teeth 参数替换。将其范围设置为 [3..20] 并让 0 作为这个参数的整数部分。这将得到一个完美对齐的六齿齿轮:
您可以在 Mode 列表的 Circular Patterns 部分中找到与Ellipse 标尺搭配工作的其他脚本。
栗子6 —— 书法
下回分解
栗子7 —— 抖动线条
下回分解
栗子8 —— 城市风光
下回分解
栗子9 —— 闪电
下回分解
栗子10 —— 信号错误识别
下回分解
栗子11 —— 调试
下回分解