VTK笔记——空间几何变换(Transform),平移、旋转和缩放
其中注意,在进行旋转和缩放操作时,都需要先将该polydata整体平移回它的中心位置,然后再进行旋转和缩放操作,最后再将其移回到原来的位置处。
vtkSmartPointer<vtkTransform> transform = vtkSmartPointer<vtkTransform>::New();
vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New();
box->GetPolyData(polyData);
Point3D centerPoint(polyData->GetPoints()->GetPoint(14));//最后一个点是中心点,一共15个点;围绕中心轴旋转一个弧度
transform->Translate(centerPoint.x, centerPoint.y, centerPoint.z);//旋转和缩放都是围绕原点进行的,所以旋转需要先把坐标原点设置到物体中心
transform->RotateY(angle);
本文介绍了使用VTK进行空间几何变换的方法,包括平移、旋转和缩放。在执行旋转和缩放之前,需要将几何体移至中心,之后再进行操作,并在完成后恢复到原始位置。
订阅专栏 解锁全文
748

被折叠的 条评论
为什么被折叠?



