如何在自己构建的网格上绘制?
vtk吧
全部回复
仅看楼主
level 1
创建了类似的坐标网格 如何在那个单个的小网格上生成一个长方体? 或者是如果先确定坐标原点 然后创建的长方体的一个底面和网格的四个点重合?
2021年10月16日 03点10分 1
level 1
你可以把相机位置固定,z轴始终朝向相机,就相等在2维平面上画图。
然后重写下鼠标交互事件vtkInteractorStyleTrackballCamera:
void OnLeftButtonDown() override;
每次点击的时候,判断下点击位置:
vtkNew<vtkCellPicker> picker; picker->SetTolerance(0.0005);
int* p = this->GetInteractor()->GetEventPosition(); picker->Pick(p[0], p[1], 0, m_renderer); vtkActor *actor = picker->GetActor();
当点击寻找最近一个十字焦点的位置,就判断开始绘画:
void OnMouseMove() override;
移动的时候就绘制一个直线模型,实时修改终点位置
void OnLeftButtonUp() override;
鼠标松开的时候,寻找最近的一个十字焦点的位置,就可以完成直线的绘制
所有直线绘制完成的时候,把所有点信息获取点,键盘输入z值,就可以绘制一个立体模型了。
2021年11月24日 08点11分 2
1