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

版权声明:本文为博主原创文章,欢迎转载,转载请贴上博客地址 http://blog.csdn.net/xdg_blog https://blog.csdn.net/xdg_blog/article/details/52848899
算法描述:

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

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

详细代码:计算机图形学 - Code 1

生成结果:

  

猜你喜欢

转载自blog.csdn.net/xdg_blog/article/details/52848899