计算机图形学实验报告

计算机图形学实验报告

ID:20681539

大小:342.00 KB

页数:16页

时间:2018-10-14

计算机图形学实验报告_第1页
计算机图形学实验报告_第2页
计算机图形学实验报告_第3页
计算机图形学实验报告_第4页
计算机图形学实验报告_第5页
资源描述:

《计算机图形学实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、计算机图形学实验报告姓名:谢云飞学号:20112497班级:计算机科学与技术11-2班实验地点:逸夫楼507实验时间:2014.03实验1直线的生成1实验目的和要求理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力;编程实现DDA算法、Bresenham中点算法;对于给定起点和终点的直线,分别调用DDA算法和Bresenham中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。2实验环境和工具开发环境:Vis

2、ualC++6.0实验平台:Experiment_Frame_One(自制平台)。本实验提供名为Experiment_Frame_One的平台,该平台提供基本绘制、设置、输入功能,学生在此基础上实现DDA算法和Mid_Bresenham算法,并进行分析。n平台界面:如Error!Referencesourcenotfound.所示n设置:通过view->setting菜单进入,如Error!Referencesourcenotfound.所示n输入:通过view->input…菜单进入.如Error!Refe

3、rencesourcenotfound.所示n实现算法:uDDA算法:voidCExperiment_Frame_OneView::DDA(intX0,intY0,intX1,intY1)Mid_Bresenham法:voidCExperiment_Frame_OneView::Mid_Bresenham(intX0,intY0,intX1,intY1)1实验结果1.1程序流程图1)DDA算法流程图:开始定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增量xIncre,y增量yIncr

4、e↓输入两点坐标x1,y1,x0,y0↓dx=x1-x0,dy=y1-y0;_________↓_________↓↓若

5、dx

6、>

7、dy

8、反之epsl=

9、dx

10、epsl=

11、dy

12、↓________...________↓↓xIncre=dx/epsl;yIncre=dy/epsl↓填充(强制整形)(x+0.5,y+0.5);↓←←←←横坐标x+xIncre;纵坐标y+yIncre;↓↑若k<=epsl→→→k++↓结束2)Mid_Bresenham算法流程图开始↓定义整形dx,dy,判断值d,以及UpIncr

13、e,DownIncre,填充点x,y↓输入x0,y0,x1,y1______↓______↓↓若x0>x1反之x=x1;x1=x0;x0=x;x=x0;Y=y1;y1=y0;y0=y;y=y0;↓______..______↓↓坐标差dx=x1-x0;dy=y1-y0;判断值d=dx-2*dy;UpIncre=2*dx-2*dy;DownIncre=-2*dy;↓填充点(x,y),且x=x+1;______↓______←←←↓↓↑若d<0反之y=y+1,且d=d+UpIncred=d+DownIncre↓_

14、_____.______↓↑↑↓若x<=x1→→→↑↓结束1.1程序代码voidCExperiment_Frame_OneView::DDA(intX0,intY0,intX1,intY1){//----------请实现DDA算法------------//intdx,dy,epsl,k;floatx,y,xIncre,yIncre;dx=X1-X0;dy=Y1-X0;x=X0;y=Y0;if(abs(dx)>abs(dy))epsl=abs(dx);elseepsl=abs(dy);xIncre=(flo

15、at)dx/(float)epsl;yIncre=(float)dy/(float)epsl;for(k=0;k<=epsl;k++){DrawPixel((int)(x+0.5),(int)(y+0.5));x+=xIncre;y+=yIncre;}}voidCExperiment_Frame_OneView::Mid_Bresenham(intX0,intY0,intX1,intY1){//-------请实现Mid_Bresenham算法-------//intdx,dy,d,UpIncre,DownI

16、ncre,x,y,xend;if(X0>X1){x=X1;X1=X0;X0=x;y=Y1;Y1=Y0;Y0=y;}x=X0;y=Y0;dx=X1-X0;dy=Y1-Y0;d=dx-2*dy;UpIncre=2*dx-2*dy;DownIncre=-2*dy;while(x

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

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

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