【发布时间】:2011-08-30 19:55:47
【问题描述】:
我有一个角度 A 和一个目标角度 B
角度的范围是 -180 到 180
我希望角度 A 向角度 B 移动 X 度
我面临的问题是,如果 A 是 170 而 B 是 -170,显然增加到 180 并跳到 -180 会更快,但是在比较角度时我总是得到一个负 X。所以不是走最快的路,而是走最长的路。
我希望有人能理解我表述不当的问题:)
A = A + ((A-B) / Math.Abs(A-B)) * speed * -1;
编辑:添加代码
【问题讨论】:
-
请展示您目前已实现的代码,建议对已编写的内容进行更改会更容易:)
-
好的,我添加了用于移动角度 A 的公式
-
只是一点评论,因为我认为这是一些家庭作业:......你的问题是你的范围 - 如果你切换到 [0..360) 并做一些小的“模”魔法问题会容易得多:)
-
相关:如果在游戏(或其他一些图形应用程序)中使用它,您需要一个对象向另一个对象旋转,请参阅here 以获取不涉及三角学的解决方案。