计算机图形学实验报告--Bresenham直线算法与画圆算法.doc

计算机图形学实验报告--Bresenham直线算法与画圆算法.doc

ID:53678242

大小:902.50 KB

页数:5页

时间:2020-04-05

计算机图形学实验报告--Bresenham直线算法与画圆算法.doc_第1页
计算机图形学实验报告--Bresenham直线算法与画圆算法.doc_第2页
计算机图形学实验报告--Bresenham直线算法与画圆算法.doc_第3页
计算机图形学实验报告--Bresenham直线算法与画圆算法.doc_第4页
计算机图形学实验报告--Bresenham直线算法与画圆算法.doc_第5页
资源描述:

《计算机图形学实验报告--Bresenham直线算法与画圆算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验一名称:基本图形的生成算法要求:(1)掌握DDA生成线段算法(2)掌握Bresenham生成线段算法(3)掌握生成圆弧算法1.代码(1)Bresenham画线算法voidCDlgBresenhamLine::OnBresenhamBUTTON2(){UpdateData(true);CDC*pDC=m_picture.GetDC();intxa=m_start_x,ya=m_start_y,xb=m_end_x,yb=m_end_y,c=RGB(0,255,0);intdx=abs(xa-xb),dy=abs(ya-yb);intp=2*dy-dx;intx,

2、y;if(xa>xb){x=xb;y=yb;xb=xa;}else{x=xa;y=ya;}while(xSetPixel((int)x,(int)y,c);}ReleaseDC(pDC);}(2)中点画圆算法voidCDMidpointcircleDlg::OncircleBUTTON2(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(true);CDC*pDC=m_picture.Get

3、DC();intxc=m_x,yc=m_y,r=m_r,c=RGB(255,0,0);intd=(5-r*4)/4;intx=0,y=r;while(x<=y){pDC->SetPixel(xc+x,yc+y,c);pDC->SetPixel(xc+x,yc-y,c);pDC->SetPixel(xc-x,yc+y,c);pDC->SetPixel(xc-x,yc-y,c);pDC->SetPixel(xc+y,yc+x,c);pDC->SetPixel(xc+y,yc-x,c);pDC->SetPixel(xc-y,yc+x,c);pDC->SetPixel(x

4、c-y,yc-x,c);if(d<0)d+=2*x+3;else{d+=2*(x-y)+5;y--;}x++;}ReleaseDC(pDC);}1.结果截图(1)Bresenham画线(1)中点画圆1.算法流程(1)Bresenham画线(1)中点画圆①输入圆的半径r和圆心坐标(Xc,Yc),先计算以原点为圆心、r为半径的圆周上的点,令初始点为(X0,Y0)=(0,r)。②求初始判别式d,d=1-r。③在每一个Xn的位置,从n=0开始,进行下列检测:如果d<0,则圆心在原点的的下一个点为为(Xn+1,Yn),且d=d+2*Xn+3,;否则,圆的下一个点为(Xn+1

5、,Yn-1),且d=d+2*(Xn-Yn)+5.④确定(Xn+1,Yn+1)乍看情况后家7个八分圆中的对称点位置。⑤将计算出的每个像素位置(X,Y)平移到圆心位于(Xc,Yc)的圆的轨迹上,即分别沿水平和垂直方向平移Xc和Yc,平移后的坐标值为(X’,Y’),X’=X+Xc,Y’=Y+Yc。⑥重复第③至⑤步,直到X>=Y时为止。1.总结本次实验,让我了解到了一些基本图形生成算法:Bresenham算法、数值微分法、中点法等,各种算法画线和画圆都有各自的步骤和特点,尤其在同时比较时更能突出算法的不同效果。初步了解这些基本算法,为我在以后的学习中打下了基础。

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

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

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