输入:经过平移、旋转和缩放后的三维体数据?
输出:三维图象?
Calculate_Intersection_Min();CalculateIntersection_Max();?/*计算光线与包围物体的长方体6个交点(其中4个是假交点)的最大最小值*/?sort();/*对6个交点沿射线方向从小到大排序*/?Voxel_struct Intesection〔2〕;/*只有2个真实交点*/?for(i=1;i<=6;i++)?{?
Intersection_Reverse_Translate();?
Intersection_Reverse_Rotate();?
/*将交点与长方体的(0,0,0)点通过反向平移和旋转变换*/?
Voxel〔z〕〔x〕〔y〕= 交点与长方体的(0,0,0)点的差值;?
if ((z<=z-max) && (x<=x-max) && (y<=y-max))?{?
Voxel〔z〕〔x〕〔y〕是交点;?
Intersection〔number〕= Voxel〔z〕〔x〕〔y〕;?
number++;?}?
else Voxel〔z〕〔x〕〔y〕不是交点,丢弃;?}?
〔2〕 BIDABDA B, HONSNI Y A. Reverse engineering and its relevance to industrial engineering: a critical review〔J〕. Computer and Engineer,1994,26(2):343-348.?
〔3〕KAUFMAN A. 3D volume visualization〔M〕. Germany:Springer-Verlag,1991.?
〔4〕 管伟光. 体视化技术及其应用〔M〕. 北京:电子工业出版社,1998.?
〔5〕 文四立,唐卫清,刘慎权.光线追踪显示体数据的新求交算法〔J〕.计算机学报,1994,17(4):241-249.?
〔6〕 李江雄,柯映林,程耀东.基于实物的复杂曲面产品反求工程中的CAD建模技术〔J〕.中国机械工程,1999,4(4):390-393.
文 / 佚名转载请注明出处。