万花尺原理,万花尺的使用方法


万花尺原理,万花尺的使用方法

文章插图
万花尺的介绍:
万花尺原理,万花尺的使用方法

文章插图
万花尺,约流行于上个世纪末的80-90年代,万花尺由母尺和子尺两部分组成
【万花尺原理,万花尺的使用方法】万花尺原理是什么?:
万花尺原理,万花尺的使用方法

文章插图
1.基本原理
万花尺的基本原理是一个齿轮与另一个固定齿轮啮合,把笔尖放在动齿轮上的小孔里,齿轮运动时笔划过的轨迹可以形成美丽的曲线 。
程序运行的原理也类似:让动齿轮每次滚过一个小的角度,计算小孔的坐标位置,然后记录下来 。把所有记录下来的点坐标连缀成一条Bezier曲线就行了 。
在这个插件中,固定齿轮、动齿轮、动齿轮上的小孔都是用户自己画的,当然,不用把一个个齿都画出来,用一个大圆代替固定齿轮、用一个小圆代替动齿轮就行了,程序可以保证两者准确啮合 。
上图是一个滚轮沿着一个圆滚动,滚轮中小孔的运动轨迹产生的两条曲线,其中红线是滚轮在圆外滚动,蓝线是滚轮在圆内滚动 。为了方便理解,把不同位置上的滚轮都画了出来,可以清晰地看到小孔的运动轨迹 。
2.使用说明
下图是插件界面,已经尽可能的简单了 。
除了右下角的广告,这个插件总共有一个参数和四个按钮 。

Select Path按钮要求用户先选择一个圆作为固定不动的大齿轮,即path 。其实选任何曲线都可以,不一定是圆,甚至也可以选一条不封闭的曲线,这就是数字技术的优势了 。
先选曲线,再点击Select Path,程序会“记住”用户选择图形 。如果点按钮时忘了选曲线,程序会给出提醒 。
Select Roller的功能类似,用来选择“滚轮”,就是万花尺里的动齿轮 。
对所选的滚轮有几个要求:
1)必须是群组,把滚轮外圈和笔孔组合在一起作为一个对象来选中;
2)群组中最大的一个被当做外圈,其他物体统统当做笔孔;
3)滚轮外圈必须是圆的,否则程序会提示错误然后退出;除滚轮外圈外的其他物体可以不是圆的,它们的中心坐标提供了画曲线所需的控制点,它们的形状则不重要,可以是任意形态 。
Rounds参数指示滚轮滚多少圈,默认是一圈,这个数字可以不是整数 。
Select Path和Select Roller两个按钮都执行完后,下面的两个按钮才变得可用 。
Roller Rounding按钮用于对滚子进行小幅缩放,使path的长度正好是滚子周长的整数倍,这样滚子在path上滚完后笔孔可以回到原位,笔孔扫过的轨迹可以形成一条封闭曲线 。如果Rounds参数不是1,则不要点这个按钮,否则滚轮滚过的每一圈产生的曲线都是相同的,重叠在一起 。玩过万花尺的人可能会注意到,大齿轮的齿数通常不会是滚轮齿数的整数倍,两个齿数一般是互质的,这样可以滚出很复杂的花纹出来 。
Go!按钮是执行按钮,按下后开始制作花纹 。
3.单曲线
先来看看最简单的path和最简单的滚轮合作的结果 。
上图左path右滚轮,滚轮大小圆整过,Rounds=1 。得到的是一个五瓣梅花的形状 。如果滚轮没有圆整,将得到一个不封闭的图形 。
右图看起来很丑,不过把圈数加大就好看了,下图是Rounds=30的效果 。
改变path大圆的直径,花纹会发生有趣的变化 。以下几个图是path直径依次缩小的效果 。
下面三个花纹来得不容易,滚轮与path长度的比例关系要求十分精确,只在一个很小的范围内才能做出这个效果 。
上面几个图画出来的曲线都在path大圆的外面,也就是说,滚轮是在大圆外面滚 。如果把path曲线的方向反过来,滚轮就会在里面滚 。曲线反向可以进入曲线编辑状态右击曲线选择反向实现,如下图所示:
以下是path大圆逐渐放大的执行效果 。
滚轮中的笔孔也可以设置在滚轮外面,如下图所示 。实物万花尺这么做可是有点困难 。
能产生什么效果可以自己试试看 。
4.多曲线
如果需要同时画多条曲线,只要在滚轮上多画几个笔孔即可 。程序准备了几个做好的滚轮,主要区别是上面笔孔的排列方式 。
程序执行时,滚轮上的每一个笔孔都会画出一条单独的曲线 。下面5个图依次是上述5个滚轮在椭圆path上产生的曲线组,Rounds=1 。因为有多条曲线,就用不同的色彩标识出来以示区别,上面那些曲线虽然很复杂,但都只有一条 。
第一个和第三个看起来很像,但又略有区别,比较一下笔孔和滚轮外圈的位置关系对曲线形态的影响 。

推荐阅读