计算机图形学实验报告.doc

计算机图形学实验报告.doc

ID:51767855

大小:173.00 KB

页数:19页

时间:2020-03-15

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

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

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

2、alC++6.0实验平台:Experiment_Frame_One(自制平台)3实验结果3.1程序流程图开始(1)DDA算法计算k,bK<=1x<=X1y<=Y1是否否结束x=x+1;y=y+k;绘点y=y+1;x=x+1/k;绘点是是(2)Mid_Bresenham算法开始计算dx,dydx>dyD=dy-2*dxD=dx-2*dy是否y

3、+1;D=D-2*dy;x=x+1;是否1.1程序代码//-------------------------算法实现------------------------------////绘制像素的函数DrawPixel(x,y);(1)DDA算法voidCExperiment_Frame_OneView::DDA(intX0,intY0,intX1,intY1){//----------请实现DDA算法------------//floatk,b;floatd;k=float(Y1-Y0)/float(X1-X0);b

4、=float(X1*Y0-X0*Y1)/float(X1-X0);if(fabs(k)<=1){if(X0>X1){inttemp=X0;X0=X1;X1=temp;}intx;floaty;x=(int)X0;y=(float)Y0;while(x<=X1){DrawPixel(x,round(y));x++;y=y+k;}}else{if(Y0>Y1){inttemp=Y0;Y0=Y1;Y1=temp;}floatx;inty;x=(float)X0;y=(int)Y0;while(y<=Y1){DrawPixe

5、l(round(x),y);y++;x=x+1/k;}}return;}(2)Mid_Bresenham算法voidCExperiment_Frame_OneView::Mid_Bresenham(intX0,intY0,intX1,intY1){//-------请实现Mid_Bresenham算法-------//intD;intdx,dy;intx,y;dx=X1-X0;dy=Y1-Y0;x=X0;y=Y0;if(dx>dy){D=dx-2*dy;while(x<=X1){DrawPixel(x,y);if(D

6、<0){y=y+1;D=D+2*dx-2*dy;}else{D=D-2*dy;}x++;}}else{D=dy-2*dx;while(y<=Y1){DrawPixel(x,y);if(D<0){x=x+1;D=D+2*dy-2*dx;}else{D=D-2*dx;}y++;}}return;}1.1运行结果(1)DDA算法(2)Mid_Bresenham算法1.1运行结果分析DDA算法直观,实现简单。但是涉及浮点数运算,不利于硬件实现。Mid_Bresenham算法比DDA算法简单。两种算法实现生成的直线也可能会有不

7、同。2实验心得通过实验,学习掌握了两种直线的扫描转换算法。不同方法有不同的优点,实现结果也有可能不同。需要通过比较,确定哪种方法更优,更符合正确结果。实验二1实验目的和要求理解多边形扫描转换的原理;掌握典型多边形扫描转换算法;掌握步处理、分析实验数据的能力;编程实现基本X-扫描线转换算法(必做);2实验环境和工具开发环境:VisualC++6.0实验平台:Polygon_Conversion(自制平台)3实验结果3.1程序流程图X-扫描线转换算法开始计算xmax,ymax绘点扫描线与各线段是否有交点x排序根据公式求交

8、点,记录交点是否为线段的第一个顶点是判断不同类型的顶点,记录交点否是3.2程序代码/*********************************************************************功能:X-扫描线转换算法参数说明:vertices[][2]---顶点列表VertexNum---顶点数目备注:DrawPi

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

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

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