- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机图形学_第八章_开窗口与二维裁剪
Lecture 8
开窗口及二维裁剪 ;概述;8.1 开窗口及裁剪的基本概念 ;8.1.1 坐标系 ;建模坐标系 ;世界坐标系 ;设备坐标系 ;规格化设备坐标系 ;坐标系变换;8.1.2 窗口与视区 ;8.1.2 窗口与视区;窗口与视区;8.1.3 窗口在图形显示中的应用 ;8.2 窗口到视区的变换 ;窗口到视区的变换;窗口到视区的变换;窗口到视区的变换;8.3 裁剪 ;点的裁剪;8.3.1直线的裁剪;实交点是直线段与窗口矩形边界的交点。
虚交点则是直线段与窗口矩形边界延长线或直线段的延长线与窗口矩形边界的交点。?;基本思想:对每条直线段p1(x1,y1)p2(x2,y2)分三种情况处理:
(1) 直线段完全可见,“简取”之。
(2) 直线段完全不可见,“简弃”之。
(3) 直线段既不满足“简取”的条件,也不满足“简弃”的条件,需要对直线段按交点进行分段,分段后重复上述处理。?;编码 每条线段的端点都赋以四位二进制码D3D2D1D0 (上下右左) ,称为区域码(region code),用来标识出端点相对于裁剪矩形边界的位置。编码规则如下:
若xxl,则D0=1,否则D0=0;
若xxr,则D1=1,否则D1=0;
若yyb,则D2=1,否则D2=0;
若yyt,则D3=1,否则D3=0。
任何位赋值为1,代表端点落在相应的位置上,否则该位为0。若端点在裁剪矩形内,区域码为0000。如果端点落在矩形的左下角,则区域码为0101,其它类推。;裁剪 裁剪一条线段时,先求出端点p1和p2的编码code1和code2,然后:
(1)若code1|code2=0,对直线段应简取之。
(2)若code1code2≠0,对直线段可简弃之。
(3)若上述两条件均不成立。则需求出直线段与窗口边界的交点。在交点处把线段一分为二,其中必有一段完全在窗口外,可以弃之。再对另一段重复进行上述处理,直到该线段完全被舍弃或者找到位于窗口内的一段线段为止。;求交:假定直线的端点坐标为(x1,y1)和(x2,y2)
左、右边界交点的计算:
下、上边界交点的计算:?
计算线段P1(x1,y1)P2(x2,y2)与窗口边界的交点
if(LEFTcode !=0)
{x=XL; y=y1+(y2-y1)*(XL-x1)/(x2-x1);}
else if(RIGHTcode !=0)
{x=XR; y=y1+(y2-y1)*(XR-x1)/(x2-x1);}
else if(BOTTOMcode !=0)
{y=YB; x=x1+(x2-x1)*(YB-y1)/(y2-y1);}
else if(TOP code !=0)
{y=YT; x=x1+(x2-x1)*(YT-y1)/(y2-y1);}
;算法的步骤:
(1)输入直线段的两端点坐标:p1(x1,y1)、p2(x2,y2),以及窗口的四条边界坐标:yt、yb、xl和xr。
(2)对p1、p2进行编码:点p1的编码为code1,点p2的编码为code2。
(3)若code1|code2=0,对直线段应简取之,转(6);否则,若code1code2≠0,对直线段可简弃之,转(7);当上述两条均不满足时,进行步骤(4)。
(4)确保p1在窗口外部:若p1在窗口内,则交换p1和p2的坐标值和编码。
(5)按左、右、下、上的顺序求出直线段与窗口边界的交点,并用该交点的坐标值替换p1的坐标值。也即在交点s处把线段一分为二,并去掉p1s这一段。考虑到p1是窗口外的一点,因此可以去掉p1s。转(2)。
(6)用直线扫描转换算法画出当前的直线段p1p2。
(7)算法结束。;//程序8-1区域码直线裁剪算法;;;8.3.3 中点分割算法 ;;8.3.4 Liang - Barsky算法 ;Liang - Barsky算法;Liang - Barsky算法;Liang - Barsky算法;Liang - Barsky算法;//程序8_2 Liang_Barsky裁剪算法;;;8.4 多边形裁剪 ;多边形裁剪;8.4.1 Sutherland-Hodgman算法 ;Sutherland-Hodgman算法;//程序8-3 Sutherland-Hodgman多边形裁剪;;;Sutherland-Hodgman算法;8.4.2 Weiler-Atherton算法 ;Weiler-Atherton算法;Weiler-Atherton算法;Weiler-Atherton算法;Weiler-Atherton算法;8.5 文本裁剪 ;8.5.1 以串为单位的裁剪 ;8.5.2 以字符为单位的裁剪 ;矢量裁剪 ;8.6 二维图形显示流程 ;8.7 OpenGL视区变换
您可能关注的文档
- 胜利油田老油区CO_2提高原油采收率与其地质埋存潜力评估.pdf
- 脑卒中后并发吸入性肺炎临床分析.pdf
- 背靠背电压源型变流器非线性解耦矢量控制.pdf
- 脉冲电流对7475铝合金超塑性变形力学性能影响.pdf
- 电大_企业战略管理_多选题.doc
- 腐植酸聚合缓释肥对玉米产量与相关性状影响_李品著.pdf
- 胶莱盆地莱阳凹陷莱阳组低渗透砂岩储层特征与物性控制因素 - 副本.pdf
- 脑血栓与血小板活化关系研究.pdf
- 脑苷肌肽治疗新生儿缺氧缺血性脑病系统评价_陈路佳_王凌_王传伟_蒋学华.pdf
- 脂肪干细胞成脂分化研究进展_陈犹白_陈聪慧_QixuZhang_韩岩.pdf
- 必修2第三课 我国的经济发展-高考政治一轮复习考点课件.pptx
- 高一政治开学第一课(初高衔接课).pptx
- 6.1《记念刘和珍君》课件-高二语文(统编版选择性必修中册).pptx
- 第05讲 三国两晋南北朝的政权更迭与民族交融(课件)高三历史一轮复习课件(新教材新高考).pptx
- 第2课 从“贞观之治”到“开元盛世”(课件)七年级历史下册课件(统编版).pptx
- 专题01:驳论文的写作指导-高二语文单元写作深度指导(统编版选必上册).docx
- Unit 6(第1课时 Section A 1a-1e)(教学设计)七年级英语上册(人教版2024).docx
- 3.2细胞器之间的分工合作第2课时课件-高一上学期生物人教版必修1.pptx
- 8.3《党费》课件-高二语文(统编版选择性必修中册).pptx
- 第4课 唐朝的中外文化交流(课件)七年级历史下册课件(统编版).pptx
最近下载
- 2023混凝土制品用脱模剂应用技术规程.pdf
- 2024年中考语文二轮复习:名家散文阅读(汪曾祺)练习题汇编(含答案解析).pdf VIP
- 乳腺癌病人的护理查房ppt课件.pptx
- 消防安全知识培训课件(共50张PPT).pptx
- 大学生职业规划大赛《汉语国际教育专业》生涯发展展示PPT.pptx
- 2024年中考语文二轮复习:名家散文阅读(林清玄)练习题汇编(含答案解析).pdf VIP
- 财务部门主要岗位的绩效考核关键指标.docx
- gso 98-1988-中文版-机动车辆——内饰材料的可燃性及其试验方法.doc
- 小学数学一年级上册11-20个数的认识试卷.doc VIP
- 早产儿护理查房课件.ppt
文档评论(0)