微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 从角度A移动到B,找到最短的方向

我有一个角度A和一个目标角度B.

角度范围是-180到180

我希望角度A朝向角度B移动X度

我面临的问题是如果A是170并且B是-170,那么增加到180并且跳到-180显然会更快,但是在比较角度时我总是得到负X.因此,不是采取最快的方式,它将采取最长的方式.

我希望有人能理解我制定的问题:)

A = A + ((A-B) / Math.Abs(A-B)) * speed * -1;

编辑:添加代码

解决方法

计算两个角度之间的差异.如果得到的角度x大于180度,则使用该角度沿另一个方向行走:360-x.

如果使用0到360的范围,则可以更轻松地计算差异.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