如何在一个向量上旋转另一个向量?

时间:2019-05-29 13:54:34

标签: javascript math canvas geometry

我需要将向量b(p2,p3)放在向量a(p1,p2)上 你能告诉我一些公式吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

如果需要旋转角度,则将其计算为

dAx = P1.x - P2.x
dAy = P1.y - P2.y
dBx = P3.x - P2.x
dBy = P2.y - P2y
an = atan2(dAx * dBy - dAy * dBx, dAx * dBx + dAy * dBy)

但是您的图片也许表明您只需要制作长度为P2P3但与P2P1共线的向量。在这种情况下:
-计算两个向量的长度
查找P2P1的归一化方向矢量-将其分量nad除以矢量长度
P2P3的长度乘以归一化向量的分量