根据方向向量计算角度

时间:2018-07-11 12:35:09

标签: vector geometry direction

我有这样的方向矢量(0.000000,0.707107,0.707107),我想将此矢量转换为X,Y和Z方向平面与方向矢量(0.45度,45度)之间的角度。请提供数学方程式或VBA函数以获取角度。

check this Image for Angle Measurement

1 个答案:

答案 0 :(得分:-1)

要获取向量D = (dx, dy, dz)与坐标平面之间的角度,可以使用向量的标量积及其在相应平面上的投影。

例如,要在OYZ平面上投影,只需将x分量设为零即可。

P(0yz) = (0, dy, dz)
S = D.dot.P = 0 + dy * dy + dz * dz
Fi(D, 0yz) = ArcCosine(S / (length(P) * length(D))  = 
   ArcCosine((dy*dy + dz*dz) / Sqrt((dx*dx + dy*dy + dz*dz)*(dy*dy + dz*dz)))= 
   ArcCosine(Sqrt((dy*dy + dz*dz) /(dx*dx + dy*dy + dz*dz))))= 
   ArcCosine(length(P) / length(D))

您可以为OXY和OXZ平面建立相似的公式