找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 2945|回复: 1

[原创] 参数动画实现圆与封闭曲线纯滚动

[复制链接]

115

主题

144

回帖

1万

积分

大校

积分
16435
发表于 2020-5-21 09:08:54 | 显示全部楼层 |阅读模式
上一篇的行星轮机构,即圆与圆纯滚动,可以看成是圆与封闭曲线纯滚动的特例,在参数动画中要实现圆与封闭曲线的纯滚动,上一篇的方法就行不通了,需要采用其它的方式。

新建一草图,用样条曲线绘制任意封闭曲线,再新建一个草图,绘制一个与该圆相切的圆,圆上有两半径线段,其中一个垂直于封闭曲线,即圆和任意封闭曲线的公法线。另一个半径线段作为圆的起始位置标记。如图1所示。

因为样条曲线没有完全约束,为避免两曲线约束对样条曲线的影响,所以圆与封闭曲线分别进行绘制。另外为了动图演示效果,即圆自转3圈可回到起始点,所以人为调整封闭曲线的长度为圆周长的3倍(实际尺寸约为3倍),圆直径为20。

圆与封闭曲线1.gif
图1 绘制封闭曲线和圆

参数动画下面要实现圆沿着封闭曲线匀速运动,可借助沿曲线阵列工具,按曲线弧长阵列一个实例,并用含FrameNumber的表达式控制该弧长,即可实现圆在曲线上的匀速运动。

具体操作,建立如下表达式:
FrameNumber=0
FN=FrameNumber
D=20

建模模块下,菜单 - 插入 - 关联复制 - 阵列几何特征,间距栏选:数量和跨距,数量为2,位置为弧长,跨距为D * pi()/72*FN,即每72帧,阵列的弧长跨距为一个圆的周长。

菜单 - 视图 - 可视化 - 创建动画,添加关键帧,步数216,勾选更新表达式,预览动画,如图2所示。
圆与封闭曲线2.gif
图2 圆在封闭曲线上匀速运动

从图2可以看出,圆在该封闭曲线上纯滑动,即在任意位置公法线都垂直于封闭曲线,要实现圆的纯滚动,即让圆上面的起始半径线段也对应的移动等弧长位置即可。可采用上一篇的尺寸控制方法,通过FrameNumber表达式,控制起始半径线段于公法线的夹角。

添加表达式:A=FN*5,即圆每转5度为一帧,圆自转一周为72帧,与曲线阵列的弧长同步。编辑圆的草图,并将表达式A添加到角度尺寸中,如图3所示。
圆与封闭曲线3.gif
图3 添加表达式A到圆曲线起始半径与公法线半径角度值中

隐藏圆的曲线草图,和阵列后的公法线曲线,再次预览动画,即得到圆在封闭曲线上纯滚动的参数动画,如图2所示。
封闭曲线与圆纯滚动参数动画.gif
图4 圆在封闭曲线上纯滚动参数动画


源文件链接: 封闭曲线与圆纯滚动参数动画.rar (33.83 KB, 下载次数: 25)

评分

参与人数 1G币 +20 收起 理由
优姬暗埃克斯 + 20 原创加分!

查看全部评分

31

主题

752

回帖

2245

积分

少尉

积分
2245
发表于 2020-6-8 13:17:53 | 显示全部楼层
感谢楼主分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-2-17 06:13

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表