Presentation is loading. Please wait.

Presentation is loading. Please wait.

2、以对象空间为序的体绘制算法—单元投影法

Similar presentations


Presentation on theme: "2、以对象空间为序的体绘制算法—单元投影法"— Presentation transcript:

1 2、以对象空间为序的体绘制算法—单元投影法
根据每点的函数值计算该点的不透明度及颜色值。 根据给定的视平面和观察方向,将每个数据点的坐标由对象空间变换到图像空间. 根据选定的光照模型,计算出每个数据点处的光照强. 根据选定的重构核函数计算出从三维数据点光照强度到二维图像空间的映射关系,得出每个数据点所影响的二维象京的范围及对其中每个象素点的光照强度的贡献. 将不同的数据点对同一象素点的贡献加以合成.

2 单元投影法的主要步骤: For 每一体素或单元 Do For该体素在视平面投影区域内的每一象素 Do 计算象素点获得的光照强度 end

3 两种方法的简单比较 光线跟踪要将当前所有数据放入内存,内存要求高;单元投射只需当前单元体数据。
从走样的情况分析:由于光线跟踪采用点采样,走样情况只有通过分布式光线跟踪才能消除;相对地讲,单元投影可达到解析解的程度. (图象质量高低的关键在于所采用的重构核函数的精度.高精度的再采样同样能较大地提高光线跟踪的质量). 但对象空间往往比图像空间要大得多,单元投影法的计算时间相对要大得多. 光线跟踪难以并行化,而单元投影的并行处理要相对容易。

4 7.4 体光线跟踪法 与传统的基于光线跟踪是三维场景绘制的——个很有效的方法,体绘制光线跟踪的特点有: 对象空间的表示不同.
传统的对象空间是用造型技术建立起来的几何表示;而体绘制的对象空间是由被称为体素的单位立方体排列而成.也可以看成是由一系列断层数据组合而成,称为体缓冲区(volume buffer). 求交方式的不同. 传统的光线跟踪是与对象表中的对象求交,求出最近的相交点;而体绘制光线跟踪是遍历整个体缓冲区.求出第一个与光线相交的非透明的体素,由该体素中所存的数据值计算其光照强度.

5 任何与视点相关参数的改变,都会引起光线跟踪算法的完全重计算。
计算复杂度的不同. 传统光线跟踪算法其计算时间随着对象的增加,组成场景对象的复杂度增加而大大增加,由于求交的开销影响算法的效率;而体绘制免去了大量费时的求交计算,只需计算与立方体素的交和一个体素的遍历机制.因而体绘制光线跟踪的复杂度仅与体缓冲区的分辨率有关。 任何与视点相关参数的改变,都会引起光线跟踪算法的完全重计算。 光线跟踪:重计算包括纹理颜色的计算,光源可见性的检测,光照强度等等。 体绘制:许多与视点相关的计算在三维离散采样生成体数据时已经存在于体数据中 ,如对象的纹理等,其绘制参数的改变主要是视点、光源和光照明模型

6 7.4.1 三维对象的直接二维显示 从屏幕向对象空间发射光线,假设屏幕上的每一点都是一光源,它以垂直于屏幕的方向发射平行光.
对于屏幕上的每一点,首先计算出对象空问中与该点光线相交的第一点,然后再根据交点处的信息计算屏幕点最终的颜色值.

7 对离散数据场,计算光线与对象的第一交点。交点在光线两点 , 之间
对离散数据场,计算光线与对象的第一交点。交点在光线两点 , 之间 沿光线从屏幕到 每点都位于对象之外 位于对象之内 算法描述假设 对象有一矩形包围盒,由若干断层组成 给定一点,能确定该点在那一断层上 屏幕是一矩形,被分割成象素,每一象素由一点表示 屏幕垂直于光线方向。

8 算法中的关键量如下: 1、 光线的方向g 2、 屏幕的中心 S = B – dg 3、 屏幕是一个平面,每一象素点位置可定义为 P = E + iU +jV 4、沿着P点出发的光线上每点可以写为 Q = P + dg, d>0 (通过测试,求出落在立方体内的点Q) 算法7.1(P 165)

