- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Output Primitives.ppt
Output Primitives Lectured by Hua Yan Agenda Circle-generating Algorithm圆生成算法 Mid-point Bresenham (supplement) Fill-Area Primitives填充图元 Character generation字符生成 QA 3.4 圆生成算法 圆的属性(P.80) 中点画圆算法(P.82) 3.4.1 圆的属性 圆的方程 (x-xc)2+(y-yc)2=r2 x=xc + r cosθ y=yc + r sinθ 圆的对称性 直接基于圆的方程绘圆 圆的标准方程 (x-xc)2+(y-yc)2=r2 y= yc ? sqrt(r2-(x-xc)2) 圆的极坐标参数方程 x=xc+r cosθ y=yc+r sinθ 圆的标准方程包括乘法和平方根运算 圆的极坐标参数方程包含乘法和三角运算 3.4.2 中点画圆算法 IDEA 公式推导(P.82) 算法描述 程序实现(P.85) Example (P.84) 公式推导 假定f(x,y)=x2+y2-r2 0 if (x,y) is 圆边界内 f(x,y) =0 if (x,y) is 圆边界上 0 if (x,y) is 圆边界外 pi = f(xi+1, yi-0.5) = (xi+1)2+(yi-0.5)2-r2 if pi 0, 选择 (xi+1, yi) 否则 选择 (xi+1, yi-1) 公式推导 pi+1 = f(xi+1+1, yi+1-0.5) = (xi+1+1)2+(yi+1-0.5)2-r2 pi+1 = pi+2(xi+1)+(yi+12-yi2)-(yi+1-yi)+1 pi+2xi+1+1 pi0 pi+1 = pi+2(xi+1-yi+1)+1 pi=0 p0 = 5/4 - r = 1- r P0=1-10=-9 P1=-9+2*1+1=-6 P2=-6+2*2+1=-1 P3=-1+2*3+1=6 P4=6+2*(4-9)+1=-3 P5=-3+2*5+1=8 P6=8+2*(6-8)+1=5 3.4.3 Bresenham画圆算法 思想 判断公式 算法描述 程序实现 举例 Bresenham 算法思想 通过比较距离的平方,避免平方根的计算 Bresenham画圆算法公式推导 d1=yk2-y2= yk2-r2+(xk+1) 2 d2= y2-(yk-1)2= r2-(xk+1)2-(yk-1) 2 pk = d1-d2 =2 (xk+1)2+ yk2 + (yk-1)2-2r2 如果 pk 0, 选择 (xk+1, yk) 否则选择(xk+1, yk-1) Bresenham画圆算法公式推导 pk+1 = 2((xk+1)+1) 2+(yk+1-1) 2+yk+12-2r2 pk+1 = pk+4xk+2(yk+12-yk2)-2(yk+1-yk)+6 p0 = 3 - 2r Bresenham画圆算法的步骤 1) 输入圆半径r和圆心(xc, yc), 获得第一个点:(x0, y0) = (0, r) 2) 计算P0 = 3 - 2r; 3) 根据公式计算Pk+1,确定下一点; 如果 pk 0, 选择 (xk+1, yk) pk ≥0, 选择(xk+1, yk-1) 4) 确定对称点; 5) 重复步骤3),直至x ≥ y Bresenham画圆算法举例 圆半径r=10 P0= 3-20=-17 P1= -17+4*0+6=-11 P2= -11+4*1+6=-1 P3= -1+4*2+6=13 P4= 13+4*(3-10)+10=-5 P5= -5+4*4+6=17 P6= 17+4*(5-9)+10=11 Bresenham画圆算法举例 圆半径r=10 Summary Bresenham算法以决策参数的增量计算为基础,仅包括简单的整数处理 中点方法更易应用于其他圆锥曲线,沿任何圆锥曲线所确定的像素位置,其误差限制在像素分段的1/2以内 3.5 区域填充图元 凹多边形的问题 凹多边形的填充算法以及其他子程序的实现比较复杂,因此在处理前需要将凹多边形分割成一组凸多边形以提高算法效率。图形函数库中一般不包含凹多边形分割的函数。 识别方法 叉积法 延长线法 3.6.4 内外测试 目标:
您可能关注的文档
- maydeal3.ppt
- MDM300 & MDM300IS.ppt
- Meaning Vocabulary Ch. 6.ppt
- Menopause.ppt
- Merge Sort.ppt
- Metaphysical Poetry.ppt
- mián.ppt
- Microsoft.com.ppt
- Mixed culture biotechnology for bioenergy production.ppt
- MKT201 – Buyer Behavior.ppt
- 2022安徽省明光市中考物理模拟题库【全优】附答案详解.docx
- 2022安徽省天长市中考物理高分题库附答案详解【基础题】.docx
- 宏光MINIEV电动汽车故障与排除.docx
- 2022安徽省巢湖市北师大版7年级数学上册期中测试卷及参考答案详解【达标题】.docx
- 2022安徽省巢湖市北师大版7年级数学上册期中试题预测试卷及1套完整答案详解.docx
- 2025精选营业场所消防应急预案.pptx
- 2022四川省阆中市中考物理试题预测试卷及答案详解(网校专用).docx
- 2022四川省阆中市中考物理试题预测试卷含答案详解【夺分金卷】.docx
- 2022四川省阆中市中考物理通关题库附参考答案详解(黄金题型).docx
- 2022安徽省巢湖市北师大版7年级数学上册期中试卷附答案详解(综合题).docx
文档评论(0)