Board logo

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

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

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

附件: 滚动的椭圆.gsp (2010-5-15 08:54, 15.62 KB) / 下载次数 3792
http://forums.netpad.net.cn/attachment.php?aid=4363&k=5ccf0e51eec0e734e88a320a2217e775&t=1765254948&sid=7xYCJ3

附件: 滚动的椭圆(优化).gsp (2010-5-16 14:58, 14.07 KB) / 下载次数 3801
http://forums.netpad.net.cn/attachment.php?aid=4420&k=bc1785d2b271ea60e19b51b9caaedeb7&t=1765254948&sid=7xYCJ3

附件: 滚动的椭圆(最终版).gsp (2010-5-16 18:25, 14.29 KB) / 下载次数 3843
http://forums.netpad.net.cn/attachment.php?aid=4426&k=64a4b77365647439f0724982a82d6588&t=1765254948&sid=7xYCJ3
作者: 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) / 下载次数 3620
http://forums.netpad.net.cn/attachment.php?aid=4419&k=884305903fd6e66cec35f035db3944cd&t=1765254948&sid=7xYCJ3
作者: xyj200909    时间: 2010-5-16 18:24

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

附件: 滚动的椭圆(最终版).gsp (2010-5-16 18:24, 14.29 KB) / 下载次数 3740
http://forums.netpad.net.cn/attachment.php?aid=4425&k=a83a9340e52cc574352d94dd234aeceb&t=1765254948&sid=7xYCJ3




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