9 7.4.2 光线投射方法 对图象平面上的每一象素,从视点投射出一穿过该象素的视线,它穿过体数据空间。算法直接利用该视线上的采样值计算该象素的光强。 算法分为三部分:光线生成,光强计算与组合,图象显示。

10

11 设体数据中每一位于(i,j,k)的体素值为 f(x) (x=(i,j,k)), 位于视平面(u,v)处象素的光线为R(u,v), 其强度为C(u,v). 1、由体素值f(x), 根据光照明模型计算出对应的颜色值C(x)和不透明值a(x). 2、沿光线R, 进入图象空间与与体数据包围盒相交.在两相交点之间设置一系列采样点 . 3、根据C(x)和a(x),通过再采样计算出对应的 ,并将它们沿光线组合在一起就是当前象素点处的光强度值(如图7.16所示过程).

12

13 颜色和不透明度有从前到后/从后到前两种组合
设光线穿过体素前、后的颜色和不透明度分别为 光线从前到后的组合为

14 沿光线上所有采样点组合可写为 光线从前到后的组合雷同,可采用递归方法。 对于医学图像等由三维扫描获得的数据.多采用正交网络中体素顶点的三维线性插值或DDA算法,对于有限元分析可直接利用原单元的类型进行插值.

15 对于正规网格,梯度的计算可直接采用中心差分方法

16 对于边界区域,上述中心差分可以改成向前或向后差分形式
一般情况下,差分形式满足计算时间和精度的要求,不然,可以采用一种更为精确的变量三次样条来计算。 通过逼近函数的导数与梯度代替被拟合函数。 不透明函数的定义与具体应用有关。

17 7.4.3 优化方法 从光线投射的基本方法可见,体绘制的采样是沿光线的等距采样。 这种采样的缺点:许多空结点也同样被采样.提高采样效率是光线投射优化的目标。 介绍一个基于层次空间的枚举优化方法.

18 对于一每维有N个体素结点的多维数据集( 是整数)).可建立一个M十1层的金字培(pyramid),在该金字塔中,层号为m=0,1,…,m、在m层中体素被标为 ,具体构造方法为(P169)

19 建立了—个二维空间中的金字塔结构.光线跟踪可以充分利用这结构。对每条光线首先计算在顶层进入的单个单元,然后以下列方式遍历整个金字塔:
1)进入一单元,首先测试其值,如为零则沿光线进入同层下一单元; 2)如新单元的父结点与所在单元不一致,移到新单元的父结点 3)如进入的单元测试值为1,则进入其子单元; 4)如已经到最底层,沿光线按步长进行再采样. 整个构造和采样过程如图7.18所示.

20 三维体数据的采样,常用的方法与二维的点采样方法相同。 Mip-map方法:
从视点出发建立一金字塔三维采样体,以覆盖整个采样空间 图象平面上象素值是由金字塔所有体素的影响而决定。

21 医学图象中希望能看清体数据的内部结构。对这样的体绘制,这种光线跟踪的实际应用意义不大。
7.4.4 X光线跟踪 传统的光线跟踪: 每一条与表面相交的光线被分成反射光和折射光再分别进行跟踪; 有了折射光和反射率,可模拟内部的对象在光照下发生的(视觉上)形变。 医学图象中希望能看清体数据的内部结构。对这样的体绘制,这种光线跟踪的实际应用意义不大。

22 X光线跟踪: 设 光线在不同物质界面上不发生折射,继续沿原方向前进(即相对折射率全为一)。
对象的内部结构无形变地绘制出来;但看上去立体感不强 T是光线和对象表面的一个交点, R是光线入射方向,则T点的光强为

23 其中各分量意义同传统的光照明模型 分别表示反射光、折射光系数 表示T处局部光强度 分别表示环境光、漫反射光和高光

24 X光线跟踪用X光线代替折射光线进行光线跟踪:
为了加强边界效果,引入下述方法 采用表面角来加强对象边界: 图象识别时的边界判断因子也能作为权因子放入上式。

25 7.5 体单元投影法 以对象空间为序的一种绘制方法。 从对象空间的三维数据场出发,依次计算每个数据点对屏幕上各象素点的贡献。
7.5 体单元投影法 以对象空间为序的一种绘制方法。 从对象空间的三维数据场出发,依次计算每个数据点对屏幕上各象素点的贡献。 将同一平面和不同平面上各数据点对各象素点光亮度的贡献合成起来得到最后的图象

