上一篇的行星轮机构,即圆与圆纯滚动,可以看成是圆与封闭曲线纯滚动的特例,在参数动画中要实现圆与封闭曲线的纯滚动,上一篇的方法就行不通了,需要采用其它的方式。
新建一草图,用样条曲线绘制任意封闭曲线,再新建一个草图,绘制一个与该圆相切的圆,圆上有两半径线段,其中一个垂直于封闭曲线,即圆和任意封闭曲线的公法线。另一个半径线段作为圆的起始位置标记。如图1所示。
因为样条曲线没有完全约束,为避免两曲线约束对样条曲线的影响,所以圆与封闭曲线分别进行绘制。另外为了动图演示效果,即圆自转3圈可回到起始点,所以人为调整封闭曲线的长度为圆周长的3倍(实际尺寸约为3倍),圆直径为20。
图1 绘制封闭曲线和圆
参数动画下面要实现圆沿着封闭曲线匀速运动,可借助沿曲线阵列工具,按曲线弧长阵列一个实例,并用含FrameNumber的表达式控制该弧长,即可实现圆在曲线上的匀速运动。
具体操作,建立如下表达式: FrameNumber=0 FN=FrameNumber D=20
建模模块下,菜单 - 插入 - 关联复制 - 阵列几何特征,间距栏选:数量和跨距,数量为2,位置为弧长,跨距为D * pi()/72*FN,即每72帧,阵列的弧长跨距为一个圆的周长。
菜单 - 视图 - 可视化 - 创建动画,添加关键帧,步数216,勾选更新表达式,预览动画,如图2所示。 图2 圆在封闭曲线上匀速运动
从图2可以看出,圆在该封闭曲线上纯滑动,即在任意位置公法线都垂直于封闭曲线,要实现圆的纯滚动,即让圆上面的起始半径线段也对应的移动等弧长位置即可。可采用上一篇的尺寸控制方法,通过FrameNumber表达式,控制起始半径线段于公法线的夹角。
添加表达式:A=FN*5,即圆每转5度为一帧,圆自转一周为72帧,与曲线阵列的弧长同步。编辑圆的草图,并将表达式A添加到角度尺寸中,如图3所示。 图3 添加表达式A到圆曲线起始半径与公法线半径角度值中
隐藏圆的曲线草图,和阵列后的公法线曲线,再次预览动画,即得到圆在封闭曲线上纯滚动的参数动画,如图2所示。 图4 圆在封闭曲线上纯滚动参数动画
|