计算垂直于由两个矢量生成的平面的3D矢量

non*_*meN 3 math 3d geometry

我是处理3D的新手,即使是简单的东西让我头晕目眩.对不起新手问题.

让我们说我有2个向量:

a(2,5,1)
b(1,-1,3)
Run Code Online (Sandbox Code Playgroud)

这些矢量"生成"一个平面.如何获得垂直于ab的第三个向量?

我可以使用向量c(A,B)在2D中将其转换为c'( - B,A).

谢谢您的帮助.

moo*_*dow 14

使用交叉产品.

也就是说,垂直于ab由其给出的向量( a.y*b.z - a.z*b.y, a.z*b.x - a.x*b.z, a.x*b.y - a.y*b.x).


Ara*_*raK 7

您可以使用这两个向量的交叉乘法来获得它们生成的平面的第三个垂直向量:

P = A * B
Run Code Online (Sandbox Code Playgroud)

这是:

<xp, yp, zp> = |i   j   k |
               |xa  ya  za| // The determinant
               |xb  yb  zb|
Run Code Online (Sandbox Code Playgroud)

所有你需要做的就是解决这个决定因素或者只是在维基百科中查找:)