26 7.5.1 V-Buffer算法(类似Z-Buffer) 基于正交网格点上计算单元投影绘制方法
扫描整个对象空间,依次逐个处理每一单元 由视点和单元的相对位置来决定单元的扫描顺序 为每一单元定义一个包围盒,用扫描线裁剪生成单元投影贡献的象素区域 对每条扫描线上的象素点计算出光照强度和不透明度,然后进行类加。 可见性由不透明度决定。

27 1、扫描顺序的决定 V-Buffer 中保存的是不透明度的累加值 单元的处理从接近视点的平面开始,逐个处理至最远处平面;
每个平面内的单元处理次序:根据单元与视点的距离,从最近的单元开始,然后相邻单元,形成类似同心圆式扫描 由于是正交网格单元,单元之间不会相互重叠。

28 2、单元处理 为每一单元决定一个包围盒 包围盒在图象平面上投影,决定该单元投影的扫描线范围
包围盒内的每条扫描线,计算由扫描线确定的扫描平面与单元的交 多边形:它为凸多边形,投影到扫描线上形成至多五段区间

29

30 3、光亮度贡献的累加 与单元有交多边形的各条扫描线:计算单元对它的光亮度贡献和不透明度贡献;
求出当前象素上的投影线与交多边形的交点:图7.22中P点的投影线 与交多边形有两个交点A和B 由交点求出交线长,从而计算出当前单元对该象素的贡献,再累加到象素平面上

31

32 7.5.2 Footprint 算法 纹理映射Footprint算法:
前者:计算出图象平面上每一象素在纹理空间中的取值范围,将该范围内值加权求和作为象素的纹理值。 后者:对每一数据采样点计算出它在图象平面内的影响的象素范围 (Footprmt范围),通过把各采样点的能量扩展到图像空间,逐步重构原始信号. 因而Footprint算法要计算的是每一采样点对最终图像的贡献和每一采样点对每一象素的重构核心。

33 图7.24比较了这两者的各自过程.

34 首先介绍的算法中的页(sheet):页是通过数据空间平行于图像平面的一个平面,Footprint算法是对页内的所有体素同时进行的.
变换、光强计算、重构和可见性组合。 首先介绍的算法中的页(sheet):页是通过数据空间平行于图像平面的一个平面,Footprint算法是对页内的所有体素同时进行的. 将页内采样点从数据空间(i,j, k)变换到屏幕图像空间(x,y,z).应用光照模型计算出光照强度(x,y,z; r,g,b,a); 选用Footprint函数计算采样贡献所能影响的图像空间的范围dA.将其贡献累加到因像空间的页累加器(sheet accumulator)中, 其中Footprint函数的决定、函数的采样和采样贡献的扩展,被形象地称为splating过程.比喻为确定一滴水从对象空间落到图像平面上溅开的范围. 当一个页内的采样处理完后.用一组合操作将页累加器内的值组合到工作图像中, 当所有采样处理都完成后,工作图像将成为最后的图像.

35 1、Footprint 函数 Footprint 函数是进行重构的基础。对正交矩形网格数据空间,重构方程如下: 其中 分别是体重构核、密度函数和脉冲阵列函数(Comb函数); u,v,w是核的坐标

36 作为体重构核函数,它是一滤波器,它决定了体素在图像空间上的效果;
数据的采样点被当作影响的中心,其值随距离增加而减小. 考虑到 的作用,将求和放到积分外,可以得到在(x,y,z)点积分的离散形式: D范围是核输入采样的非零范围, 是采样D在图像空间的坐标.

37 绘制考虑每个单独的点采样,将其贡献扩展到输出采样上, 一个采样点对空间其它点的贡献为:
(x,y) Z 绘制考虑每个单独的点采样,将其贡献扩展到输出采样上, 一个采样点对空间其它点的贡献为: 在一个给定的位置(x,y)的所有贡献是沿穿过原点在(x,y)垂直于屏幕的核的光线的贡之和。核可沿z积分,所以由上式在(x,y)象素的图像平面上的采样贡献为

