实体色彩的体现可以有两种方式,一是给三维实体表面着色就可很好体现色彩。但有时为了工业需要实体内部也必须有色彩,例如,若汽车发动机中的每个零件都有自己的色彩这将为产品管理以及装配工人和维修工人提供很大的方便,因此另外一种是给实体内部着色,给三维实体内部添加色彩常用的方法有体绘制法。
(1)体素
绘制彩色信息时通常是以二维平面为目标,即面模型(Surface Graphics),在面上添加色彩,例如平面中像素的概念,它是指每平方英寸的面上所具有的点数的个数,即为像素。与面模型相对应的是体模型(Volume Graphics),即应用三维立体格网来直接绘制三维场景,空间中的每一个格网对应某一个可测的属性值。三维立体格网单位视为体素(Voxel)。体素可以看作是二维像素在三维空间的推广,可以理解为实体是由若干个小的
立方体或其它三维单元体,实体可以通过已知的函数映像而由体素所组成。
真三维场景的可视化,主要指的是符合式(4.9)的可视化的方式,其中 F 值的信息是三维坐标(x,y,z)上所对应的属性数据。在真三维的可视化方法中,三维坐标(x,y,z)是作为独立参数来进行空间实体对象的几何建模的,因而所建立的模型不仅可以实现真三维可视化,还可以进行三维空间分析。
F=f(x,y,z) (4.9)
(2)体绘制色彩添加过程
一般,三维空间数据场是连续的,而数值计算结果或测量所得数据是离散的,是对连续的三维场进行采样的结果。体绘制技术就是要将这一三维空间样本直接转换为屏幕上的二维图像,尽可能准确地重现原始的三维数据场。屏幕上的二维图像决定于帧缓存中对应于每一个像素点的光亮度值,这也是一个二维的离散数据场。因此,体绘制技术的实质是将离散的三维空间数据场转换为离散的二维数据点阵。
将离散的三维空间数据场转换为离散的二维数据点阵,首先必须进行三维空间数据场的重新采样。其次,应该考虑三维空间中每一个数据对二维图像的贡献,因而必须实现图像的合成。所以,体绘制技术的实现是一个三维离散数据场的重新采样和图像合成的过程。
实现重新采样从理论上说应有以下几个步骤:
①选择适当的重构核函数,对离散的三维数据场进行三维卷积运算,重构连续的三维数据场。
②对连续的三维数据场根据给定的观察方向进行几何变换。
③由于屏幕上采样点的分辨率是已知的,由此可计算出被采样信号的 Nyquist 频率极限,采用低通滤波函数去掉高于这一极限的频率成分。
④对滤波后的函数进行重新采样。
由于进行三维卷积运算是十分费时的,因而在过去的几年里,国外的学者们相继提出的一些体绘制算法,大多是用离散方法加以实现的。其中具有代表性的是L.westover提出的以物体间为序的体绘制算法(即单元投影法)和 M.Levoy提出的以图像空间为序的体绘制算法(即光线投射法)。
(3)单元投影法:
将实体空间中每一个数据采样点的光亮度值变换到图像平面,也就是计算出每一个数据采样点的光亮度值对屏幕上各像素点的贡献,然后进行合成得出最后的图像。其思想是:首先确定出各体素的投影顺序,然后将体素分解成若干个更小的体素,使得从投影方向看这些更小的体素只有一个正向面和一个反向面,而且正向面和反向面在投影面上对应着同一个投影多边形,从而在投影多边形内充分利用其二维连贯性进行累积光强和透明度的插值计算值。
单元投影法
光线投射法
光线投射法,又称为光线跟踪法,它的基本思想是:从屏幕上的每一个像素点出发,根据当前视点的位置,发射一条线穿过数据场,在光线上选择一系列的采样点,采用插值方法计算出采样点的不透明度值和颜色值,然后采用由后到前或由前到后的顺序依据各采样点的不透明度值对其相应的颜色值进行合成,从而得到屏幕上该像素处的颜色。
光线投射法原理
|