通过点到平面的矢量投影
Vector Projection through a point and onto a plane
我需要计算黄色星星在平面上的位置,在平面中Tangent Space。
所以首先我需要从眼睛投影一个矢量,通过粉色方块,并在平面上找到结果位置(找到黄色星星)。
一切都已切线 space。所以我知道眼睛的位置和方向,以及粉红色方块的位置,相对于平面的中心(切线space)。
由此产生的黄色星星必须在平面上。所以它相对于蓝色箭头方向的位置必须始终为零。在上图中,它相对于绿色和红色箭头的位置将具有正值。
我一直在尝试弄清楚如何使用 Vector Projection 等数学方法来做到这一点,但我似乎无法理解它。
所以相机有3d位置向量r和方向向量e。该平面由 z=0
定义,您在直线
的方程中使用
z = r_z + t * e_z = 0 } t = -r_z/e_z
坐标是
x = r_x + t * e_x
y = r_y + t * e_y
我假设所有内容都已经在 blue 沿 z 轴的所需坐标系中表示。
我需要计算黄色星星在平面上的位置,在平面中Tangent Space。
所以首先我需要从眼睛投影一个矢量,通过粉色方块,并在平面上找到结果位置(找到黄色星星)。
一切都已切线 space。所以我知道眼睛的位置和方向,以及粉红色方块的位置,相对于平面的中心(切线space)。
由此产生的黄色星星必须在平面上。所以它相对于蓝色箭头方向的位置必须始终为零。在上图中,它相对于绿色和红色箭头的位置将具有正值。
我一直在尝试弄清楚如何使用 Vector Projection 等数学方法来做到这一点,但我似乎无法理解它。
所以相机有3d位置向量r和方向向量e。该平面由 z=0
定义,您在直线
z = r_z + t * e_z = 0 } t = -r_z/e_z
坐标是
x = r_x + t * e_x
y = r_y + t * e_y
我假设所有内容都已经在 blue 沿 z 轴的所需坐标系中表示。