[理学]第3章 二维线画图元及属性.ppt

  1. 1、本文档共60页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第3章 二维线画图元及属性

3.2.1 圆的八点对称 利用圆周坐标的对称性,可将圆周分为8个象限,只要将第1a象限中的圆周光栅点求出,其余7部分圆周就可以通过对称法则计算出来。 如位于1/8圆周上的一个点(x,y),可以把x,y值进行交换及改变x、y值的符号,从而在圆周上映射出另外7个点,这种性质称为八点对称 (x, y) (y, x) (y, -x) (x, -y) (-x, -y) (-y, -x) (-y, x) (-x, y) 3.2.1 圆的八点对称 在x=y时,不应该调用函数Cirpot(),因为上面的程序将对称轴上的4个像素重绘两次,当采用异或方式绘图时,圆上会出现4个缺口。 Bresenham画圆法 中点画圆法 生成圆弧的其它算法 圆的扫描转换算法有: 圆的解析方程有: 利用圆的一般方程画圆 ( x – a )2 + ( y – b )2 = r2 利用极坐标方程画圆 x = a + 2r cos2θ y = b + r sin2θ 3.2.2 Bresenham画圆法 (x, y) H(x+1, y) D(x+1, y-1) 只考虑位于第一象限1/8圆弧的画法,即(0,R)~(R/ , R/ ) 基本思想: 对于在第一象限内顺时针确定最佳逼近于圆弧的像素序列时,从任一像素出发,下一像素的取法有两种可能,分别为图示的H、D点。 3.2.2 Bresenham画圆法 显然应选择离圆弧最近的像素点作为显示圆弧的点,应对以下误差项作比较。 两点到圆心的距离平方与圆弧上任一点到圆心的距离平方(R2)之差分别为: ◎ΔH = ( x +1)2 + ( y )2 – R2 ◎ΔD = ( x +1)2 + ( y–1)2 – R2 (x, y) H(x+1, y) D(x+1, y-1) 引入判别式: di=| ΔH |-| ΔD | di=0,则选择D,且yi+1=yi-1 di0,则选择H,且yi+1=yi 3.2.2 Bresenham画圆法 理想圆周穿过垂线x=xi+1存在5种情况 (1)H、D均在圆内 → ΔH0 , ΔD<0 取更靠近理想圆周的H (2)H在圆上,D在圆内 → ΔH=0 ,ΔD<0,取H (3)H在圆外,D在圆内 → ΔH0, ΔD 0 (4)H在圆外,D在圆上 → ΔH>0,ΔD=0 取D (5)H、D均在圆外 → ΔH>0,ΔD>0取更靠近理想圆周的D (x, y) H(x+1, y) D(x+1, y-1) 3.2.2 Bresenham画圆法 1.如何处理情况(3)呢?H在圆外,D在圆内 即ΔH0, ΔD0 di=| ΔH |-| ΔD | → di= ΔH +ΔD di=0,选择D, di0,选择H 2.情况(1)和(2),由于ΔH=0, ΔD 0,代入上式,得di0,应选H 3.情况(4)和(5),由于ΔH0, ΔD =0,代入上式,得di0,应选D 如何简化di的计算? 3.2.2 Bresenham画圆法 di=ΔH +ΔD =(xi+1)2+yi2-R2+(xi+1)2+(yi-1)2-R2 用i+1代i,得 di+1=(xi+1+1)2+yi+12-R2+(xi+1+1)2+(yi+1-1)2-R2 如果di0,选H,xi+1=xi+1, yi+1=yi,得 di+1=di+4xi+6 如果di=0,选D,xi+1=xi+1, yi+1=yi-1,得 di+1=di+4(xi-yi)+10 对于i=0,x0=0,y0=R ,则初值 d0=3-2R 这个算法中计算量很小,因此,算法效率很高 (x, y) H(x+1, y) D(x+1, y-1) 3.2.2 Bresenham画圆法 画圆算法 基本思想: 与中点画线法基本思想相类似。对于第1a象限内从(0,R)到 (R/√2, R/√2 )顺时针确定最佳逼近于圆弧的像素序列,假定P点像素位置已经确定P = (xi, yi),则下一个像素只能是NE=(xi+1, yi)或E= (xi+1, yi-1)。设M为中点,即M = (xi+1, yi-0.5); Q为交点。显然,当Q在M的上方,应取NE ;当Q在M的下方,应取E ;当M与Q重合时, NE、E任取一点。以后依次类推。 3.2.3 中点画圆法 NE E M P = (xi, yi) Q 3.2.3 中点画圆法 构造函数: F(x, y) = x2 + y2 - R2, 圆上的点, F(x, y) = 0;圆内的点, F(x, y) 0;圆外的点, F(x, y) 0 由此得到判别式: di = F(M) = F(x

文档评论(0)

hhuiws1482 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档