找回密码
 点一下
查看: 2266|回复: 8

问一个关于单位面向角度的问题

[复制链接]
发表于 2009-5-4 21:11:48 | 显示全部楼层 |阅读模式
最近迷上了画曲线........

就是关于单位按玫瑰曲线(x = Cos(a)*Sin(a), y = Sin(a)*Sin(a) 或 x = Cos(a)*Cos(a), y = Sin(a)*Cos(a) )运动时单位的面向角度应该如何设才能和轨迹同向,谢谢........

如图:

a.JPG
发表于 2009-5-4 21:23:28 | 显示全部楼层
每次移动时获取单位当前的角度然后加上变量
回复

使用道具 举报

发表于 2009-5-4 21:27:14 | 显示全部楼层
hmmm,数学计算么………………
切线斜率k应该是dy/dx=(dy/da)/(dx/da)=sin2a/cos2a=tg2a
那么角度应该就是2a吧?

hmmm以上为预测,去实践测试下
应该没什么问题,恩~~

哎哎,突然发现lz給的公式并不完全正确,重新算hmmm
方法应该就是arctg(dy/dx)这样的

对于r=cos(kθ),x=cos(kθ)cos(θ),y=cos(kθ)sin(θ)
dx=-ksin(kθ)cosθ-cos(kθ)sinθ
dy=-ksin(kθ)sinθ+cos(kθ)cosθ
面向角度应该就是arctg(dy/dx)
回复

使用道具 举报

 楼主| 发表于 2009-5-4 22:08:33 | 显示全部楼层
抱歉,猪头君,刚才没表达好。其实玫瑰曲线的方程应该为:

x = Cos(a) * mCos(k*a), y = Sin(a) * mCos(k*a) 或
x = Cos(a) * mSin(k*a), y = Sin(a) * mSin(k*a)

所以你那个公式可能没用..........

刚刚想出来的是 f = Atan2(-Sin(a) * mCos(k*a), -Cos(a) * mCos(k*a))(或第二式代入),有用,不过不知道还有没有更简单点的方法.......

a.JPG


咳,怎么我刚写好帖子猪头君你就改了,而且我们俩的想法竟然一样........
回复

使用道具 举报

发表于 2009-5-4 22:10:41 | 显示全部楼层
第一个公式的确没用,但是那个斜率的方法肯定是有效的,恩~~
刚才重新计算了下,上面也更新了下,不过没测试,现在去试了

hmmm测试成功老发现ls也更新了唉唉………………
看这个公式即使能简化其工作量恐怕也不小,还不如直接用Atan2来的方便呢~~
放个演示玩玩,好久不做都生疏了唉唉~~
rose.w3x (19 KB, 下载次数: 22)
回复

使用道具 举报

发表于 2009-5-4 23:33:19 | 显示全部楼层
hmmm,猪头君每次发言都要带上“hmmm”。
有特别意义么?
回复

使用道具 举报

发表于 2009-5-4 23:34:27 | 显示全部楼层
额,老实说,这个是受头目影响的………………
其实就是这个发声啦~~
回复

使用道具 举报

 楼主| 发表于 2009-5-4 23:53:46 | 显示全部楼层
那就这样吧……玫瑰线有意思之处在于当theda前的系数不为整数时会划出很漂亮的轨迹----某本书上的极坐标一章如是说到……
回复

使用道具 举报

发表于 2009-5-4 23:56:06 | 显示全部楼层
无理数貌似还是不封闭的………………

发现貌似把k设大一点效果就不好看了,间隔时间太短了……

于是演示更新了,把每次增加量与k挂钩,并且把创建单位放在了第一次计时器到期时,为的是不要在一开始时有一次难看的转向………………
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-25 13:52 , Processed in 0.048941 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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