VTK交流 三维建模
以vtk建立单独模型和交互操作为基础,实现vtk构建三维场景及模型编辑为目标,构建一个vtk学习的平台
rexinx
技术男已一枚,如果可以交朋友,请看 自我介绍的帖子吧: https://blog.csdn.net/weixin_40523119/article/details/120650709
展开
-
(06)vtk修改默认鼠标操作,实现鼠标按键控制模型旋转
前言通过鼠标的左右键按键,实现模型的旋转操作(在一个平面内)方法继承vtkInteractorStyleTrackballCamera类,重写鼠标左右键操作,完成特定功能class MouseInteractorHighLightActor222 : public vtkInteractorStyleTrackballCamera{public: static MouseInteractorHighLightActor222* New(); vtkTypeMacro(MouseIn原创 2021-10-08 13:56:04 · 1536 阅读 · 0 评论 -
(05)vtk通过多边形构建矩形,并拉伸成立方体,两个立方体独立操作
前言想在三维界面进行用户交互,实现对模型的独立操作,两个模型是自己建的模型。方法使用多边形构建矩形,并拉伸成立方体,两个立方体独立操作int MyTrackballActor(){ vtkSmartPointer<vtkLinearExtrusionFilter> m_extrude_sheyuan = vtkSmartPointer<vtkLinearExtrusionFilter>::New(); { const int num_points =原创 2021-10-08 13:36:58 · 1155 阅读 · 0 评论 -
(04)VTK移动模型,判断是否相交
前言在模型相交检测时(碰撞检测),使用了重写vtkInteractorStyleTrackballActor函数的自己构建的交互器,实现检测鼠标按键,并显示不同颜色在不同相交情况时。方法重写vtkInteractorStyleTrackballActor// Define interaction styleclass MouseInteractorStyle6 : public vtkInteractorStyleTrackballActor{public: static Mou.原创 2021-10-08 13:31:53 · 1745 阅读 · 6 评论 -
(03)两个模型的交集、并集、差集
前言在做一碰撞检测时,犹豫一直无法实现,就行想到直接对两个模型求交集,如果交集部分为空,就说明其没有相交,于是使用了下面的方法,求模型的交集。(后来由于在不相交时一直有报错误,但在后来的研究中发现及时报错并不影响其运行,但是最后还是放弃了)方法构建两个模型,通过设置其相对位置,使得其可以相交,并显示相交部分。代码如下: { //int w = intersectionPolyDataFilter->GetNumberOfIntersectionPoints(); vtkS原创 2021-10-08 13:17:43 · 1257 阅读 · 0 评论 -
(02)vtk 绘制模型的外轮廓线 模型轮廓线
前言在一个项目需求中,需要在木外部绘制一个外轮廓,用不同轮廓的颜色表示设备是否存在干涉。方法代码如下:void showboundingbox(){ vtkSmartPointer<vtkActor> meshActor = vtkSmartPointer<vtkActor>::New(); vtkSmartPointer<vtkActor> meshActor2 = vtkSmartPointer<vtkActor>::New(原创 2021-10-08 13:04:35 · 1702 阅读 · 1 评论 -
(01)VTK读取OBJ格式模型
vtk读取obj格式数据,vtk加载.stl格式模型数据原创 2021-10-08 11:41:36 · 2276 阅读 · 0 评论