VTK学习笔记(二十二)某点投影到某个平面上

最近搞VTK平面旋转+平移,然后计算点投影到平面上的坐标,没人交流还是费劲啊,过程不说了

一直以为用vtkPlane中的ProjectPoint这个最好,不过由于我这里涉及到重新创建平面的过程,反倒不好。

cpp 复制代码
 关键示例代码如下:
   vtkSmartPointer<vtkPlane> plane = vtkSmartPointer<vtkPlane>::New();
   plane->SetNormal(normal);
   plane->SetOrigin(origin);
   ...
   plane->ProjectPoint(p, origin, normal, projected);

又搜索资料找到vtkTransform中的TransformDoubleVector。这个对于目前来说还比较好,确实知道它的旋转矩阵,可是调用它一定要注意,不要连续多次,否则只保存最后一次的计算结果。如果不提前把结果取出,后续就会有错误。

cpp 复制代码
    vtkSmartPointer<vtkTransform> transform = vtkSmartPointer<vtkTransform>::New();
    ...
    double *newPoint = transform->TransformDoubleVector(oldPoint); //仅仅取出指针还不行,如果再次调用计算,这个指针指向的数据是不对的,要保存数据的其他内存了。
    
相关推荐
知无不研7 分钟前
内存碎片与内存优化
开发语言·c++·内存优化·内存碎片·内存操作
m0_5613596711 分钟前
C++模块接口设计
开发语言·c++·算法
从此不归路18 分钟前
Qt5 进阶【11】图形视图框架:用 QGraphicsView 搭一个流程图编辑器
开发语言·c++·qt
难得的我们39 分钟前
单元测试在C++项目中的实践
开发语言·c++·算法
2301_790300961 小时前
C++中的命令模式
开发语言·c++·算法
2301_822376941 小时前
C++中的解释器模式
开发语言·c++·算法
爱学习的阿磊1 小时前
C++代码冗余消除
开发语言·c++·算法
十年编程老舅2 小时前
冲刺米哈游|游戏开发一面面经(26 届
linux·c++·米哈游
浅念-2 小时前
C语言——双向链表
c语言·数据结构·c++·笔记·学习·算法·链表