码迷,mamicode.com
首页 > 其他好文 > 详细

VTK面绘制(SR)与体绘制(VR)

时间:2018-05-08 12:19:25      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:VTK面绘制   VTK体绘制   vtkMarchingCubes   

面绘制 (Surface Rendering)

VTK中基于面绘制实现三维重建,使用的是经典的Marching Cubes(移动立方体法)算法。
  
  面绘制是采用分割技术对一系列的二维图像进行轮廓识别、提取等操作,最终还原出被检测物体的三维模型,并以表面的方式显示出来。
  面绘制的数据流管道pipeline结构为:
读取器->提取等值面->数据处理->映射器->实例化角色->绘制器->绘制窗口->交互器->交换方式。
Marching Cubes算法简介:
首先,假定原始数据是离散的三维空间规则数据场;
其次,给出所求等值面的值;
最后,找出等值面经过的体元位置,求出该体元内的等值面并计算出相关参数(以便由常用的图形软件包或图形硬件提供的面绘制功能绘制等值面)。
VTK提供了两种提取等值面的类:
(1) vtkContourFilter
(2) vtkMarchingCubes.
VTK通过vtkPolyDataNormals在等值面上产生法向量;通过vtkStripper在等值面上产生纹理或三角面片。

体绘制(Volume Rendering)

VTK中基于体绘制实现三维重建,使用的是光线投射法(Ray-casting)。
体绘制的原理和面绘制完全不相同。面绘制需要生成中间图元,而体绘制则是直接在原图上进行绘制,内容需求较面绘制小。每切换一个视角需要重新对所有的像素点进行颜色和透明度计算,需要时间比面绘制长。

VTK面绘制(SR)与体绘制(VR)

标签:VTK面绘制   VTK体绘制   vtkMarchingCubes   

原文地址:http://blog.51cto.com/weiyuqingcheng/2113888

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!