Java 如何旋转两个对象,使它们在二维平面中相互指向?

Java 如何旋转两个对象,使它们在二维平面中相互指向?,java,math,libgdx,trigonometry,Java,Math,Libgdx,Trigonometry,在初始图像上,可以看到两个向上的三角形。我必须把它们旋转多少度,这样它们才能互相指向对方?如何计算角度 计算点积只给出三角形之间的角度差,但它不是正确的旋转值 您使用了错误向量的点积。您应该将每个对象的方向与另一个对象的位移向量点在一起。这将提供所需的旋转角度。 但单靠这一点是不够的——你怎么知道旋转的方向是顺时针还是逆时针?您可以使用叉积来获得: A x B=A.x*B.y-B.x*A.y 如果该数量为负数,则A相对于B为逆时针方向,反之亦然。因此,如果交叉(方向、位移)为负,则顺时针旋转计算

在初始图像上,可以看到两个向上的三角形。我必须把它们旋转多少度,这样它们才能互相指向对方?如何计算角度

计算点积只给出三角形之间的角度差,但它不是正确的旋转值


您使用了错误向量的点积。您应该将每个对象的方向与另一个对象的位移向量点在一起。这将提供所需的旋转角度。 但单靠这一点是不够的——你怎么知道旋转的方向是顺时针还是逆时针?您可以使用叉积来获得:

A x B=A.x*B.y-B.x*A.y


如果该数量为负数,则
A
相对于
B
为逆时针方向,反之亦然。因此,如果交叉(方向、位移)为负,则顺时针旋转计算出的角度
θ
,反之亦然。

这个问题不是关于编程,而是关于数学。爱德华多,我是否应该发布到另一个地方?问题是基本三角学。尝试