在世界坐标系中,存在旋转值rx1,ry1,rz1和位置值px1,py1,pz1的对象。
同样,在世界坐标系中有一个相机,其旋转值为rx2,ry2,rz2,位置值为px2,py2,pz2。
用什么公式可以将rx1,ry1,rz1,px1,py1,pz1转换成摄像机坐标系?
相机的向上矢量是Y轴,总是指向接近世界原点的物体。
相机和模型应该在以下gif图像所示的范围内移动。

我想用Python来计算,但是任何答案,包括数学陈述,都是受欢迎的。
发布于 2023-01-07 13:48:55
通常,\vec{rx1},\vec{ry1},\vec{rz1}值本身就是向量。每个(x,y,z,w)都要特别注意w值。职位值也有(x,y,z,w)值。向量的w值为0,位置为1。它们一起构成一个仿射变换,它是一个4x4矩阵。
听起来你已经有了摄像机矩阵,有时被称为视图矩阵。设置后,一般将物体从世界空间转换为摄像机空间。仿射变换是可逆的,一旦反转,它们就向相反的方向变换。例如,从世界空间到摄像机空间的4x4仿射变换矩阵可以倒置到从摄像机空间到世界空间的转换。
因此,转换公式很简单:
worldtocamera = inverse(cameratoworld)而且,这种转换很好地概括了。例如,从模型到世界,结合世界到摄像机的转变是:
modeltocamera = modeltoworld * worldtocamera相反的情况也很简单:
cameratomodel = inverse(modeltocamera)https://computergraphics.stackexchange.com/questions/13193
复制相似问题