我一直试图解决这个问题一周,并得到一个解决方案。我所拥有的是2d空间中的2个点,我需要解决的是一个旋转的是另一个。幸运的是,附图将有所帮助,我需要能够计算的是b周围的旋转值。
我发现很多东西都指向找点产品等,但我仍然在寻找那个黄金解决方案:o(
谢谢!
答案 0 :(得分:5)
Vector2 difference = pointB - pointA;
double rotationInRadians = Math.Atan2(difference.Y, difference.X);
请参阅http://msdn.microsoft.com/en-us/library/system.math.atan2.aspx以供参考。
答案 1 :(得分:0)
答案 2 :(得分:0)
我假设正东(沿着X轴,向右)是零弧度,+ x指向右边,+ y指向下。
B相对于A的方位是
angle = Arctan2 [(A_y - B_y)/(B_x - A_x)]
使用正确的函数计算正确的象限(可能是Math.Atan2
)