下载此文档

计算机图形学第3章二维基本图(2).ppt


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
圆的生成这里仅讨论圆心位于坐标原点的圆的扫描转换算法, 对于圆心不在原点的圆,可先用平移变换,将它的圆心平移到原点,然后进行扫描转换,最后再平移到原来的位置。 有几种较容易的方法可以得到圆的扫描转换, 但是效率都不高。例如:直角坐标法和极坐标法: 1、直角坐标法 圆的直角坐标方程为 x 2 +y 2 =R 2 若取 x作为自变量,解出 y,得到我们可以先扫描转换四分之一的圆周。让自变量 x 从0到R以单位步长增加,在每一步时可解出 y,然后调用画点函数即可逐点画出圆。但这样做,由于有乘方和平方根运算,并且都是浮点运算,算法效率不高。 2、极坐标法 假设圆周上一点 P(x,y)处的半径与 x轴的夹角为θ,则圆的极坐标方程为利用下面将要介绍的圆周上点的对称性,那么自变量θ的取值范围就是(0, 45 °)。这个方法涉及三角函数计算和乘法运算,计算量较大。因此, 也不是一种有效的方法。 x= Rcos θ y= Rsin θ 圆的八分对称性圆心位于原点的圆有四条对称轴 x=0 、 y=0 、 x=y 和 x= -y,见下图。从而若已知圆弧上一点 P(x ,y), 就可以得到其关于四条对称轴的七个对称点,这种性质称为八分对称性。因此只要能画出八分之一的圆弧,就可以利用对称性的原理得到整个圆弧。下面的函数 CirclePoints ()用来显示 P(x ,y)及其七个对称点。 圆的八分对称性 void CirclePoints(x,y,color ) int x,y,color ;{ putpixel(x,y,color ); putpixel(x ,- y,color ); putpixel (- x,y,color ); putpixel (-x,- y,color ); putpixel(y,x,color ); putpixel(y ,- x,color ); putpixel (- y,x,color ); putpixel (- y,- x,color ); } 注意: 当圆心不在原点时,只须在 putpixel ()函数中加上平移量 x0 、y0 (圆心坐标)即可。例如 当 x0=300 , y0=200 时,则: … putpixel(x0+x , y0+y , color) ; putpixel(x0+x , y0-y , color) ; putpixel(x0-x , y0+y , color) ; putpixel(x0-x , y0-y , color) ; putpixel(x0+y , y0+x , color) ; putpixel(x0+y , y0-x , color) ; putpixel(x0-y , y0+x , color) ; putpixel(x0-y , y0-x , color) ; 中点算法生成圆中点画圆算法在一个方向上取单位间隔,在另一个方向的取值由两种可能取值的中点离圆的远近而定。实际处理中,用决策变量的符号来确定象素点的选择,因此算法效率较高。一、中点画圆算法描述设要显示圆的圆心在原点(0, 0),半径为 R,起点在(0, R) 处,终点在( ) 处,顺时针生成八分之一圆,利用对称性扫描转换全部圆。 为了应用中点画圆法,我们定义一个圆函数 F(x , y)=x 2 +y 2 -R 2 任何点(x,y)的相对位置可由圆函数的符号来检测: F(x ,y) <0 点(x,y)位于数学圆内=0 点(x,y)位于数学圆上>0 点(x,y)位于数学圆外如下图所示,图中有两条圆弧 A和 B,假定当前取点为 P i (x i,y i),如果顺时针生成圆,那么下一点只能取正右方的点 E(x i +1 ,y i)或右下方的点 SE(x i +1 ,y i -1) 两者之一。假设 M是E和 SE 的中点,即, 1、当 F(M)<0 时, M在圆内(圆弧 A),这说明点 E 距离圆更近,应取点 E作为下一象素点; 2、当 F(M)>0 时, M在圆外(圆弧 B),表明 SE 点离圆更近,应取 SE 点; 3、当 F(M)=0 时,在 E点与 SE 点之中随便取一个即可,我们约定取 SE 点。二、中点画圆算法思想 因此,我们用中点 M的圆函数作为决策变量 d i, 同时用增量法来迭代计算下一个中点 M的决策变量 d i+1。

计算机图形学第3章二维基本图(2) 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhlyb
  • 文件大小167 KB
  • 时间2017-02-23