你如何计算位置?
How do you calculate a position?
我想知道当你知道视点(相机)的x,y,z坐标和视点的旋转(rx,ry,rz)时如何计算一个点的位置。你知道距离(例如 4)。
解决这个问题最简单的方法是指定相对于相机的点,然后应用相机的逆变换以将点放置在世界中space。
从相机的角度来看,你描述的点是
vec4(0, 0, -4, 1)
如果您的转换采用齐次矩阵格式,
M = [ R_3x3 T ]
[ 0 0 0 1 ]
然后我们可以按如下方式计算倒数 (Source):
inv(M) = [ inv(R_3x3) -inv(R_3x3) * T ]
[ 0 0 0 1 ]
现在这是我们的视图-space 到世界-space 矩阵。我们只需将此转换应用于我们的视图-space 点:
V_worldspace = M * vec4(0, 0, -4, 1)
我想知道当你知道视点(相机)的x,y,z坐标和视点的旋转(rx,ry,rz)时如何计算一个点的位置。你知道距离(例如 4)。
解决这个问题最简单的方法是指定相对于相机的点,然后应用相机的逆变换以将点放置在世界中space。
从相机的角度来看,你描述的点是
vec4(0, 0, -4, 1)
如果您的转换采用齐次矩阵格式,
M = [ R_3x3 T ]
[ 0 0 0 1 ]
然后我们可以按如下方式计算倒数 (Source):
inv(M) = [ inv(R_3x3) -inv(R_3x3) * T ]
[ 0 0 0 1 ]
现在这是我们的视图-space 到世界-space 矩阵。我们只需将此转换应用于我们的视图-space 点:
V_worldspace = M * vec4(0, 0, -4, 1)