我想弄清楚3D立方体为什么不在图像中的正确位置投影。
我从相机的原点开始,多维数据集以(0,0,1)
:
然后我围绕Y轴创建一个45度的3D旋转R
:
(0.707106781, 0, 0.707106781,
0, 1, 0,
-0.707106781, 0, 0.707106781)
我将相机设置为使用旋转R^-1
,翻译为R * (0,0,1)
(这些是相机进行世界变换)。相机应该在立方体周围旋转45度CCW(我可以确认我在x和z上有0.707106781
平移。
此时,我希望看到具有相同比例的立方体,仍然居中,并且其中一条边正好位于图像的中间。但这就是我得到的:
我用来投影3d点X
的过程是(伪代码):
Xc = R^-1 * X - R^1 * translation
x = Xc * focal length / Xc.z + principal point
我从各种来源读过这个理论,似乎我遵守规则。
这只是人工数据,所以不确定焦距和主点是否会对它产生影响?我究竟做错了什么?为什么立方体不居中?