[图形学]图形裁剪_Cohen-Sutherland算法

        图形的裁剪算法就是判断图形是否在屏幕内,如果不在屏幕内就要将其裁剪再显示。它的基础就是直线的裁剪。

        在Cohen-Sutherland算法中,我们将每条线段的端点编码为

       

        对于一个屏幕,将其四边延长,可将空间分为如下九个区域,落入每个区域的端点编码如下:

       

 

          对于一条线段,其两个端点的编码分别为code1code2,那么:

        ①如果 code1 | code 2 == 0, 那么线段完全在窗口内,保留线段(简取)

        ②如果 code1 & code2 =0 ,那么线段完全在窗口外,舍弃线段(简弃)

        ③如果前两个都不满足,那么求出该线段与屏幕直线的交点,按交点把线段分段,然后对每一段进行12两个操作。

 

        不足之处:有时不在屏幕内的线段无法通过简弃排除,只能经历复杂的求交运算分段后,再把每一段都舍弃。

        对第三种情况的一种改进:中点分割法

        对线段P1P2,不断求其中点再对分开的两部分进行判断。

       ①如果中点不在窗口内,将中点和离窗口远的端点组成的线段舍弃。

       ②如果中点再窗口内,继续求中点与离窗口远的端点组成的线段的中点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值