下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1Chapter3
BasicRasterGraphicsAlgorithmsforDrawing2DPrimitives
基本二维图元的生成算法2本章内容(outline)直线的扫描转换(SCANCONVERTINGLINES)圆与椭圆的扫描转换(SCANCONVERTINGCIRCLEANDELLIPSE)区域填充(FILLINGREGION)字符生成(GENERATINGCHARACTERS)反走样(ANTIALIASING)二维裁剪(2DCLIPPING)3图形扫描转换(scan-conversion)Scan-conversion:确定一个象素集合及其颜色,用于显示一个图形的过程,称为图形的扫描转换或光栅化。图形扫描转换分为两步:
确定有关(组成图形的)象素;用图形的颜色或其他属性对象素进行写操作。4TheoutputpipelineToclipaprimitivepriortoscanconversionMostoftenforlines,rectangles,polygonsToscanconvertaprimitivepriortoclippingGeneralizestoarbitraryclipregionsGeneratetheentirecollectionofprimitivesintoatemporarycanvasandthentocopyPixelonlythecontentsofthecliprectangletothedestinationcanvasOftenusedfortext5Scanconvertinglines用离散点集逼近采用几何方式定义的直线段(注意斜率slope)6SCANCONVERTINGLINES(直线的扫描转换)问题
给定直线段的两个端点(x0,y0)和(x1,y1),
把其在光栅扫描显示器上显示出来.描述
理想的直线段:没有线宽,由无数个点构成光栅扫描显示器上:有限个象素组成,有线宽.7ScanconvertinglineEqualsto:GiventheendpointsandthecolorofthelineComputingthecoordinatesofthepixelsthatlieonornearanideallineWritingthepixelsbythecolor8p0p1●●●●●●表示:用最靠近直线的一些网格点来代表它直线的表示直线的表示(therepresentationoflines)9两种基本的直线扫描转换算法数值微分法(DigitalDifferentialAnalyzer-DDA)也称为基本增量法(BasicIncrementalAlgorithm)中点画线法(MidpointLineAlgorithm)BresenhamLineAlgorithm10PrincipleofBasicIncrementalAlgorithm(1)(xi,Round(yi))(xi,yi)(xi+1,Round(yi+k))(xi+1,yi+k)11方法数值微分法(DDA---DigitalDifferentialAnalyzer)
12数值微分法(DDA)13令yir=round(yi)所求点坐标为(round(xi+1),round(yi+1))其中,xi+1=xi+1,yi+1=yi+m;数值微分法(DDA)14数值微分法(DDA)●●●●●p1p0●●问题若|m|>1,则x向每变化1个单位,y向有可能超出1个步长15数值微分法(DDA)最大步长(步距)步进方向:的方向16数值微分法(DDA)17数值微分法(DDA)算法:18数值微分法(DDA)voidLine(/*Assumes-1<m<l,x0<x1*/int
x0,int
y0,/*Leftendpoint*/
int
x1,int
y1,/*Rightendpoint*/int
value)/*Valuetoplaceinline'spixels*/{int
x;/*xrunsfromx0tox1inunitincrements*/double
dy=y1-y0:double
dx=x1-x0;double
m=dy/dx;double
y=y0;for
(x=x0;x<=x1;x++){PutPixel(x,Round(y),value);/*Setpixeltovalue*/y+=m;/*Stepybyslopem*/}}/*Line*/
Theincrementallinescan-conversionalgorithm.19算法优点:简单、自然。算法缺点:用到了浮点运算,计算效率低。自变量的选择可根据斜率确定,以得到最佳的直线效果:数值微分法(DDA)20中点画线法(MidpointLineAlgorithm)问题引出
为解决DDA算法中需要浮点数进行运算,且输出时需取整的不利条件,可以用中点画线法。假设直线的斜率m∈[0,1],两个端点分别是(x0,y0),(x1,y1)。21P(xp,yp)P1(xp+1,yp)中点判别方法示意图QP2(xp+1,yp+1)MMidpointLineAlgorithm(1)22思想当前一点已确定,用P(xp,yp)来代表时,下一点仅有可能在P1和P2中选,用M表示P1,P2的中点,M(xp+1,yp+0.5)。Q是理想直线上x=xp+1处的点.比较M和Q的位置关系,以确定下一点的走向.MidpointLineAlgorithm(2)23比较M和Q:若M位于Q的下方,即ym<yq,则应取p2点;若M位于Q的上方,即ym>yq,则应取p1点;原则:
当两侯选点的中点落在直线下方时,选较高点,否则选较低点。MidpointLineAlgorithm(3)24直线的正负划分性l=F(x,y)=0(x0,y0)F(x0,y0)>0F(x0,y0)<025直线的正负划分性则该直线将其所在空间一分为二:设平面直线方程为:26MidpointLineAlgorithm(4)定义直线函数:特点:其中:27MidpointLineAlgorithm(5)Definedecisionfunction(构造判别函数):Definedecisionvariable(引入判别参数):其中:28MidpointLineAlgorithm(6)算法描述:(假设X方向的步长为1)问题:如何快速计算判别参数的值?采用增量计算方法优化判别公式的计算29如黄色线所示情形如蓝色线所示情形MidpointLineAlgorithm(7)30MidpointLineAlgorithm(8)P(xp,yp)P2(xp+1,yp+1)P1(xp+1,yp)QMM1P4(xp+2,yp+1)P3(xp+2,yp)(xp+2,yp+0.5)31MidpointLineAlgorithm(9)32MidpointLineAlgorithm(10)ThefirstdecisionvariabledstartisThefirstmidpointisat(x0+1,y0+0.5),33算法的递推公式是:MidpointLineAlgorithm(11)递推公式:34消除浮点数的算法公式是:MidpointLineAlgorithm(12)当直线斜率的绝对值大于1时,x,y互换;此时应判别点在直线的左/右侧关系。35例:用中点画线法光栅化一条连接两点(0,0)和(5,2)的直线段,写出计算过程。Example(1)36xydOutpixel初始x=012340123450011221-33-151(0,0)(1,0)(2,1)(3,1)(4,2)(5,2)递推如下:Example(2)37456321001234567Example(3)Thepixelsthatapproximatethelinefrompoint(0,0)topoint(5,2)usingmidpointalgorithmandtheidealline.381.思考题:请考虑如何将该算法推广到任意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度校园食堂早餐配送服务合同3篇
- 机械课程设计网
- 2024农场现代农业示范区物业管理与智慧农业技术合作合同3篇
- 幼儿园复学课程设计
- 幼儿手工粘土课程设计
- 树的应用课程设计
- 客户年会发言稿
- 2025年山东淄博高新区事业单位名校人才特招行动(第五批)招聘25人管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁金乡县事业单位招聘工作人员(综合类)44人历年管理单位笔试遴选500模拟题附带答案详解
- 2025年山东济宁市邹城市阳光圣城教育发展集团人员招聘8人管理单位笔试遴选500模拟题附带答案详解
- 2024-2030年中国除颤仪行业市场分析报告
- 历史-安徽省皖江名校联盟2025届高三12月联考试题和答案
- 2024年高一上学期期末数学考点《压轴题》含答案解析
- 成都中医药大学博士申请
- 公司业绩汇报及规划
- 统编版(2024版)七年级上册历史期末复习课件
- 【MOOC】工程制图-北京科技大学 中国大学慕课MOOC答案
- 招标代理岗位职责规章制度
- 2024年电大劳动与社会保障法期末考试题库及答案
- MOOC 传热学-西安交通大学 中国大学慕课答案
- 2024年四川省自然资源投资集团有限责任公司招聘笔试参考题库附带答案详解
评论
0/150
提交评论