计算机图形学实验报告直线(计算机图形学实验报告初始点的绘制)
1928
2024-02-04
牛皮克拉斯的大致内容分享到此结束,希望对家长有所帮助。
各位朋友大家好,常识网编辑在此为各位朋友解答以上问题。计算机图形学实验报告点绘制,计算机图形学实验很多人还不知道这一点。现在我们下去吧!
1.该算法的思想是将每个线段P1P2分为三种情况。
2.(1)如果P1P2完全在窗口内,将显示线段P1P2。
3.(2)如果P1P2明显在窗口之外,则丢弃该线段,简称“丢弃”。
4.(3)如果线段既不满足“取”的条件,也不满足“弃”的条件,则在交点处将线段分成两段。
5.有一段完全在窗外,可以丢弃。
6.然后对另一段重复上述处理。
7.为了使计算机快速判断直线段与窗口的关系,采用以下编码方法。
8.扩展窗口的边缘,并将二维平面划分为九个区域。
9.每个区域都有一个4位代码CtCbCrCl。
10.每个代码的定义如下:图2.5.2多边形裁剪区域编码图2.5.3裁剪线段时,首先找出P1P2所在的区域代码1和代码2。
11.如果代码1=0,代码2=0,则线P1P2在窗口中,应该取线。
12.如果按位AND运算code1&code2≠0,则表示两个端点位于窗口的顶部、底部、左侧或右侧。
13.可以判断该线段完全在窗口之外,可以丢弃。
14、否则,按第三种情况处理。
15.找出线段和窗户边的交点,并在交点处将线段一分为二。其中一个必须在窗外,可以丢弃。
16.对另一个段落重复上述过程。
17.在实现该算法时,不需要依次将线段与每个窗口边界相交。只有当按顺序检测到端点的编码不为0时,线段才会与相应的窗口边界相交。
18.Cohen-Sutherland裁剪算法# define left 1 # define right 2 # define bottom 4 # define to P8 int encode(float x,float y){ int c = 0;if(xXR)c | = RIGHT;如果(x