两种方式均由isosurface模块来实现,不同之处在于体视化要使用volume render模块进行边缘的虚化,下面重点进行介绍。
体视化只能处理数据为均匀网格,数据类型为字节型(byte)或短整型(short int)。首先要将云量的数据类型由浮点型(float)转换成字节型,定义比例因子。云量体视化开发中使用的主要模块说明如下:
data_math模块用于进行数据类型的转换,与Dvreadfield相连,data_math模块根据读入的云量数据计算读入数据最小值(min)和读入数据最大值(max);按照计算公式255/(max-min)计算比例因子(scale),再按照计算出的比例因子将读入的云量数据类型转换为字节型,进行云量体视化显示。
volume_render模块可以直接展示三维体数据,可以使用BTF(硬件方式)或者光线跟踪(软件方式)的体视化模式。当体视化的方式被激活,它可以支持体积和几何学的混合显示。这个模块通过它相对应的面板,提供一个非常便于使用的操作界面。该控制面板包含图形显示工具箱界面,体模式和数据图的算法成分。这些控制是体视化模块中最普通的使用特征,通过它们可以轻松的对该模块进行控制。本课题采用BTF方式,精度差一些,但是显示速度比使用软件方式快。
我们使用volume_render模块来将转换后的体数据进行体视化显示。体视化模块用三维纹理映射合成体数据中的断层面,以便几何显示器进行显示,下图为体视化显示。
几何显示器模块(Uviewer3D模块)定义了一个图形应用显示组件的所有必要成分。它是一个高级的应用程序对象,其中包含了许多其他较低级别的对象。
几何显示器模块含有一个默认的图形窗口和用户界面编辑器。通过它使用者能够控制相关对象的显示。一个图形的处理仅仅对应一个单一的几何显示器模块。但是我们可以使用显示编辑面板来增加额外的图形窗口,从而通过多个显示图形窗口来观察被显示的对象。几何显示器模块包含“屏幕”(Scene),“屏幕选择器”(Scene Selector),“屏幕编辑器”(Scene Editor)。
“屏幕”定义一个最高层次的数据对象(Top),其下可以包含许多子对象。Top对象属性的任何改动都可能传递给其下面的子对象,从而可对整个对象层次进行统一处理。
在“屏幕选择器”中,我们可以选择当前屏幕并把该屏幕的显示图像进行编辑处理。“屏幕编辑器”定义了一些相关工具栏,允许用鼠标对显示图像进行交互处理,例如重新设置图像的属性,使图像规一化等等。
“屏幕编辑器”提供了一整套编辑面板,比如光线编辑、照相机编辑、颜色映射编辑等等,实现对显示图像的后期处理,以达到满意的效果。
(2)风场数据可视化过程