计算两个3d向量的3d飞机

时间:2010-06-30 04:04:00

标签: math vector geometry 3d

如果我有两个向量坐标代表地球表面上的位置,其中地球的中心是(0,0,0)而向上的向量是(0,0,1); 计算沿着两个矢量(方向v2-v1)运行的3d平面的最佳方法是什么,但是返回一定数量的米(想象一下在两个矢量后面并与它们平行运行的虚拟剪裁平面)。

3 个答案:

答案 0 :(得分:0)

嗯,你做v1和v2的交叉积来得到平面的法线(如果你愿意,不要忘记标准化),那么你平面的第四个元素就是0(因为它超过了0) ,0,0)。

然后你想根据UP向量投影某个方向的平面,而不是平面的正常吗?

在这种情况下,我认为你只需得到法线和向上矢量的点积,然后将点的倒数(1 /点)乘以你想要沿向上矢量投影的单位数并设置那作为你的第四元素?

澄清一下,它创建了一个平面,其中两个矢量和地球中心是平面上的点,然后平面可以向上或向下投射一定量的向上方向。

答案 1 :(得分:0)

平面通常由法向量N描述,并且因为所有点x,y,z拟合方程Ax + By + Cz + D = 0.(A,B,C)是法向量。如果你选择D,它甚至不需要标准化(单位长度)。听起来你想要一个v1和v2平行的平面(和v2-v1)。为此,通过将其设置为v2 x v1的叉积,使N垂直于v1和v2。然后在(x,y,z)坐标中选择一个您知道平面应该穿过的点。将N和(x,y,z)插入等式并计算D.

答案 2 :(得分:0)

1-找到法向量N = V1 X V2

2 - 选择一个您想要飞机的点P0 ==> R0

3-平面中的所有其他点(P ==> R)遵循N(R-R0)= 0

See the link