加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 01:46:59 所属栏目:百科 来源:网络整理
导读:我有一个角度A和一个目标角度B. 角度范围是-180到180 我希望角度A朝向角度B移动X度 我面临的问题是如果A是170并且B是-170,那么增加到180并且跳到-180显然会更快,但是在比较角度时我总是得到负X.因此,不是采取最快的方式,它将采取最长的方式. 我希望有人能理
我有一个角度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的范围,则可以更轻松地计算差异.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读