Board logo

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

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

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

附件: 滚动的椭圆.gsp (2010-5-15 08:54, 15.62 KB) / 下载次数 3511
http://inrm3d.cn/attachment.php?aid=4363&k=07c36a302c49dc89bd29274c8a4f3986&t=1732460014&sid=X8zL5h

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

附件: 滚动的椭圆(最终版).gsp (2010-5-16 18:25, 14.29 KB) / 下载次数 3582
http://inrm3d.cn/attachment.php?aid=4426&k=4db3a9a0f902d1b249c772fd87405a6e&t=1732460014&sid=X8zL5h
作者: 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) / 下载次数 3346
http://inrm3d.cn/attachment.php?aid=4419&k=58eb24ce1d5e813faa60b2936b89ea67&t=1732460014&sid=X8zL5h
作者: xyj200909    时间: 2010-5-16 18:24

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

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




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