计算机图形学_圆弧的生成.ppt_第1页
计算机图形学_圆弧的生成.ppt_第2页
计算机图形学_圆弧的生成.ppt_第3页
计算机图形学_圆弧的生成.ppt_第4页
计算机图形学_圆弧的生成.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机图形学,2020年7月30日,星期四,4.3.1圆弧的生成,1。数值微分法,2。中点画圆算法。布雷森汉圆绘制算法。正负法,2020年7月30日,星期四,类似于直线的生成在本节中,我们只讨论以坐标原点为中心生成圆弧的算法。对于具有任意中心的圆弧,我们可以先将它们平移到原点,然后将它们栅格化,再将它们平移到原始位置。2020年7月30日,星期四,圆弧的DDA算法类似于直线段的DDA方法,也是根据圆弧的微分方程实现的。我们以圆心在坐标系原点、半径为R的圆弧为例进行讨论。中心位于原点(0,0)且半径为r的方程为:1。数值微分法(DDA法),其微分方程为:2020年7月30日,星期四。如果,离散变

2、量的微分方程可以得到:其中:是一个很小的常数。如果、是DDA方法,时针在X和Y方向画出第一象限圆弧的增量值,从上面的公式可以知道有:(4-1),用矩阵表示为:(4-2),2020年7月30日星期四。但是,从公式(4-1)中,我们得到:所以公式要得到圆的方程,就要使公式(4-2)中的系数矩阵的行列式值为1,即把公式(4-2)中的、在2020年7月30日星期四改为1。如果采取,它可以满足要求。即2020年7月30日星期四,即(4-3)。从(4-3)可知,我们不使用的结果,而是直接引用的值。2020年7月30日,星期四。2.在中间点画一个圆的算法,假设最靠近圆弧的像素被确定为“0”,那么最靠近圆弧的

3、下一个像素只能是右边的或者右下角的。设m是和的中点,很容易知道m的坐标是。很明显,如果m在一个圆里,它靠近圆弧,应该作为下一个像素;否则,它应该被采取。2020年7月30日,星期四,判别式d: d的初始值为:在d0的情况下,取右下像素,在d0的情况下,取右下像素,为了消除在计算判别式的初始值时产生的浮点运算,将使用4d代替d,2020年7月30日,星期四,下面的程序使用在中点画圆的算法画出1/8的圆弧。void MidPointCircle(int r,int color) int x,y,d x=0;y=r;d=5-4r;圆环点(x,y,颜色);而(x=y)如果(d=0)d=8x 12;否则d=8(x-y)20;y-;x;圆环点(x,y,颜色);2020年7月30日,星期四,3。布雷森汉画圆算法,是最有效的算法之一。布雷森汉圆绘制算法的基本原理如下图所示。如果是选定的点,下一个可能的像素点是右点或右下点。如果到弧的距离小于到弧的距离,就取它,否则就取它。2020年7月30日,星期四,设r为圆弧半径,设P(x,y)到原点的距离的平方与圆半径的平方之差为D(P),也就是说,设下面给出的递推公式。2020年7月30日星期四,当0时,该点是下一个像素,所以当0时,该点是下一个像素。因此,在2020年7月30日(星期四),根据算法,Bresenham生成弧的程序如下:空Bre

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论