最近做一个关于模型精配准的项目是关于切片模型之间,考虑到完全自动配准的精度难以满足工程的需要,在此利用vtk通过人机交互的方式实现。为了后续便于更新,在此将实现过程总结一下,如有错误还望各位大佬指正...
目标:保证切片位置不动的情况下,通过拾取场景中模型使其按照用户指定的方式进行平移与旋转,最终实现切片与模型之间的精配准。
核心代码:用到vtk中的vtkInteractorStyleTrackballActor,需要注意的是,该类只能选中场景中的一个actor进行操作,为了方便用户进行查看可能需要恢复到之前的场景交互模式。对此,需要写重写键盘的交互方式用于两者模式之间的切换。
原始位置:切片模型(红色)
移动后位置
通过程序记录一次旋转过程中旋转、平移矩阵,即可完成模型的精配准。