如何计算三维空间中点P的位置?

时间:2017-02-06 03:17:08

标签: math vector 3d geometry

如下图所示,给定点O,A,B和α,如何在3D空间中得到点P的位置?

先谢谢! enter image description here

1 个答案:

答案 0 :(得分:1)

让我们的向量

b = B - O
a = A - O
p = P - O

似乎最简单的方法是在向量​​b和a之间使用SLERP interpolation。 首先在矢量b和a之间找到角度Omega(例如,通过点积),然后应用SLERP

p = Sin(Omega - Alpha) * b / Sin(Omega) + Sin(Alpha) * a / Sin(Omega)

替代方式 - 您可以找到旋转轴矢量(垂直于圆平面)

k = b x a //vector product
k = k.Normalized  //unit vector

然后使用Rodrigues' rotation formula获取p=P-O向量