全文预览

计算机图形学课程设计报告实验报告

上传者:似水流年 |  格式:doc  |  页数:21 |  大小:362KB

文档介绍
dc.SetPixel((int)(300-x),(int)(300-y),rgb);}//************************椭圆中点Bresenham函数*********************/voidCEllipseView::Mbellipse(doublea,doubleb){?doublex,y,d1,d2;?x=0;?y=b;?d1=b*b+a*a*(-b+0.25);?EllipsePoint(x,y);?while(b*b*(x+1)<a*a*(y-0.5))//椭圆AC弧段?{ if(d1<0) d1+=b*b*(2*x+3); else { d1+=b*b*(2*x+3)+a*a*(-2*y+2); y--; } x++; EllipsePoint(x,y);?}?d2=b*b*(x+0.5)*(x+0.5)+a*a*(y-1)*(y-1)-a*a*b*b;//椭圆CB弧段?while(y>0)?{ if(d2<0) { d2+=b*b*(2*x+2)+a*a*(-2*y+3); x++; } else d2+=a*a*(-2*y+3); y--; EllipsePoint(x,y);?}}4、//EllipseView.cppvoidCEllipseView::OnDraw(CDC*pDC){?CEllipseDoc*pDoc=GetDocument();?ASSERT_VALID(pDoc);?//TODO:adddrawcodefornativedatahere?Cellipseel;?el.DoModal();//初始化?CEllipseView::Mbellipse(el.m_a,el.m_b);//画椭圆}实结果验实验1:直线中点Bresenham算法实验2:圆中点Bresenham算法实验3:椭圆中点Bresenham算法

收藏

分享

举报
下载此文档