(3.5.1.2)--图形学课件高级计算机图形学原理与实践.ppt

上传人:奉*** 文档编号:96506897 上传时间:2023-12-10 格式:PPT 页数:9 大小:441.96KB
返回 下载 相关 举报
(3.5.1.2)--图形学课件高级计算机图形学原理与实践.ppt_第1页
第1页 / 共9页
(3.5.1.2)--图形学课件高级计算机图形学原理与实践.ppt_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《(3.5.1.2)--图形学课件高级计算机图形学原理与实践.ppt》由会员分享,可在线阅读,更多相关《(3.5.1.2)--图形学课件高级计算机图形学原理与实践.ppt(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、裁剪算法 多边形裁剪算法多边形裁剪算法多边形裁剪算法 Sutherland-Hodgman裁剪算法又称为逐边裁剪算法,基本思想是用裁剪窗口的4条边依次对多边形进行裁剪。窗口边界的裁剪顺序无关紧要,这里采用左、右、下、上的顺序。多边形裁剪算法的输出结果为裁剪后的多边形顶点序列。错误结果正确结果算法原理算法原理 输入:P0P1P2P3输出:S0S1P1P2P3(a)用窗口左边界裁剪输入:S0S1P1P2P3输出:S0S1P1S2S3P3(b)用窗口右边界裁剪输入:S5S0S1P1S2S3S4输出:S5S0S1S6S7S2S3S4(b)用窗口右边界裁剪输入:S0S1P1S2S3P3输出:S5S0S1

2、P1S2S3S4(c)用窗口下边界裁剪示例凹多边形使用Sutherland-Hodgman裁剪算法裁剪后,输出结果为两个不连通的三角形,窗口的边界AB成为了多余线段。为了正确地裁剪凹多边形,一种方法是先将凹多边形分割为两个或更多的凸多边形,然后分别使用Sutherland-Hodgman裁剪算法裁剪。另一种方法是使用Weiler-Atherton 裁剪算法。该算法适用于任何凸的、凹的带内孔的多边形裁剪,但计算工作量很大。凹多边形裁剪错误的输出结果 void CTestView:ClipPolygon(CP2*out,int Length,UINT Boundary)CP2*pTemp=new

3、CP2Length;for(int i=0;iLength;i+)pTempi=outi;CP2 p0,p1,p;/p0-起点,p1-终点,p-交点OutCount=0;p0=pTempLength-1;for(i=0;iLength;i+)p1=pTempi;if(Inside(p0,Boundary)/起点在窗口内if(Inside(p1,Boundary)/终点在窗口内,属于内内OutOutCount=p1;/终点在窗口内OutCount+;else/属于内外p=Intersect(p0,p1,Boundary);/求交点OutOutCount=p;OutCount+;else if(I

4、nside(p1,Boundary)/终点在窗口内,属于外内p=Intersect(p0,p1,Boundary);/求交点OutOutCount=p;OutCount+;OutOutCount=p1;OutCount+;p0=p1;delete pTemp;多边形裁剪算法习题习题1 用编码裁剪算法裁剪线段P0(0,2),P1(3,3),裁剪窗口为wxl=1,wxr=6,wyb=1,wyt=5,如右图所示。要求写出:(1)窗口边界划分的9个区间的编码原则。(2)线段端点的编码。(3)裁剪的主要步骤。(4)裁剪后窗口内直线段的端点坐标。P0P1直线段裁剪习题习题2 已知裁剪窗口为wxl=0,wxr=2,wyb=0,wyt=2,直线段的起点坐标为P1(3,3)终点坐标为P2(-2,-1),如右图所示。请用Liang Barsky直线段裁剪算法分步说明裁剪过程,并求出直线在窗口内部分的端点C和D的坐标值。P2P0CD 直线段裁剪直线段裁剪

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