计算机图形学圆的生成算法的实现.doc

计算机图形学圆的生成算法的实现.doc

ID:52713787

大小:273.00 KB

页数:6页

时间:2020-03-29

计算机图形学圆的生成算法的实现.doc_第1页
计算机图形学圆的生成算法的实现.doc_第2页
计算机图形学圆的生成算法的实现.doc_第3页
计算机图形学圆的生成算法的实现.doc_第4页
计算机图形学圆的生成算法的实现.doc_第5页
资源描述:

《计算机图形学圆的生成算法的实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验三圆的生成算法的实现班级08信计2班学号20080502054姓名曲凯歌分数一、实验目的和要求1.理解圆生成的基本原理。2.掌握几种常见的圆生成算法。3.利用VisualC++实现圆生成的中点画圆算法。二、实验内容1.利用中点画圆算法、Bresenham画圆法在屏幕上生成一整圆。2.利用中点算法画一椭圆。三、实验步骤1.圆生成的基本原理<1)圆的特征圆的定义为到给定中心位置距离为的点集。圆心位于原点的圆有4条对称轴:和。若已知圆弧上一点,可以得到其关于4条对称轴的其他7个点,这种性质称为八对称性。b5E2RGbCAP2.实现各种圆的生成算法,包括

2、中点生成算法、Bresenham生成算法等。程序运行后的菜单界面如图所示。p1EanqFDPw圆生成图形的程序运行界面首先创建工程名为“圆的生成算法的实现”的单文档应用程序框架,操作步骤如下:<1)创建单文档应用程序框架。启动VisualC++,选择“文件/新建”菜单命令,在弹出的新建对话框中单击“工程”标签;选择.MFCAppWizard(exe>,在“工程名称”编辑框中输入“圆的生成算法的实现”<也可以使用英文名称),选择所要存放的位置后,单击“确定”按钮,出现Stept1对话框;选择“单个文档”选项,单击“下一步”按钮,在接着的Stept2~S

3、tept5中,均可以直接单击“下一步”按钮完成应用程序框架的构建。也可以在Stept1步选择“单文档”

4、IDPOINTCIRCLECOMMANDOnMidpointcircleBresenham画圆ID_BRESENHAMCIRCLECOMMANDOnBresenhamcircle椭圆的生成中点画椭圆ID_MIDPOINTELLISPECOMMANDOnMidpointellispe表1生成圆和椭圆的菜单项资源及消息处理函数<3)添加程序代码在CMyView.cpp文件中相应的位置添加各算法的程序代码,在VisualC++的MFC中绘制图形,一般可以调用一个“CDC”类,从CDC开始,添加代码。5PCzVD7HxA中点算法画圆。利用中点画圆算法画出圆心

5、在、半径为R的圆,其VC程序设计代码如下:voidCMyView::OnMidpointcircle(>{CDC*pDC=GetDC(>。intx0=150,y0=120,r=100,color=RGB(0,0,255>,x,y,d。x=0。y=r。d=1-r。pDC->SetPixel(x,y,color>。while(x<=y>{if(d<0>d+=2*x+3。else{d+=2*(x-y>+5。y--。}x++。pDC->SetPixel(x+x0,y+y0,color>。pDC->SetPixel(-x+x0,y+y0,color>。pDC-

6、>SetPixel(-x+x0,-y+y0,color>。pDC->SetPixel(x+x0,-y+y0,color>。pDC->SetPixel(y+x0,x+y0,color>。pDC->SetPixel(-y+x0,x+y0,color>。pDC->SetPixel(-y+x0,-x+y0,color>。pDC->SetPixel(y+x0,-x+y0,color>。}ReleaseDC(pDC>。}Bresenham算法画圆。利用Bresenham画圆算法画出圆心在、半径为R的圆,其VC程序设计代码如下:jLBHrnAILgvoidCMyV

7、iew::OnBresenhamcircle(>-6-/6{CDC*pDC=GetDC(>。intx0=100,y0=100,x,y,r=80,c=0。floate,d。e=3-2*r。x=0。y=r。while(x<=y>{if(e<0>{e=e+4*x+6。x++。}else{e=e+4*(x-y>+10。x++。y--。}pDC->SetPixel(x+x0,y+y0,c>。pDC->SetPixel(-x+x0,y+y0,c>。pDC->SetPixel(-x+x0,-y+y0,c>。pDC->SetPixel(x+x0,-y+y0,c>。p

8、DC->SetPixel(y+x0,x+y0,c>。pDC->SetPixel(-y+x0,x+y0,c>。

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

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

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