找回密码
 注册
Simdroid-非首页
查看: 191|回复: 10

[MathCAD] 也是个动画,用余弦定理画椭圆

[复制链接]
发表于 2013-3-21 23:15:52 | 显示全部楼层 |阅读模式 来自 北京房山
受到MC一个动画资料的启发,它用的是椭圆解析方程画的椭圆,速度很均匀,效果不错。我用的是余弦定理,用角度驱动画椭圆,速度也不均匀,我得摸索摸索它是怎么做到速度均匀的哈。
我这个程序也是全参数化的,可以从任意角度开始画,可以任意调整椭圆焦点长轴。总之,我感觉还可以做得更好,希望大家如果感兴趣,一块儿帮忙改进哈。

另外还有一个从椭圆内一点发出射线,在椭圆内壁上全反射,模拟光线反射的动画,我感觉难度挺大的,我也在慢慢琢磨它是怎么画出来的。

程序下载:


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

 楼主| 发表于 2013-3-21 23:25:26 | 显示全部楼层 来自 北京房山
回复 不支持

使用道具 举报

发表于 2013-3-23 17:06:23 | 显示全部楼层 来自 河北廊坊
我也做了个小动画,像朱老剑客致敬:http://v.youku.com/v_show/id_XNTMxMjAyMzU2.html
回复 不支持

使用道具 举报

发表于 2013-3-24 22:47:50 | 显示全部楼层 来自 北京



第一次做动画,思路不是太清楚,做的有点儿复杂!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-3-24 18:27:16 | 显示全部楼层 来自 北京房山
是使用符干图,然后FRAME放在值域的分母上了?
回复 不支持

使用道具 举报

 楼主| 发表于 2013-3-25 07:28:27 | 显示全部楼层 来自 北京
真不错!我现在琢磨着两个椭圆相切,其中一个动椭圆绕另外一个定椭圆外切转动。你要是有兴趣,先做做看?
我得等有时间了才能试着做。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-3-30 19:15:09 | 显示全部楼层 来自 北京房山
本帖最后由 朱老剑客 于 2013-3-30 19:15 编辑

我终于做到了匀速画椭圆!特么特别麻烦!我把工作表上传过来,看看各位有什么高招。在做这个匀速椭圆的过程中,我还找到了一个新的求椭圆周长的公式,跟课本儿上的不一样哈!

这个工作表的后半部分我给隐藏到区域里了,是在做匀速椭圆的过程中看到的一些有意思的图象,我用了禁用计算,免得拖延工作表的速度。看图像,右键点击区域之后,选择“启用计算”即可。

动画FRAME值200。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-3-30 19:23:13 | 显示全部楼层 来自 北京房山
本帖最后由 朱老剑客 于 2013-3-31 03:00 编辑

我觉得我这里最精彩的一部分是把root函数放进了程序块,这是受到了zpz老师在Mathcad吧里的一个回帖的启发。其中同上下限的积分上限寻优是我这次最满意的作品。

视频地址:http://v.youku.com/v_show/id_XNTM1MTQ3Nzgw.html

另外两个是椭圆与切线的关系,嗯,在做“两相切椭圆的动画”过程中收获还是不少的哈,可是两椭圆的相切仍旧没有成形呢

视频地址:http://v.youku.com/v_show/id_XNTM1MzQzNTYw.html
     http://v.youku.com/v_show/id_XNTM1MzQ0ODg4.html

源文件:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-4-4 02:32:27 | 显示全部楼层 来自 北京房山
本帖最后由 朱老剑客 于 2013-4-4 02:33 编辑

继续汇报相切椭圆动画的研究进展,椭圆的切线转动,第一个比较容易,第二个非常难的,我找了4天才筛选出可以精确无误且可以适应任何参数的动画方程。第三个是对相切椭圆动画的初步尝试,镜像相切。




下一步我准备做椭圆的切线行走,等把这个难题攻克了吧,相切椭圆的计划基本上就没有难题了。

视频地址:
http://v.youku.com/v_show/id_XNTM3NTAzNzUy.html
http://v.youku.com/v_show/id_XNTM3NTA0OTcy.html
http://v.youku.com/v_show/id_XNTM3NTAzMDUy.html

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

 楼主| 发表于 2013-4-9 23:17:18 | 显示全部楼层 来自 北京房山
让大家失望了,我栽在“任意性”上了,在计算垂直情况时,MC15的数值计算精度不能做到精确估值,而在程序块里又不能进行符号运算,还有就是用几何方法(我太感到自己的几何知识有限了)绕不过这个垂直瞬态。斜率换算的方法倒是可以使用,但局限很大,而且使相切计算的转动角度计算变得太绕脑筋了,如果通篇都是if语句,那么不同象限不同转动方向不同斜率都要if,我觉得就没意思了。工作表太长,大量编程求解,最后还是不成功,不上传了,对不起哈。

如果谁有兴趣,我希望各位自己试试看,“任意两个椭圆相外切,动椭圆围绕另一个动椭圆匀速转动,即单位时间切过的椭圆边长是恒定的。”如果是圆,真是太简单了,涉及到了椭圆,就有转动角和相角。两椭圆的焦点值、中心值、初始倾角和相角都是任意的。麻烦就在这个“任意性”上,我还希望任意长的FRAME值下都可以无错动画。

我用工作站做了任意斜线下的椭圆切线行走,差不多1帧计算2秒,但没调试成功,就是我说的计算精度限制了。任意圆和任意椭圆的相切程序也有了构架,但都会遇到特定的垂直情况,所以计算精度问题不解决,之后的构架也是空想了。嗯,倒霉就倒霉在“任意”上了。如果能够找到符号运算的方法,我觉得这个问题差不多就搞定了呢,哎。

不知道用maple或者mathematica能不能做出来,估计也悬,MC的一些灵活优势在这次实验中起到了大作用了。

摸索椭圆相切的这段时间我找到了几个MC特有的解决问题的技巧,多少有些收获吧。整个摸索过程挺有意思的,就是特累人。若有人拿这个题目做一个毕业设计,说不定能打动很多数学老师,嗯,终归这个动画在国内国外的论坛里都还没有人做过呢么。
回复 不支持

使用道具 举报

 楼主| 发表于 2013-4-15 23:44:39 | 显示全部楼层 来自 北京
……,耿耿于怀,这几天开始对椭圆切线进行各种数值解析,求出了定切点情况下的椭圆旋转即时转角的方程,以及切线间夹角随相角变化的方程,然后把这两个方程都试着放进了动画,后者是正确的驱动参数,前者则是定椭圆情况下的精确解,两个方程及数值解竟然不同!这才是有意思的所在。然后我把研究成果归结为四个关键参数,做了一个动画,其中那个三角形点符号的是正解,没想到特别好看,上传上来,大家过过眼

视频地址:http://v.youku.com/v_show/id_XNTQzNDAyNDAw.html

仍有不少问题要解决。我从网上查找了不少关于椭圆切线的论文,没找到我想要的。在MC里,做完全的数值分析我感觉是华山仅此一条路吧。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 22:08 , Processed in 0.037862 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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