当前位置: 首页 > news >正文

体绘制学习

一、基本概念

体绘制是对一个三维物体数据进行采样与拟合的过程。

在体绘制中用vtkVolume渲染数据

渲染数据类数据转换类
几何渲染vtkActorvtkPolyDataMapper
体渲染vtkVolumevtkVolumeRayCastMapper

体绘制常用算法如下。

光线投射法

  • 优点是可视化结果质量好。
  • 缺点是计算量大,渲染速度慢。不利于实时渲染。因此常用gpu进行纹理映射加速。

错切变形法。

  • 优点是比光线投射法快,适用于实时交互场景。
  • 缺点是错切变换可能会导致体数据的变形,在一定程度上会影响图像的准确性。

移动立方体算法。

  • 优点易于实现,生成的等值面模型可以方便地进行后续的几何处理和渲染。
  • 缺点在等值面曲率较大的区域可能出现 “阶梯” 状不光滑现象,影响可视化效果;并且对于复杂数据,会生成大量三角面片,增加存储和渲染负担。

移动四面体算法。

  • 优点比移动立方体算法更精确,适用复杂的拓扑结构情况。

  • 缺点计算量大,算法实现难度大。

二、遇到的bug

书中代码,比如chap07中的例子,有用到vtkVolumeTextureMapper2D,vtkVolumeTextureMapper3D等类。

在vtk9.7中被移除了,应当替换为vtkOpenGLGPUVolumeRayCastMapper

示例

//老版vtkSmartPointer<vtkVolumeTextureMapper2D> volumeMapper = vtkSmartPointer<vtkVolumeTextureMapper2D>::New();
//新版vtkSmartPointer<vtkOpenGLGPUVolumeRayCastMapper> volumeMapper =vtkSmartPointer<vtkOpenGLGPUVolumeRayCastMapper>::New();

http://www.dtcms.com/a/215529.html

相关文章:

  • P2 C++基础(2.2)
  • Matlab快速上手五十六:详解符号运算里假设的用法,通过假设可以设置符号变量的取值范围,也可以通过假设设置变量属于集合:整数、正数和实数等
  • 让 Deepseek 写一个尺码计算器
  • 鸿蒙OSUniApp 实现自定义的侧边栏菜单组件#三方框架 #Uniapp
  • 鸿蒙OSUniApp 制作简洁的用户个人中心页面#三方框架 #Uniapp
  • 【慧游鲁博】【10】全端优化用户信息存储+网页端user模块与后端对接
  • PHPStudy 一键式网站搭建工具的下载使用
  • Controller层中常用的接收前端参数的方式
  • 通义智文开源QwenLong-L1: 迈向长上下文大推理模型的强化学习
  • syslog 和 logrotate
  • 字节跳动BAGEL-7B-MoT模型开源:多模态AI技术的新范式与行业涟漪
  • NLua性能对比:C#注册函数 vs 纯Lua实现
  • SMT贴片制造流程关键环节解析
  • React从基础入门到高级实战:React 核心技术 - 动画与过渡效果:提升 UI 交互体验
  • Qt基础终结篇:从文件操作到多线程异步UI,深度解析核心要点
  • Excel 操作 转图片,转pdf等
  • 新编辑器编写指南--给自己的备忘
  • 【数据结构】——二叉树堆(下)
  • 【深度学习】7. 深度卷积神经网络架构:从 ILSVRC、LeNet 到 AlexNet、ZFNet、VGGNet,含pytorch代码结构
  • uni-app学习笔记十五-vue3页面生命周期(一)
  • pycharm终端遇不显示虚拟环境的问题
  • 【第1章 基础知识】1.8 在 Canvas 中使用 HTML 元素
  • WPF【11_3】WPF实战-重构与美化(可复用的UI组件)
  • 【AI工具应用】使用 trae 实现 word 转成 html
  • PH热榜 | 2025-05-24
  • 【Linux】shell脚本的常用命令
  • winform LiveCharts2的使用--图表的使用
  • Linux 使用 Docker 安装 Milvus的两种方式
  • 微信小程序的软件测试用例编写指南及示例--性能测试用例
  • 【CSS】CSS 和 SASS 的区别