我已经翻阅了一些关于stackoverflow的弹跳相关问题,但是他们中没有一个似乎让我超越了我的困境。我有一个由与3D空间中的一条线相交的变换矩阵定义的乌龟游标。我想要的是旋转光标,即转换矩阵,在相交点处,以便它的新方向与反射向量匹配。我的功能将同时得到来自入射矢量V
的反射矢量R
以及反射线N
的法线。我之前评估每一个正常化:旋转变换矩阵以匹配反射向量
N,V=unit_vector(N),unit_vector(V)
R = -2*(np.dot(V,N))*N - V
R=unit_vector(R)
我的转换矩阵,T
处于numpy的数组:
array([[ -0.84923515, -0.6 , 0. , 3.65341878],
[ 0.52801483, -0.84923515, 0. , 25.12882224],
[ 0. , 0. , 1. , 0. ],
[ 0. , 0. , 0. , 1. ]])
我怎样才能变换矩阵T由R以获得正确的方向向量?我发现并使用here中的R2_vect函数从一个向量获取旋转矩阵,但是当我将它们发送到vtk进行渲染时,只有少数产生的反射显示正确。我在这里问这个问题是因为我似乎已经达到了我已经可以从我已经不稳定的线性代数中记住的极限。感谢您的任何信息。
“我有一个矢量由与三维空间中的另一个矢量相交的变换矩阵定义” - 这是没有意义的。请清楚解释转换矩阵的作用。 –
我不确定,矩阵是4x4,3d空间中的矢量可能有3个维度。我没有看到OP的含义 – gg349
@flebool在图形编程转换中有时会写入4个组件,并在x,y,z坐标上添加一个额外的“1”,这样翻译可以包含在单独的添加中。 –