2017-07-09 16 views
-1

initial image 在最初的图像上,可以看到两个三角形向上。在多大程度上,我必须旋转他们,因此他们会指向对方?我如何计算角度?如何旋转两个物体,因此它们将在2D平面上彼此指向?

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

enter image description here

+0

这个问题不是关于编程,而是关于数学。 – Eduardo

+0

爱德华多,我应该发布到不同的地方? – sergey136

+0

问题是基本的三角。尝试https://math.stackexchange.com/ – Eduardo

回答

1

你正在服用的错误向量的点积。您应该将每个对象的方向用位移矢量指向另一个对象。这将提供所需的旋转角度。 enter image description here 但是这仅仅是不够的 - 你怎么知道哪个方向要顺时针或逆时针旋转?您可以使用跨产品获得此:

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

如果这个量为负,则A相对于B逆时针方向,反之亦然。因此,如果cross(direction, displacement)为负数,则按计算角度θ顺时针旋转,反之亦然。