我在原点有一个物体,正在将相机移动到(0,650,650)并将焦点设置为原点,即:
vtkSmartPointer<vtkCamera> cam = vtkSmartPointer<vtkCamera>::New();
renderer->SetActiveCamera(cam);
cam->SetFocalPoint(0., 0., 0.);
cam->SetPosition(0., 650, 650);
cam->SetViewAngle(view_angle_);
cam->SetViewUp(0., 1., 0.);
但是,当我通过以下方式获得相机的视图变换矩阵时:
vtkSmartPointer<vtkMatrix4x4> transform_view = cam->GetViewTransformMatrix();
打印出来我得到以下信息:
| 1 | 0 | 0 | 0 |
| 0 | cos(45) | -sin(45)| 0 |
| 0 | sin(45) | cos(45) | -919.239 |
| 0 | 0 | 0 | 1 |
旋转部分似乎正确(围绕 x 轴 45 度)但平移似乎完全错误。最后一列不应该是:
| 0 |
|650|
|650|
还是我做错了什么?