- 鉴于切割间距地的体数值切割计算探讨
-
文章来源:中国切割机网
-
1引言体数据切割在医学图像理解、辅助诊断、虚拟手术及虚拟雕塑中起着至关重要的作用。一方面,将数据切开可以更加清晰地查看内部的重要细节;另一方面,手术模拟也必须实现切割操作。由于人体中有很多具有对称结构的组织,地对称切割有很多重要的应用。例如在脸部整形手术中,为了保证术后美观,必须保证切割是对称的,因此对称切割在手术模拟中有重要的地位。本文尝试采用图形显示卡的顶点着色器和像素着色器功能加速体数据的实时交互切割,将切割几何体用离散距离场表示,在像素着色器中利用距离场来判断是否满足切割条件。
2基于切割距离场的体数据切割算法2.1通用算法描述首先讨论利用深度缓存来实现对体数据的切割模拟,假设切割物体是由其边界的表面表示。用于切割的表面应该是无缝的,通常用三角面片表示。一个典型的切割体的深度结构。在下面的叙述过程中,将不再考虑三维场景,而是直接将问题简化为一条光线从眼睛到场景的一维几何问题。从视点出发,只考虑图像平面上的一个单独的像素。因此,以下的描述可以把所有的操作映射到每个独立像素所对应的片元上(像素着色器)。
我们从切割物体为任意拓扑结构或者几何形状开始说明一个通用的算法。首先,为当前的像素建立切割体的深度结构。这个深度结构保存着实现与切割体的每个相交点的深度值。运用这种方式,一维深度值被分割为了很多段,每一段的边界由切割体的边界给出。并且,将分割出来的间隔分类为在切割体的内部和在切割体的外部。分类结果由原始切割体决定,并且与无缝曲面的方向相关。对于一个闭合的,非自相交的切割表面,内部和外部的分类结果将交互出现在分割处理的段上。用户可以选在切割掉切割体的内部或者切割掉切割体的外部。这样,分割出的间隔也就地表示了可见部分和不可见部分。其次,一个体数据切片的每个片元的绘制必须检查该片元属于哪一类间隔。后,根据可见性,片元被混合到现实缓存中或者被切割掉。
2.2GPU加速的基于深度缓存的切割算法实现立体切割的关键是判断图元是否在切割体内部,该方法使用深度缓存完成这个判断,并用图形处理单元加速这一判断过程。根据几何学,凸体内部任意点的连线都在凸体内部,即凸体与任意直线至多有两个交点,因此凸体切割很容易用深度测试表示;而凹体不具有这样的性质,因此本算法不适用于凹体切割。图2给出了该切割算法的二维示意图。
图2基于深度缓存的切割示意图从眼睛(透视投影)或者无穷远(正交投影)发射一条射线,假设射线方向为x,与视平面的交点为x0,假设射线上一点P到该交点的距离为t,则射线上的任意一点可以表示为x0 tx,其对应的深度值是t的函数,可以表示为Z(t),其中Z(3)为线性变换。假设射线与切割凸体相交并且有两个焦点x0 t0x和x0 t1x,并知道Z(t0) Zmin和Z(t1) Zmax.
因此凸体内部可以表示为集合Uin:Uin{P|Px0 tx,Z(t)≤Zmax}∩{P|Px0 tx,Z(t)≥Zmin}(1)凸体的外部可以表示为集合Uout:Uout{P|P x0 tx,Z(t)≥Zmax}∪{P|P x0 tx,Z(t)≤Zmin}(2)可以证明Uin∩UoutΦ并且Uin∪UoutΩ。
因此,在执行体重建算法时可以对每个图元进行深度比较操作,以此判断图元应该被切除或保留。下面给出详细的算法实现过程。
步,关闭图形显示卡的颜色缓存输出,打开深度测试功能。将深度缓存设为0.0,将深度测试函数设为GL_GREATER;然后将深度缓存拷贝在一个二维纹理中,假设为BackTexture.设置深度缓存为1.0,将深度测试函数设为GL_LESS,绘制切割体的正面,然后将深度缓存拷贝在一个二维纹理中,假设为FrontTexture.
第二步,打开颜色缓存输出,关闭深度测试,初始化像素着色器。在像素着色器中,利用图元在屏幕中的位置在BackTexture纹理和FrontTexture纹理中查找该图元对应的Zmin和Zmax,并与当前图元的深度值比较。如果需要凸体内的部分,那么只保留深度值在Zmin和Zmax之间的图元;否则,只保留深度值在Zmin和Zmax之外的图元。
基于深度缓存的切割方法能够有效地处理切割体为凸体的切割问题,但是如果切割体为凹体,那么这种方法就不能完全适用了。准确地说,只有当所有视线与切割体相交次数少于或等于两次的时候,基于深度缓存的切割方法才能得到正确的切割效果。深度缓存切割方法发生错误的示意图,其中黑色粗线为BackTexture和FrontTexture保存的深度值,因此深度缓存切割方法仅显示白色部分,但是正确的显示结果应该包括白色部分和灰色网格部分,在实验结果部分还将给出深度缓存切割方法发生错误的示意图和效果图。
2.3基于切割距离场的体数据切割算法任意表面S可以用有符号距离场D表示,有符号距离场D定义如下:D:R3→RΠp∈DD(p) sgn(p)3min{‖p-q‖:q∈S}(3)其中,sgn(p)-1ifpinside 1ifpoutside‖3‖表示距离。
对距离场进行三维均匀采样,得到离散距离场。该切割方法的思想是将离散距离场作为硬件纹理单元,然后在像素作色器中分别对三维体数据纹理和离散距离场纹理进行三线性差值采样,根据离散距离场的采样值判断该图元是否应该被切掉或保留。具体算法步骤如下:1.
选择合适的切割体。
2.
根据选择的切割体,计算一个切割距离场,切割距离场经过采样后形成一个三维数组,数组的维数应为2n,以满足纹理硬件的要求。存储切割距离场的三维数组维数并不一定与表示三维体数据的纹理维数相同,但是切割距离场三维数组的数据维数越大,切割距离场表示就越,切割也就越。
3.
将表示切割距离场的三维数组归一化为的整数,以符合硬件纹理的特点,归一化以后,切割距离场中为零的点对应于归一化后三维数组中值为128的点。下面给出一个参考的归一化方式:texel(p) clamp(D(p) 128) 0.5(4)其中,texel(p)表示对应于切割距离场p点的三维数组的值,x表示不超过x的大整数:clamp(x)0x<0x0≤x≤255x>255(5)注意:在图形硬件中,距离场纹理还将进一步归一化到[0,1]之间。
4.
将表示切割距离场的三维数组作为纹理传输到图形硬件。
5.
对原始体数据进行体重建。绘制时,每一个绘制代理多边形的每个顶点都赋予两个纹理坐标,一个纹理坐标对应于原始的体数据纹理,另一个纹理坐标对应于切割距离场对应的三维纹理。
6.
在图形处理单元(GPU)中,定点着色器和像素着色器分别利用切割距离场纹理坐标在切割距离场纹理中进行采样。如果采样结果大于0.5,那么说明这个片元位于切割体的外部;如果采样结果小于0.5,那么说明这个片元位于切割体的内部。然后根据需要,把要切除部分的不透明度设为0,即不现实切除的部分;对于需要保留的部分,还是按照正常的体重建算法进行采样、分类、混合操作,然后显示到屏幕上。
3实验结果及分析3.1基于切割距离场的切割模拟本文算法基于C ,OpenGL[5],GLUT和Cg[6]语言,是平台无关的实现,可以在Linux和Window上运行。下面的性能结果在一台WindowXP个人电脑上测量得到,CPU为IntelPentium42.0GHz,图形处理单元(GPU)为GeForce6600(128M纹理内存)。三维医学数据的维数为256×256×84,视窗面积为5122和10242.,(a)为使用一个立方体作为切割体的切割效果图,(b)是采样球体作为切割体的切割效果图,采样了一个非常复杂的形体作为切割体的切割效果图。由于体数据有着更加丰富的内部细节,相较于基于表面重建的切割方法,基于切割距离场的体数据切割方法有着一定的优势。
缓存的切割方法的缺陷,当切割体是非凸体且有自遮挡现象时,基于深度缓存的方法无法取得正确的结果,而基于切割距离场的方法能够克服这种缺陷,很好地生成结果图像。另外,由于基于表面重建的切割方法需要建立切割体所对应的隐函数,在切割体十分复杂的情况下,即使使用隐函数组合也很难地描述一个三维切割体,而基于切割距离场的切割方法采用体数据描述切割体,理论上无论切割体的几何形态、拓扑结构多么复杂,切割距离场都可以用相同的有限的数据量加以描述。因此,基于切割距离场的体数据切割方法是一种灵活的、有效的切割模拟方法。
3.2不同切割操作性能对比切割效果的实现会引起交互性能的下降,一方面,纹理采样操作是一个非常消耗计算能力的操作,另一方面,相较于无切割效果的体重建,基于切割距离场的单物体切割多了一次三维纹理采样操作,因此在速度上有所下降。基于深度缓存的单物体切割,需要3个绘制过程,并且会有两个二维纹理的传输和采样操作,因此速度上有进一步的降低,但是由于图形硬件对于二维纹理操作有一定的优化,因此速度的降低并不十分明显。
结束语本文的主要贡献表现在以下两个方面:一,提出了基于深度缓存的体数据三维切割模拟方法,该方法利用了图形硬件的着色器功能,在图形硬件中评估片元是否应该保留,提高了三维切割的速度,达到了可交互的速度,但是该方法有着很大的局限性,它只能处理切割体只有一个且为凸体的情况。二提出了切割距离场的概念和基于切割距离场的三维切割算法,利用GPU加速,该算法也达到了可交互的速度,并且该算法没有基于深度缓存的切割模拟算法的应用限制,可以处理任意形状的切割体。以后工作的重点是以基于切割距离场的三维切割算法为基础,研究多物体切割与对称切割算法,这两种算法有很大的实际应用价值,可以进一步丰富切割模拟算法并使其更加贴近实际应用。
-
- 水切割机工作原理及应用领域 (9-13)
- 激光切割机使用注意事项 (9-13)
- 等离子切割机日常保养知识:延长寿命,保证效果! (9-13)
- 火焰切割机使用注意事项及安全指导 (8-22)
- 焊接机的日常保养知识与技巧 (8-22)
- 切割机的组成和工作原理 (8-22)
- 焊接机器人激光-电弧复合焊 (11-19)
- 2018年1-8月全国焊接钢管产量为3191.2万吨 同比增长9%.. (11-19)
-
- 深圳市莱雷科技简述-瓶装天然气替代乙炔切割新技术.. (12-19)
- 时代是中国焊接产业振兴的中流砥柱和旗帜.. (8-5)
- 大族粤铭应邀参加《第十五届中国口腔设备材料展览会暨技术交流会.. (6-19)