38 对于正交投影的优点:每—采样点的Footprint范围都是一样,因而对于数据集的每一视图,Footprint函数只需计算一次.
上式的积分独立于采样密度,只与采样投影位置(x,y)有关.要求出一象素上值,只要对滤波器沿z积分、该积分被称为Footprint函数.定义为: 其中,(x,y)是屏幕空间的位置. 对于正交投影的优点:每—采样点的Footprint范围都是一样,因而对于数据集的每一视图,Footprint函数只需计算一次.

39 核的积分的解析式很难求出,我们常用离散查表法.建立一个这样的表需注意:
1)计算核投影在屏幕空间的范围,如采用正交投影,则该核的投影范围内的所有象素都会受影响, 2)计算一个从视点变换范围到包围一般核投影范围的映射. 假设确定重构的核心是球体,如不是球体,可用一包围球代替.上述两点也就是计算单位区域球采样所影响的范围,和视点变换区域球内每一点到单位区域球范围的映射. 因此,分别建立一般FootPrint表和视点变换Footprint表,通过查表,使绘制要执行的积分数下降为N*N,N是表中每维上的网格单元数.

40 extent = 2.0 * 核宽 * 网格放大率 * 视点放大率
2、投影范围和视点变换的 假设: 1、重构核是一球体: 其半径等于重构核的宽度,该球定义了采样所影响的范围(见图7.25). 2、采样率大大低于象素分辨率,球核在(x,y)上的范围可写为 extent = 2.0 * 核宽 * 网格放大率 * 视点放大率 在该范围的离散网络上,Footprint函数沿z方向积分,其结果存于一‘般Footprint表.

41 在绘制时,要决定视点变换区域球的范围,对于球体,也就是建立单位区域球到一般区域球之间的映射,由于球的投影是一圆,从一个圆到另一圆的映射可写为:
利用该映射,将视点变换Footprint表中单元映射到一般Footprint表. 如果变换仅是旋转,放大因子不变,该表还能再被利用.

42

43 7.5.3 相关投影法 由于对象空间体数据单元数巨大,对于单元投影法的体绘制其关键问题是要简化投影,加快汁算.
相关性投影法利用了矩形单元在平行投影情况下的相关性.确定投影形状,将单元分成若干相关的子单元,投影计算在子单元上进行.

44 从平行投影的角度出发,任一单元的投影具有以下性质:
1)每一单元的投影在几何上是一类单元投影的一个平移; 2)从任一视点出发,一个一般的单元可以简化为至多是七个有相同前后面的子单元。 3)子单元的投影要么是三角形要么是任意四边形.

45 从以上这些性质出发,整个相关性投影由以下五步组成:
1) 对组成体的各类单元根据特定的形状和朝向决定一个投影的样板表。 2)基于该样板表,遍历整个体; 3)对于每 单元,决定子单元顶点的强度和不透明度‘ 4)用插值决定子单元投影区域中象素的强度和不透明度; 5)将投影区域内象素的值与累加器中的值进行组合

46 1、一般单元的分割 对于正交网格,一个单元是指由八个顶点组成的矩形单元,该单元由半透明材料组成.投影以平行投影方式进行. 根据与视点的相对位置矩形单元的可见面有一个面,二个面和三个面三种情况(见图7.28). 根据单元的投影区域可将矩形单元分成若干个具有相同前、后面的子单元,其个数至多7个. 子单元是前后面都投影列同一屏幕位置的多面体.生成的投影多边形的顶点可看成是一对顶点,即前后顶点,沿子单元的侧影轮廓线,这两点之间可能无距离, 有些顶点是原单元顶点,有些是交点.

47

48 2、光强度的计算 将各数据单元分割成若干个具有相同前后面的子单元后,子单元相应投影多边形顶点处的光强度和不透明度的计算转变成沿对应子单元顶点对的区间作深度积分计算. 微分方程为

49 其中:z是从后顶点穿过单元到前顶点的距离, 是微分不透明度, 是颜色c的微分强度,T(z)是透明度, 是光强度.
该方程在边界条件 下,可得到解


Download ppt "2、以对象空间为序的体绘制算法—单元投影法"

Similar presentations


Ads by Google