正在加载图片...
图2.7.24区域子分割算法流图 2736光线投射算法 光线投射算法的思想是:考察由视点出发穿过观察屏幕的一象素而射入场景的一条射线,则可确定 出场景中与该射线相交的物体。在计算出光线与物体表面的交点之后,离象素最近的交点的所在面片 的颜色为该象素的颜色:如果没有交点,说明没有多边形的投影覆盖此象素,用背景色显示它即可 图2.7.25将通过屏幕各象素的投影线与场景中的物体表面求交 算法描述 for(屏幕上的每一象素) 形成通过该屏幕象素(u,v)的射线; for(场景中的每个物体) 将射线与该物体求交 if(存在交点) 以最近的交点所属的颜色显示象素(u,V) else以背景色显示象素u,v) 光线投射算法与Z缓冲器算法相比,它们仅仅是内外循环颠倒了一下顺序,所以它们的算法复杂度 类似。区别在于光线投射算法不需要Z缓冲器。为了提高本算法的效率可以使用包围盒技术,空间分 割技术以及物体的层次表示方法等来加速 [上一页[练习题[下一[回 清华大学继续教育学院 opyright c 1999-2000图 2.7.24 区域子分割算法流图 2.7.3.6 光线投射算法 光线投射算法的思想是:考察由视点出发穿过观察屏幕的一象素而射入场景的一条射线,则可确定 出场景中与该射线相交的物体。在计算出光线与物体表面的交点之后,离象素最近的交点的所在面片 的颜色为该象素的颜色;如果没有交点,说明没有多边形的投影覆盖此象素,用背景色显示它即可。 图 2.7.25 将通过屏幕各象素的投影线与场景中的物体表面求交 算法描述: for(屏幕上的每一象素) { 形成通过该屏幕象素(u,v)的射线; for(场景中的每个物体) 将射线与该物体求交; if (存在交点) 以最近的交点所属的颜色显示象素(u,v) else 以背景色显示象素(u,v) } 光线投射算法与 Z 缓冲器算法相比,它们仅仅是内外循环颠倒了一下顺序,所以它们的算法复杂度 类似。区别在于光线投射算法不需要 Z 缓冲器。为了提高本算法的效率可以使用包围盒技术,空间分 割技术以及物体的层次表示方法等来加速。 [上一页] [练习题] [下一章] [返回] 清华大学继续教育学院 Copyright © 1999-2000
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有