- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch03直线、圆、椭圆及生成2008
数值微分(DDA)法 if( abs(x1-x0)=abs(y1-y0) then Length= abs(x1-x0) else Length= abs(y1-y0) end if %选取?x和?y大者作为步长 ?x=(x1-x0)/Length ?y=(y1-y0)/Length x=x0+0.5 y=y0+0.5 %开始主循环 i=1 while(i=Length) Setpixel(int(x),int(y)) x=x+ ?x y=y+ ?y i=i+1 end while 角度DDA法 x=x0+Rcos? y=y0+Rsin? dx=-Rsin?d? dy=Rcos?d? xn+1=xn+dx yn+1=yn+dy xn+1=xn+dx=xn-Rsin?d? =xn-(yn-y0)d? yn+1=yn+dy=yn+Rcos?d? =yn+(xn-x0)d? 显然,确定x,y的初值及d?值后,即可以增量方式获得圆周上的坐标,然后取整可得象素坐标。但要采用浮点运算、乘法运算、取整运算。 利用圆的对称性,只须讨论1/8圆。第二个8分圆 P为当前点亮象素,那么,下一个点亮的象素可能是P1(xp+1,yp)或P2(xp+1,yp-1)。 中点画圆法 M P1 P2 P(xp,yp) 中点画圆法 构造函数:F(x,y)=x2 + y2 - R2;则 F(x,y)= 0, (x,y)在圆上; F(x,y) 0, (x,y)在圆内; F(x,y) 0, (x,y)在圆外。 设M为P1、P2间的中点,M=(xp+1,yp-0.5) M P1 P2 P(xp,yp) 中点画圆法 有如下结论 F(M) 0 F(M)? 0 为此,可采用如下判别式 M在圆内 取P1(xp+1,yp) M在圆外 取P2(xp+1,yp-1) dp=F(M) =F(xp+1, yp-0.5) =(xp+1)2+(yp-0.5) 2-R2 M P1 P2 P(xp,yp) 中点画圆法 若dp0, 则P1为下一个象素,那么再下一个象素的判别式为: dp+1 = F(xp+1+1, yp+1- 0.5) = (xp + 2)2 + (yp - 0.5)2- R2 = dp + 2xp +3 即: d 的增量为 2xp+3 M P1 P2 P(xp,yp) 若dp ?0, 则P2 为下一个象素,那么再下一个象素的判别式为: dp+1 = F(xp+1+1,yp+1-0.5) = (xp+2)2+ (yp-1.5)2-R2 = dp+(2xp+3)+(-2yp+2) 即d 的增量为 2 (xp-yp)+5 = dp+2(xp-yp) +5 M P1 P2 P(xp,yp) 中点画圆法 中点画圆法 初始决策参数 计算的起始位置为(x0,y0)=(0,R) d0=F(x0+1,y0-0.5) =F(1,R-0.5) 即:d0=5/4-R =1+(R-1/2)2-R2 假定将半径R指定为整数,则可以对d0进行简单取整 d0=1-R (R 为整数) 因为所有的增量为整数 中点画圆算法的步骤总结 1、输入圆半径R和圆心(xc,yc),并得到圆周(圆心在原点)上的第一个点 (x0,y0)=(0,R) 2、计算出初始决策参数值:d0=5/4-R(或 d0=1-R) 3、从k=0开始,在每个xk位置,完成以下测试: 若dk0,圆心在 (0,0)的圆的下一点坐标(xk+1,yk+1)=(xk+1,yk),并且dk+1= dk + 2xk +3 否则,圆的下一点坐标(xk+1,yk+1)=(xk+1,yk-1),并且dk+1= dk + 2(xk–yk)+5 中点画圆法 中点画圆法 5、将每个计算出来的像素位置 (xk,yk)移到圆心在(xc,yc)圆的对应位置上,即: xk=xk+xc,yk=yk+xc 并画出坐标值。 6、重复步骤3到步骤5,直到x≥y为止 4、确定在其它七个八分圆中的对称点 【例】使用中点画圆法画圆心在原点,半径为10的图 初始决策参数d0=1-R=-9,初始点(x0,y0)=(0,10) 0 0 1 2 3 4 5 6 7 8 9 10 1 2 3 6 7 4 5 8 9 10 x y y=x k dk xk yk 0 -9 0 10 1 -6 1 10 2 -1 2 10 3 6 3 10 4 -3 4 9 5 8 5 9 6 5 6 8 中点画圆法
您可能关注的文档
最近下载
- 《信用卡营销策略》课件.ppt VIP
- 2024年全国高考数学真题分类(-三角函数与解三角形)汇编(附答案).pdf VIP
- 班会课件不说脏话.pptx VIP
- 吊篮施工安全技术管理交流.ppt VIP
- 高速数字电路设计及EMC设计(华为)..doc VIP
- (完整word版)糖尿病酮症酸中毒抢救预案及流程.docx VIP
- 自考03709马克思主义基本原理概论(2023年高教版)全书知识点汇总.pdf VIP
- 园区物业服务投标方案.doc VIP
- 湖泊(水库)富营养化评价方法及分级计算.xls VIP
- TZS 0678—2025《生物安全实验室工作人员本底血清样本管理规范》(水印版).pdf VIP
文档评论(0)