计算机图形学期末实验报告-画饼分图-区域着色.doc

计算机图形学期末实验报告-画饼分图-区域着色.doc

ID:59493034

大小:76.00 KB

页数:6页

时间:2020-11-03

计算机图形学期末实验报告-画饼分图-区域着色.doc_第1页
计算机图形学期末实验报告-画饼分图-区域着色.doc_第2页
计算机图形学期末实验报告-画饼分图-区域着色.doc_第3页
计算机图形学期末实验报告-画饼分图-区域着色.doc_第4页
计算机图形学期末实验报告-画饼分图-区域着色.doc_第5页
资源描述:

《计算机图形学期末实验报告-画饼分图-区域着色.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、计算机科学系实验报告(首页)课程名称计算机图形学班级实验名称计算机图形学综合实验(二)指导教师姓名学号日期2011年11月16日一、实验目的1画饼分图2区域着色二、实验设备与环境WindowsXP操作系统、VisualC++6.0三、算法说明、程序清单及运行结果画饼分图算法说明用到了画圆和直线的算法思想,将两者结合起来,分别画一个圆和两条直线,长度为半径。画饼分图源程序:voidCMyView::OnPiegraph(){//TODO:Addyourcommandhandlercodehere//

2、先画一个圆CDC*pDC=GetDC();intxc=200,yc=200,radius=100,c=RGB(0,0,255);intx1=0,y1=radius,p=3-2*radius;while(x1SetPixel(xc+x1,yc+y1,c);pDC->SetPixel(xc-x1,yc+y1,c);pDC->SetPixel(xc+x1,yc-y1,c);pDC->SetPixel(xc-x1,yc-y1,c);pDC->SetPixel(xc+y1,yc+x1,c

3、);pDC->SetPixel(xc-y1,yc+x1,c);pDC->SetPixel(xc+y1,yc-x1,c);pDC->SetPixel(xc-y1,yc-x1,c);if(p<0)p=p+4*x1+6;else{p=p+4*(x1-y1)+10;y1-=1;}x1+=1;}if(x1==y1)pDC->SetPixel(xc+x1,yc+y1,c);pDC->SetPixel(xc-x1,yc+y1,c);pDC->SetPixel(xc+x1,yc-y1,c);pDC->SetPix

4、el(xc-x1,yc-y1,c);pDC->SetPixel(xc+y1,yc+x1,c);pDC->SetPixel(xc-y1,yc+x1,c);pDC->SetPixel(xc+y1,yc-x1,c);pDC->SetPixel(xc-y1,yc-x1,c);//画一条直线,作为圆的半径intx3=100,y3=200,x4=200,y4=300;inti,s1,s2,interchange;intx,y,deltax,deltay,f,temp;x=200;y=200;deltax=ab

5、s(x4-x3);deltay=abs(y4-y3);if(x4-x3>=0)s1=1;elses1=1;if(y4-y3>=0)s2=-1;elses2=-1;if(deltay>deltax){temp=deltax;deltax=deltay;deltay=temp;interchange=1;}elseinterchange=0;f=2*deltay-deltax;pDC->SetPixel(x,y,c);for(i=1;i<=142;i++){if(f>=0){if(interchang

6、e==1)x+=s1;elsey+=s2;pDC->SetPixel(x,y,c);f=f-2*deltax;}else{if(interchange==1)y+=s2;elsex+=s1;f=f+2*deltay;}}//再画一条半径intx5=100,y5=300,x6=200,y6=400;intj,s3,s4,interchange1;x=200;y=200;deltax=abs(x6-x5);deltay=abs(y6-y5);if(x6-x5>=0)s3=1;elses3=-1;if(

7、y6-y5>=0)s4=1;elses4=-1;if(deltay>deltax){temp=deltax;deltax=deltay;deltay=temp;interchange=1;}elseinterchange=0;f=2*deltay-deltax;pDC->SetPixel(x,y,c);for(i=1;i<=142;i++){if(f>=0){if(interchange==1)x+=s3;elsey+=s4;pDC->SetPixel(x,y,c);f=f-2*deltax;}e

8、lse{if(interchange==1)y+=s4;elsex+=s3;f=f+2*deltay;}}}实验结果抓图区域着色算法说明1、在VC中用MFC生成一个窗口。2、在该窗口的CSaoMiaoView类中添加ScanLineFill4()函数。3、在OnDraw函数中调用ScanLineFill4()函数。4、调试运行。编程与代码oldcolor=RGB(0,255,0),newcolor=RGB(255,0,0);voidCSaoMiaoView::ScanLineFil

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

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

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