- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章图形设备、系统和应用.doc
第五章
圆与椭圆的扫描转换
圆的扫描转换
两种直接离散方法:
离散点 离散角度
resenham画圆算法
仅考虑圆心在原点,半径为R的第一象限上的一段圆弧。且取(0,R)为起点,按顺时针方向(+x, -y方向)绘制该1/4圆弧。
算法原理 :从当前点亮象素(x,y)出发,按顺时针方向生成圆时,最佳逼近该圆的下一个象素只可能为H、D、V三象素之一。H、D、V中距圆周边界距离最小者,即为所求的象素点;
H、D、V三点到圆心的距离平方与圆的半径平方差,即为H、D、V到圆弧距离的一种度量:为根据这些度量值可确定最佳象素点,首先,将H、D、V与理想圆弧的关系进行分类。
存在以下五种情况:
1)H、D、V全在圆内;
2)H在圆外,D、V在圆内;
3)D在圆上,H在圆外,V在圆内;
4)H、D在圆外,V在圆内;
5)H、D、V全在圆外。
§习题:使用Bresenham算法扫描转换圆的步骤是什么?
§解答:
-1、设置初始变量(h,k)=圆心坐标;x=0;y=圆的半径r;d=3-2r;
-2、测试整个圆是否已经扫描转换完。如果xy则停止;
-3、以中心(h,k)为对称点,对当前的(x,y)坐标画8个圆上的点:
Plot(x+h,y+k); plot(-x+h,-y+k);plot(y+h,x+k);plot(-y+h,-x+k)
Plot(-y+h,x+k);plot(y+h,-x+k);plot(-x+h,y+k);plot(x+h,-y+k);
-4、计算下一个象素的位置,如果d0,则d=d+4x+6,和x=x+1.如果d=0,则d=d+4(x-y)+10、x=x+1、y=y-1.
-5、转到步骤2;
§习题:当使用8路对称方法从0度到45度或90度到45度的8分圆中生成整个圆时,有些象素被设置或画了两次,这种现象成为重击。请说明如何判断重击发生?
§解答:
-在初始坐标为(r,0)或(0,r)时的位置。因为(0,r)= (-0,r), (0,-r)= (-0,-r), (r,0)= (r,-0), (-r,0)= (-r,-0);
-如果最后生成的象素在对角线上,坐标为(ar,ar),其中a约为0.7071,则在(ar,ar)、(-ar,ar)、(ar,-ar)、(-ar,-ar)处会发生重击;
§习题:重击除了浪费时间外还有其它坏处吗?
§解答:
-通常不会有问题;
-但是如果直接操纵输出设备,可能有问题
椭圆的扫描转换
§椭圆的中点算法
-算法原理
-1、上半部分:
§M(Xi+1,Yi-0.5)
-2、下半部分:
§M(Xi+0.5,Yi-1)
§注意:
-上半部分的终止判别;
-下半部分误差项的初值;
§算法步骤:
- 1.输入椭圆的长半轴a和短半轴b;
- 2.计算初始值d=b2+a2(-b+0.25)、x=0、y=b;
- 3.绘制点(x,y)及其在四分象限上的另外三个对称点;
- 4.判断d的符号。若d≤0,先将d更新为d+b2(2x+3),再将(x, y)更新为(x+1,y);否则将d更新为d+b2(2x+3)+a2(-2y+2),再将(x,y)更新为(x+1,y-1);
- 5.当b2(x+1)a2(y-0.5)时,重复步骤3和4。否则转到步骤6;
- 6.用上半部分计算的最后点(x,y)来计算下半部分中d的初值:
- 7.绘制点(x,y)及其在四分象限上的另外三个对称点;
- 8.判断d的符号:
§若d≤0,则先将d更新为b2(2xi+2)+a2(-2yi+3),再将(x,y)更新为(x+1,y-1);
§否则先将d更新为d+a2(-2yi+3),再将(x,y)更新为(x,y-1);
- 9.当y0时,重复步骤7和8。否则结束;
区域填充
多边形域的填充
§多边形的表示方法:
-顶点表示:用多边形的顶点序列刻划多边形;
-点阵表示:用位于多边形内象素的集合来刻划多边形;
-扫描转换多边形:将顶点表示形式转换成点阵表示形式;
您可能关注的文档
最近下载
- 2025年江西教师招聘笔试小学语文真题及解析 .pdf VIP
- 2024年北京预防接种技能竞赛理论考试题库资料(含答案).pdf VIP
- 2024年全省预防接种技能竞赛理论考试题库资料-下(判断题汇总).pdf VIP
- 人教版语文五升六暑假作业每日一练(共40天).docx VIP
- 数控机床自动回转刀架设计.doc VIP
- 2024年山东省预防接种技能竞赛理论考试题库资料(含答案).pdf VIP
- 某国企公司纪委开展酒驾醉驾职工违法涉罪问题治理工作自查报告.docx VIP
- 2025监督执纪工作规则.pptx VIP
- 2024年海南省预防接种技能竞赛理论考试题库资料(含答案).pdf VIP
- 数据中心灾难恢复策略与实施.docx VIP
文档评论(0)