计算机图形学 - 线段裁剪 - Cohen Sutherland算法

jopen 8年前

算法描述:

算法分为两部分:判断线段是否完全在窗口内,如果是,则该线段是完全可见的,如图中线段AB,否则判断是否为显然不可见,即线段的两端点均位于窗口某一条边的外侧,如图中CD;对于不能判定是完全可见或显然不可见的线段,则要进行求交计算,计算出直线段与窗口边界的一个交点,这个交点把线段分为两段,把其中一段是显然不可见的线段抛弃,对余下部分再作第一步判断,重复上述过程。

Cohen_Sutherland算法用编码的方法实现了对完全可见和完全不可见线段的快速判断,这使得该算法在两类场合中非常有效: 一是大窗口的场合,其中大部分线段为完全可见;另一类是窗口特别小的场合,其中大部分线段是完全不可见。

详细代码: Computer Graphics - code_1

生成结果:

来自: http://www.cnblogs.com/xd-g/p/5118736.html