计算机图形学综合题

上传人:F****n 文档编号:100170023 上传时间:2019-09-22 格式:DOC 页数:6 大小:91.50KB
返回 下载 相关 举报
计算机图形学综合题_第1页
第1页 / 共6页
计算机图形学综合题_第2页
第2页 / 共6页
计算机图形学综合题_第3页
第3页 / 共6页
计算机图形学综合题_第4页
第4页 / 共6页
计算机图形学综合题_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《计算机图形学综合题》由会员分享,可在线阅读,更多相关《计算机图形学综合题(6页珍藏版)》请在金锄头文库上搜索。

1、直线段的裁剪 CH05-2 假定直线段用p1(x1, y1)p2(x2, y2)表示。 直线段和剪裁窗口的可能关系:完全落在窗口内、完全落在窗口外或者与窗口边界相交。 图6-28 直线段与窗口的关系实交点与虚交点:实交点是直线段与窗口矩形边界的交点。虚交点则是直线段与窗口矩形边界延长线或直线段的延长线与窗口矩形边界的交点。(例如CD的延长线)图6-29 实交点与虚交点Cohen-Sutherland算法 1.基本思想对每条直线段p1(x1, y1)p2(x2, y2)分三种情况处理:(1)直线段完全可见,“简取”之。(2)直线段完全不可见,“简弃”之。(3)直线段既不满足“简取”的条件,也不满

2、足“简弃”的条件,需要对直线段按交点进行分段,分段后重复上述处理。2.编码:对于任一端点(x, y),根据其坐标所在的区域,赋予一个位的二进制码D3D2D1D0。编码规则如下图所示:上下右左 (1) 若xwxr,则D1=1,否则D1=0;(3) 若ywyt,则D3=1,否则D3=0。图5-30 窗口及区域编码3.裁剪 裁剪一条线段时,先求出端点p1和p2的编码code1和code2,然后(1)若code1|code2=0,对直线段应简取之。(2)若code1&code20,对直线段可简弃之。(3)若上述两条件均不成立。则需求出直线段与窗口边界的交点。在交点处把线段一分为二,其中必有一段完全在窗

3、口外,可以弃之。再对另一段重复进行上述处理,直到该线段完全被舍弃或者找到位于窗口内的一段线段为止。4.求交:假定直线的端点坐标为(x1, y1)和(x2, y2) (1)左、右边界交点的计算:y=y1+k(xx1);(2)上、下边界交点的计算:x=x1+(yy1)/k。 5.算法的步骤: (1)输入直线段的两端点坐标:p1(x1, y1)、p2(x2, y2),以及窗口的四条边界坐标:wyt、wyb、wxl和wxr。 (2)对p1、p2进行编码:点p1的编码为code1,点p2的编码为code2。 (3)若code1|code2=0,对直线段应简取之,(都为0000)转(6);否则,若code

4、1&code20,对直线段可简弃之,(至少有一位相同都为1)转(7);当上述两条均不满足时,进行步骤(4)。 (4)确保p1在窗口外部:若p1在窗口内,则交换p1和p2的坐标值和编码。 (5)根据p1编码从低位开始找码为1处,从而确定p1在窗口外的哪一侧,然后求出直线段与相应窗口边界的交点,并用该交点的坐标值替换p1的坐标值。也即在交点s处把线段一分为二,并去掉p1s这一段。考虑到p1是窗口外的一点,因此可以去掉p1s。转(2)。 (6)用直线扫描转换算法画出当前的直线段p1p2。 (7)算法结束。 6.特点:用编码方法实现了对完全可见和不可见直线段的快速接受和拒绝。6.5.3 多边形的裁剪

5、问题的提出:直接用直线段裁剪算法对多边形的每条边进行裁剪,会得到如下图b的结果,而实际结果应该如下图c所示。 (a)裁剪前 (b)直接采用直线段裁剪的结果 (c)正确的裁剪结果图6-32 多边形裁剪Sutherland-Hodgeman多边形裁剪 1.基本思想 将多边形的边界作为一个整体,每次用窗口的一条边界对要裁剪的多边形进行裁剪,体现分而治之的思想。2.算法实施策略 (1)为窗口各边界裁剪的多边形存储输入与输出顶点表。在窗口的一条裁剪边界处理完所有顶点后,其输出顶点表将用窗口的下一条边界继续裁剪。 (2)窗口的一条边以及延长线构成的裁剪线把平面分为两个区域,包含有窗口区域的一个域称为可见侧

6、;不包含窗口区域的域为不可见侧。 沿着多边形依次处理顶点会遇到四种情况: 图6-33 顶点输出策略 3.实例图6-34 裁剪结果 4.特点 可以正确地裁剪凸多边形,但裁剪凹多边形会出现如下图所示的问题。 即由于多边形是当作一个整体被裁剪的,若裁剪结果出现多个多边形时,Sutherland-Hodgeman多边形裁剪不能获得正确的结果。裁剪前 裁剪结果图6-35 裁剪前后对比Weiler-Atherton多边形裁剪 假定按顺时针方向处理顶点,且将用户多边形定义为Ps,窗口矩形为Pw。算法从Ps的任一点出发,跟踪检测Ps的每一条边,当Ps与Pw相交时(实交点),按如下规则处理:(1)若是由不可见侧

7、进入可见侧,则输出可见直线段,转(3);(2)若是由可见侧进入不可见侧,则从当前交点开始,沿窗口边界顺时针检测Pw的边,即用窗口的有效边界去裁剪Ps的边,找到Ps与Pw最靠近当前交点的另一交点,输出可见直线段和由当前交点到另一交点之间窗口边界上的线段,然后返回处理的当前交点;(3)沿着Ps处理各条边,直到处理完Ps的每一条边,回到起点为止。 下图示了Weiler-Atherton算法裁剪凹多边形的过程和结果。图6-36 Weiler-Atherton算法裁剪凹多变形阳气决定着脏腑的工作能力,而脏腑的工作能力又决定着身体的健康状况和寿命,所以说,想要身体好一点,寿命长一点,就要学会保护好我们的阳气,增加阳气。健康人晒晒太阳,就能吸收到充足的阳气了,但对于老年人和体质特别虚弱的人来说,恐怕吸收来的阳气也不够解燃眉之急的

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号