Board logo

标题: 再作滚动的椭圆 [打印本页]

作者: xyj200909    时间: 2010-5-14 22:56     标题: 再作滚动的椭圆

上次做的滚椭圆,zhchgao老师提出不是正在的滚椭圆,后来想了想,应该借助椭圆弧长,才可做出正在意义上的滚动,但椭圆弧长不好求,故采用了近似迭代的方法求弧长,不知老师们还有没有别的方法
(只让椭圆滚了一个圈,如果想让椭圆一直滚下去,只需将旋转角改为直线控制,再调整迭代参数、切点的坐标和弧长的表达式即可)

附件: 滚动的椭圆.gsp (2010-5-15 08:54, 15.62 KB) / 下载次数 3501
http://www.inrm3d.cn/attachment.php?aid=4363&k=bcc1981ada1216d00cb024fefba32054&t=1730415044&sid=64M6Mu

附件: 滚动的椭圆(优化).gsp (2010-5-16 14:58, 14.07 KB) / 下载次数 3537
http://www.inrm3d.cn/attachment.php?aid=4420&k=d0841fb0f801aadae57d12d70f780d49&t=1730415044&sid=64M6Mu

附件: 滚动的椭圆(最终版).gsp (2010-5-16 18:25, 14.29 KB) / 下载次数 3572
http://www.inrm3d.cn/attachment.php?aid=4426&k=d7cac38d46fc9f4fdb809adac3155d55&t=1730415044&sid=64M6Mu
作者: changxde    时间: 2010-5-14 23:22

利用迭代求弧长,和我想的一样,但比我做的好。
作者: xyj200909    时间: 2010-5-14 23:25

,看了你的图,很简洁,为什么运行慢呢?
作者: zhchgao    时间: 2010-5-15 07:59

这个是了,真正的滚动。
作者: inRm    时间: 2010-5-15 10:54

大可优化...
作者: xyj200909    时间: 2010-5-16 11:30

优化了一下:
将旋转角改为直线控制,可以滚动多圈,提高了椭圆弧长的精确度,并可自由设置精度(如果发现椭圆在滚动过程中有晃动现象,可提高精度,这点在椭圆离心率很大时尤其重要!)

附件: 滚动的椭圆.gsp (2010-5-16 14:52, 14.07 KB) / 下载次数 3335
http://www.inrm3d.cn/attachment.php?aid=4419&k=06fd64ca814896701e6e60b82c0499e7&t=1730415044&sid=64M6Mu
作者: xyj200909    时间: 2010-5-16 18:24

上面的优化,仅对a为长轴时比较精确,若b为长轴,当离心率大时,将不稳定,于是修改了参数n,从而适合一般情况。

附件: 滚动的椭圆(最终版).gsp (2010-5-16 18:24, 14.29 KB) / 下载次数 3472
http://www.inrm3d.cn/attachment.php?aid=4425&k=e7afd85f43a6aa1154416057f7ed9c75&t=1730415044&sid=64M6Mu




欢迎光临 inRm3D: 画板论坛 (http://www.inrm3d.cn/) Powered by Discuz! 7.0.0