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); //仅仅取出指针还不行,如果再次调用计算,这个指针指向的数据是不对的,要保存数据的其他内存了。
    
相关推荐
奶油泡芙9314 分钟前
Powering the Hero (easy version)为英雄提供力量(简单版)
c++
孙鹏宇.16 分钟前
C++打地鼠游戏一小时极限开发
c++·游戏
伍贰什丿16 分钟前
C语言学习day22:URLDownloadToFile函数/开发文件下载工具
c语言·c++·学习
Cooloooo21 分钟前
Treap树堆【东北大学oj数据结构8-4】C++
开发语言·数据结构·c++
wks198912151 小时前
线程sleep的时候会释放锁吗
开发语言·c++·算法
归寻太乙2 小时前
C++初阶:模版的进阶使用
android·java·c++
葛雨龙2 小时前
visual studio 2022 c++使用教程
c++·ide·visual studio
飞飞-躺着更舒服2 小时前
C/C++ 文件处理详解
c语言·c++·算法
晨风先生3 小时前
C++多线程常用方法
开发语言·c++
奶油泡芙9313 小时前
Dasha and Nightmares Dasha 和噩梦
c++