垂直于向量上一点的向量



我正在使用一个模型,在这个模型中,我必须在连接这些点的直线上的点p3处计算垂直于p1和p2 (3d)的向量。

排列会像这样p1--------p3---------p2。有时p3可能与p1或p2重合。

我知道如何计算一个垂直向量到向量p1-p2一般使用点积和决定比率。但是如何使它通过这个点p3呢?

我将在几何着色器中计算。

!

有什么想法吗?div ?

有几个误区:

  • 矢量没有位置:垂直矢量不在空间中,它只是一个方向

  • 要确定法向量,通常的方法是使用叉乘,而不是点乘(尽管你仍然可以用一些代数方法来处理点乘,比如生成一个随机向量并去除它的切分量)

  • 你可能想要创建一条从p3出发并垂直于p2-p1的线段:在这种情况下,既然你提到你已经能够生成一个法向量(我们称之为V),那么绘制这样一条线将包括在p3处放置一个顶点和在p3+a*V处放置另一个顶点,其中"a"是决定线段长度的任意正值

WhitAngl是正确的。向量也是不受约束的。有一个平面P经过点p3(垂直于p1->p2), P中包含的任何向量都满足条件。如果特定的向量不重要,我使用以下技术:

  • 从x轴向量(1,0,0)开始
  • 投影到平面P
  • 如果投影长度为零,则选择y轴矢量(0,1,0)并重试,或选择z轴矢量并再次尝试

p的平面方程可以直接由p1和p2导出(||p2-p1||是平面的法线,然后用p3作为p的定义点)。

最新更新