问题描述
对于我当前在 C++ -STD=11 中的实现,我需要一个 3d 立方体,我正在使用可视化工具上的以下 PCL 命令绘制该立方体。
PointCloudViewer.addCube(translation_vector,rotation_vector,width,height,depth,cube_id);
此外,我需要使用鼠标拖动和调整立方体大小等功能,其示例显示在 GIF 中。
使用鼠标 GIF 进行立方体拖动、旋转和调整大小
我目前使用的技术版本
- C++:-std=11
- PCL:1.9.0
- VTK:8.1.2
- Windows 10
任何人都可以建议如何使用上述库实现此类功能。
解决方法
我们可以通过为用户变换设置一个新矩阵来旋转立方体。相关接口为 vtkTransform::RotateWXYZ,为其设置旋转角度和旋转中心。相关帖子:To Rotate A Cone When The Rotating Center Is Not Its Center 您的拖动操作实际上是在缩放立方体。通过 vtkTransform::Scale 改变矩阵。