世界空间到相机空间

Fre*_*ddy 7 math 3d matrix

我对如何将世界空间坐标转换为相机坐标感到困惑.

我目前的理解是我需要计算相机空间矢量在哪里

n =眼点 - 看

u =向上(0,1,0)X n(标准化)

v = n X u

一旦我有<U,V,N>,我会简单地将每个点乘以?

Dir*_*irk 5

假设:

  • 眼睛位置E =(e_x,e_y,e_z),
  • 观看方向D =(d_x,d_y,d_z)
  • Up-VectorUP =(up_x,up_y,up_z)

现在首先构造一个正交框架:

  • R = DX向上
  • U = RXD
  • 现在将D,R,U归一化,您将获得相机的正交框架(D,R,U)

为了将全局坐标系转换为凸轮坐标系,您可以应用以下矩阵M_R

  • | R_x,R_y,R_z,0 |
  • | U_x,U_y,U_z,0 |
  • | -D_x,-D_y,-D_z,0 |
  • | 0.0、0.0、0.0、1.0 |

如果您的凸轮不在全球原点,则还必须应用平移M_T

  • | 1,0,0,-e_x |
  • | 0、1、0,-e_y |
  • | 0,0,1,-e_z |
  • | 0,0,0,1 |

最后,从全局坐标到凸轮坐标的完整转换矩阵为:

  • M = M_R * M_T
  • | R_x,R_y,R_z(R点-E)|
  • | U_x,U_y,U_z(U点-E)|
  • | -D_x,-D_y,-D_z,(D点E)|
  • | 0.0、0.0、0.0、1.0 |