圆、椭圆的生成算法

圆、椭圆的生成算法

ID:38349364

大小:239.32 KB

页数:11页

时间:2019-06-10

圆、椭圆的生成算法_第1页
圆、椭圆的生成算法_第2页
圆、椭圆的生成算法_第3页
圆、椭圆的生成算法_第4页
圆、椭圆的生成算法_第5页
资源描述:

《圆、椭圆的生成算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验报告学院:计算机科学与信息学院专业:计算机科学与技术班级:07软件2姓名学号实验组实验时间2010-4-2指导教师成绩实验项目名称圆、椭圆的生成算法实验目的通过本实验,使学生了解并掌握在光栅显示系统中园的生成和显示算法和椭圆的生成和显示算法。实验要求1.实现在光栅显示系统中园的生成和显示算法和栅显示系统中椭圆的生成和显示算法,进一步熟悉相关开发平台。2.掌握圆的几种算法(中点算法,二次差分算法以及Bresenham算法),并理解各种算法的优劣。实验原理圆的中点算法F(x,y)>0F(x,y)<0F(x,y)=0算法原理:画出第二个八分

2、园(45°-90°),利用八对称性画出其它八分园。1.用中点算法画第二个八分园。从当前已获得的象素递推出下一个象素。园弧的隐函数的形式为F(x,y)=x2+y2-R2=0则园弧的正负划分性为:F(x,y)>0,(x,y)在园外;F(x,y)<0,(x,y)在园内;F(x,y)=0,(x,y)在园上。xi,yiMESE设(xi,yi)为已确定的象素坐标,则下一个象素只能是正右方的E点或右下方的SE点。设M是E和SE的中点,则M=(xi+1,yi-0.5):如F(M)<0,则M在园内,说明E距离圆弧更近,下一点取正右方E点;如F(M)>0,则

3、M在园外,说明SE距离圆弧更近,下一点取右下方SE点;如F(M)=0,则M在园上,下一点取E点或SE点。构造判别式:d=F(M)=F(xi+1,yi-0.5)=(xi+1)2+(yi-0.5)2-R2yxba椭圆的中点算法原理:中点算法可以推广到一般二次曲线如椭圆。xyp(x,y)上下中心在原点的椭圆方程为:隐函数的形式为:a=b时,该方程表示的是圆。椭圆具有四对称性,可只考虑第一象限的椭圆弧。椭圆上任一点(x,y)处的法向量为:如在p点法线两分量相等,则p点将椭圆第一象限分成两部份,上半部份法向量在y方向的分量比x方向的大,在下半部份相

4、反。在p点:在当前中点处,法向量(2b2(Xp+1),2a2(Yp-0.5))的y分量比x分量大,即:b2(Xp+1)

5、得出结果4.对结果进行分析,并撰写实验报告。实验内容1、实现中点画园算法、二阶差分算法、及Bresendham画圆算法,并比较各算法。首先建立一单文档工程名为CircleEllipe,并在vs下新建一个对话框,设置如下:对对话框建立类向导,名为DlgCircle,添加相应的变量m_x,m_y,m_R,之后在view中添加相应的函数变量,以及添加对话框的变量Dlg1,并建立对话框和窗体的连接this->Dlg1.DoModal()。主要的函数代码如下:voidCCircleEllipeView::CirclePoints(intx,inty

6、){CDC*pDC=GetDC();COLORREFcolor=RGB(0,255,0);pDC->SetPixel(x+Dlg1.m_x,y+Dlg1.m_y,color);pDC->SetPixel(y+Dlg1.m_y,x+Dlg1.m_x,color);pDC->SetPixel(-x+Dlg1.m_x,y+Dlg1.m_y,color);pDC->SetPixel(y+Dlg1.m_y,-x+Dlg1.m_x,color);pDC->SetPixel(x+Dlg1.m_x,-y+Dlg1.m_y,color);pDC->SetP

7、ixel(-y+Dlg1.m_y,x+Dlg1.m_x,color);pDC->SetPixel(-x+Dlg1.m_x,-y+Dlg1.m_y,color);pDC->SetPixel(-y+Dlg1.m_y,-x+Dlg1.m_x,color);ReleaseDC(pDC);}voidCCircleEllipeView::MidPointCircle(intr){intx=0;inty=r;intd=1-r;CirclePoints(x,y);while(y>x){if(d<0)//选择Td+=2*x+3;else{//选择Bd+=2

8、*(x-y)+5;y--;}x++;CirclePoints(x,y);}//Endofwhile}voidCCircleEllipeView::ChafenCircle(intr){intx

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。