【发布时间】:2015-02-02 17:50:42
【问题描述】:
我想知道当您知道视点(相机)的 x,y,z 坐标和视点的旋转(rx,ry,rz)时如何计算点的位置。而且你知道距离(例如 4)。
【问题讨论】:
我想知道当您知道视点(相机)的 x,y,z 坐标和视点的旋转(rx,ry,rz)时如何计算点的位置。而且你知道距离(例如 4)。
【问题讨论】:
解决此问题的最简单方法是指定相对于相机的点,然后应用相机的逆变换以将点放置在世界空间中。
从相机的角度来看,你描述的点是
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 ]
现在这是我们的视图空间到世界空间矩阵。我们只需将此转换应用于我们的视图空间点:
V_worldspace = M * vec4(0, 0, -4, 1)
【讨论】: