计算一个垂直于另一个给定矢量的矢量(全部都是3D)

时间:2011-04-08 11:55:34

标签: c++ math vector computational-geometry

我有一个向量v1(假设为v1= a1,b2,c1),此v1通过了点x1,y1,z1。现在我需要第二个向量v2,它垂直于v1。假设v2正在通过第二个点x2,y2,z2

但是,我的最终目标是找到上面两行的交点。那么,你能帮我找到与另一个给定向量垂直的向量吗? PLZ任何人帮助我。

3 个答案:

答案 0 :(得分:1)

您的问题令人困惑,您想找到交叉点还是想要垂直向量?

有无限量的向量垂直于给定的向量。如果您只想要其中任何一个,请将v1向量翻转90度:v2 = (-y1, x1, z1)

对于线路交叉,考虑到(如前所述)3D空间中的2条线几乎不会相互交叉。解决方案:http://softsurfer.com/Archive/algorithm_0106/algorithm_0106.htm

Google是你的朋友。

答案 1 :(得分:0)

在3D中,任何给定矢量都有无数个垂直向量。对于任何向量方向,,没有特定的方向,你可以得到你的向量和任何其他向量的交叉乘积。

答案 2 :(得分:0)

有无限数量的向量与给定向量正交。此外,两条任意线可能不会在3D中相交。