51.1直线裁剪的直接求交算法 在窗口内部>Y,<在育口内含亮全 至高] P=2 在窗口内部? 求交点工 es⊥t 为可见部分 显然不可见 exit 品2不可见 cent 8 与窗口有交 2不可见 求交点/、l1 exit n即为可见部分 f P又1t
5.1.1 直线裁剪的直接求交算法
F在窗口内部? R1在窗口内部? 完全可见 P=2 在窗口内部? 马= 求交京工 色t 为可见部分 显然不可见? exit h不可见 P csit <R与窗口有交个 H不可见 求交点a、l1, exit ln即为可见部分 e又1t
5.1.2直线段的 Cohen- Sutherland裁 剪算法 该算法的思想是:对于每条线段 P1P2分为三种情况处理 (1)若两端点P1P2完全在窗口 内,则完全可见该线段P1P2。否 则进入下一步; °(2)若线段PP2明显在窗口外, 即显然不可见,则丢弃该线段,否 则进入下一步; °(3)若线段既不满足(1)的条 囫 件,也不满足(2)的条件,则在 交点处把线段分为两段。其中一段 完全在窗口外,可弃之。然后对另 段重复上述处理
5.1.2 直线段的Cohen-Sutherland裁 剪算法 该算法的思想是:对于每条线段 P1P2分为三种情况处理。 l (1)若两端点P1P2完全在窗口 内,则完全可见该线段P1P2。否 则进入下一步; l (2)若线段P1P2明显在窗口外, 即显然不可见,则丢弃该线段,否 则进入下一步; l (3)若线段既不满足(1)的条 件,也不满足(2)的条件,则在 交点处把线段分为两段。其中一段 完全在窗口外,可弃之。然后对另 一段重复上述处理
算法实现 为使计算机能够快速判断一条直线段与 窗口属何种关系,采用如下编码方法。 延长窗口的边,将二维平面分成九个区 域。每个区域赋予4位编码 CtcbcrCl.其 中各位编码的定义如下:
算法实现 为使计算机能够快速判断一条直线段与 窗口属何种关系,采用如下编码方法。 延长窗口的边,将二维平面分成九个区 域。每个区域赋予4位编码CtCbCrCl.其 中各位编码的定义如下:
y>yna iy e5 other ym ax 10011100011010 YII aLi E 00010000 0010 ymin yimin 01011010010110 Xm if xmax x z增n <max 九个区