快速消隐算法研究-数控滚圆机滚弧机折弯机张家港电动液压滚圆机
作者:lujianjun | 来源:欧科机械 | 发布时间:2019-07-16 15:34 | 浏览次数:

矩量法(MoM)与物理光学方法(PO)混合时,需要准确快速地判断PO区域在点光源照射下的亮区和暗区,为此需要构造一种高效率的遮挡消隐算法。传统的遮挡消隐算法是判断每两个三角形之间是否遮挡,需要耗费大量时间。本文对基于计算机图形学中的Z-buffer算法进行了改进。通过对比模型三角面片被遮挡的面积比,在保证精度情况下判断三角面片是否遮挡,并利用包围盒作为投影背景平面降低内存用量。经数值实验测试,这种算法在保证精度的前提下,相比传统Z-buffer算法计算速度有了较大提升,内存使用量也相应减少很多遍历目标表面采样点(x,y),计算其深度z(x,y);z(x,y)与存储Z缓冲器中相应的深度值Z-buffer(x,y)进行对比;若z(x,y)>Z-buffer(x,y),则用z(x,y)重置Z-buffer(x,y),否则不动。1.1平行光源基于上面阐述的Z-buffer原理,首先讨论平行光源入射。根据入射波角度建立Z-buffer区域,过原点作与入射方向垂直的平面,如图1所示本文有公司网站全自动缩管机采集转载中国知网整理  http://www.suoguanji.cc。将目标投影到平面,对平面所有投影点进行坐标转换为xoy平面。整个坐标转换后的投影平面作为Z-buffer区,将Z-buffer区细分成(M×N)个小的网格,用一个数组Test(M,N)来记录每个网格被哪个三角形遮挡住,快速消隐算法研究-数控滚圆机滚弧机折弯机张家港电动液压滚圆机滚弧机先把Test(M,N)的值设定为0。图1三角形面片与投影平面首先,在Z-buffer区确定与每个三角形单元的投影相关的网格,即当Z-buffer区内的网格的中心在投影三角形内,则认为网格被该三角遮挡。根据这种判断方法,将第n个三角形投影到投影平面,统计遮挡住的网格为Nsquare(n)。然后,对三角面被遮挡住的网格(i,j)的Test(i,j)值进行判断。如果Test(i,j)=0,就表示网格(i,j)没有被其他三角面遮挡,更新Test(i,j)的值,令Test(i,j)=n。如果Test(i,j)≠0,则表示已有三角面将该网格遮挡了;此时对比两个三角形分别到光源的距离distance(n)和distance(m);若distance(n)<distance(m),表示第n个三角面与光源更近,网格(i,j)将被第n个三角面遮挡,令Test(i,j)=n;反之,Test(i,j)值保持不变,如图2所示。以这种方式将所有三角形投影到投影平面上,然后统计各个网格的Test(i,j)值。得出每个三角形投影到背景平面中真实遮挡住的网格总数Lit(1),Lit(2),…。最后对每个三角形进行面积遮挡比例判断,若比值Lit(i)/Nsquare(i)>0.5,则认为此三角形被照亮,反之,则被遮挡祝这种判断方式可以用任意的?快速消隐算法研究-数控滚圆机滚弧机折弯机张家港电动液压滚圆机滚弧机本文有公司网站全自动缩管机采集转载中国知网整理  http://www.suoguanji.cc