博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VTK面绘制(SR)与体绘制(VR)
阅读量:6973 次
发布时间:2019-06-27

本文共 669 字,大约阅读时间需要 2 分钟。

面绘制 (Surface Rendering)

VTK中基于面绘制实现三维重建,使用的是经典的Marching Cubes(移动立方体法)算法。

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

体绘制(Volume Rendering)

VTK中基于体绘制实现三维重建,使用的是光线投射法(Ray-casting)。

体绘制的原理和面绘制完全不相同。面绘制需要生成中间图元,而体绘制则是直接在原图上进行绘制,内容需求较面绘制小。每切换一个视角需要重新对所有的像素点进行颜色和透明度计算,需要时间比面绘制长。

转载于:https://blog.51cto.com/weiyuqingcheng/2113888

你可能感兴趣的文章
前端之html5和css3
查看>>
跟KingDZ学HTML5之四 继续探究Canvas之路径
查看>>
054_VisualForce Ajax 01
查看>>
ASCII码、字符与字符串的显示
查看>>
Java 二进制,八进制,十进制,十六进制转换
查看>>
PHP7语法知识(四):目录文件操作、Cookie与Session、MySQL数据库的使用、Redis数据库、PHP处理XML与JSON...
查看>>
bzoj1212
查看>>
Datawhale编程——队列
查看>>
Bzoj3597: [Scoi2014]方伯伯运椰子
查看>>
LOJ #2985. 「WC2019」I 君的商店
查看>>
CSS 基本知识
查看>>
JSON数据传递
查看>>
用Python将word文件转换成html(转)
查看>>
移动widget开发
查看>>
CentOS 6.8 安装Tomcat7
查看>>
Nginx 502 bad gateway问题的解决方法
查看>>
11. Container With Most Water - Medium
查看>>
解决Android中图片圆角——.9图
查看>>
retain和copy的区别 #import @class 的区别
查看>>
CSS基础语法
查看>>