我有一个3D矢量和一个3D面法线。如何使用Python(使用或不使用NumPy)沿给定面法线移动该向量?
理想情况下,我会使用面法线与x
和y
构建一个矩阵,然后将其乘以原始向量或类似的东西,但我不知道如何构建它。《线性代数》问世已经有一段时间了。
编辑:
谢谢你指出我的问题太宽泛了。
我的目标是得到一个新的点,即x
和y
单位远离原始点,沿其法线定义的面。
例如:如果点为(0,0,0)
,法线为(0, 0, 1)
,则结果为(x, y, 0)
。
示例2:如果点为(1, 0, 0)
,法线为(0, 1, 0)
,则结果为(1+x, 0, y)
。
我需要对任何point
、normal
、x
和y
进行外推。
2条答案
按热度按时间lf5gs5x21#
vector
到由其normal
定义的平面的The projection为:这大概意味着你想要这样的东西:
f5emj3cl2#
仿射空间(您的法线)和欧几里得/线性空间(您的顶点)之间存在差异。
线性空间中的矢量具有关联的坐标,而仿射空间中的矢量没有关联的坐标。
将仿射间隔向量与线性间隔向量相加称为投影,这就是您要做的事情。