计算机图形学实验报告_第1页
计算机图形学实验报告_第2页
计算机图形学实验报告_第3页
计算机图形学实验报告_第4页
计算机图形学实验报告_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、Experiment_Frame_One的平台,该平台提供根本绘制、设置、输入功能,学生在此根底上实现DDA算法和Mid_Bresenham算法,并进展分析。平台界面:如错误!未找到引用源。所示设置:通过view-setting菜单进入,如错误!未找到引用源,所示输入:通过view-input菜单进入.如错误!未找到引用源。所示实现算法:DDA算法:voidCExperiment_Frame_OneView:DDA(intX0,intY0,intX1,intY1)voidX0, int Y0, int X1, intMid_BresenhamCExperiment_Frame_OneView:

3、Mid_Bresenham(intY1)3实验结果3.1程序流程图1DDA算法流程图:开场定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增量xIncre,y增量yIncre输入两点坐标x1,y1,x0,y0dx=x1-x0,dy=y1-y0;假设|dx|dy|反之epsl=|dx|epsl=|dy|xIncre=dx/epsl;yIncre=dy/epsl填充(强制整形)(x+0.5,y+0.5);J横坐标x+xIncre;纵坐标y+yIncre;JT假设kx1x=x1;x1=x0;x0=x;反之x=x0;Y=y1;y1=y0;y0=y;y=y0;坐标差dx=x1-x

4、0;dy=y1-y0;判断值d=dx-2*dy;UpIncre=2*dx-2*dy;DownIncre=-2*dy;J填充点(x,y),且x=x+1;假设d0y=y+1,且d=d+UpIncre.JTTJ假设xabs(dy)epsl=abs(dx);elseepsl=abs(dy);xIncre=(float)dx/(float)epsl;yIncre=(float)dy/(float)epsl;for(k=0;kX1)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;

5、DownIncre=-2*dy;while(xX1)DrawPixel(x,y);x+;if(dn.rMLki.E也*4rF-l工*rT3JLx.4rf:儿44-TrliJLl.tTKI-HFTUlit:mmtrirs:tTT-i-Jr-J1Tr1Tr1-JJFrlrlcijIrJrlc-3HInrHcluMErlLiblIFc-匕xrCLLkrrckhrr-LLhrFBL-HALF-IiTTU;工:TTI*TSAiM1lRJ1=41-1-JJH11JJ4-T?JJ-rfL-kFrr.l.Li-4JJ4EILLkTnJ-;k-mIL*TM11-:,-_:?:?.:!.*glrl1:Erl(CE

6、23iIEErfcLbrrcLrf-ElhIFrc-L-kW_11TTr_J1(ri二EEjrJi-LLhFr-LLEEMr-Jr.1口】i口口EcLIl二rlQ1hpr%4rr-ILL.lph工-帛L+TrxL-H-l-rIB儿-I4-rr工i.4.TrIJLtrr3:,3:72J:mtn二r一,tt-I-Ji1IrcMHSIzrrlri口】x(c-3l.iil匚、uhFrcjirr-L-Lfa-Fr-LL*TT115?14T1-工;TI-E温J.Tn1-J-1w,J4mJw,Tj-I门。U7Irl门-JJTnKDZIn8Ul匚、ukFr-Ur-r-L-krr.cLrrh.lFuRLr-L-

7、irrcuTTiXnl.儿占平HVR无餐Till1UJWi|T3J4n1JQJfr!-&_-flF-sJiWEI门口。Jlrlrl。ImLkFrtLkmLl-rriLLL*hHifuLIhlT11-FTT-1Anh-JJP?口LtLJHFrEU*-vnA*TT-AA*TYutTHA*Tt-lx-司/JJ441%/YJJ4P1JJ4,h-JJS5alTlmllEGOJ-JML31二君rCLLu-rrchFrcLrlr-L-HrLF-LL-ax曜JJ1JQIJILIiLLk4*三EILLh-JJMr+J二rijtfiEIrlOUJLFEbB-rru*TTXAFIJItr-u口】IErl-EL产匚一

8、Jh-尸匚L1:T工士谓力士EO2LILILJ1L厂匚h*ll:rr-t,TYIIII*mr,JHT(心IIEIrl_LIjrICLFretTTi-4+T4.iLtIr-UJ-ai-JJJWYIEOETTIA*TTIX51Tr-J_l廿二*:EIJ一LLU-rr-LkHFrcLLrrfi联I-frcL儿1.4m-l+TT工J.J二J二rm二,-JJT5JIII-111I111133寓ESAMEgarrLb扪rrw心TrvtLrrLb胴rrIBJL4-TrJL餐Tr!JLLf-i-fJLTHJTF16,lT-i-J1ITr-1TsJI1I1I4I-V-I9-1iarrflc-HrrcuH-eCL

9、hrr-kp-hrr-LLjlLr.Lbl-WELL匚L*rr,*rT:A.T.!,JJ-TrnJlIFl门口krr-L+=11?Jd-TiwcllIHll-mEij.rrcH尸PELr-r-Lfair-qk+b.r-LC/TVW、rTid*TrA_FT41,*一#J?JJ-a-Tm-J二二三二口?Erlrl口=i-ll_lEEIIMB-rfckta-rrL-Lk-rcn%-J-J(昌_UI胃口jrf-L-u;一士Tfci-J-Jo_r-LUTirm-FQjmhn;,:t-IIJ1T,二nntrBwE。(01-1rloPI!mL-iIFrL/4rr工;厂工Km二r1J:-J:ru:rI0uh-

10、izifico4.1M-rr-L*L,pri4T-rxATYMAA4rl-iJt门。|-|Je门.JQijIrlrlc.11Fr-L-ukrr.L;工上;工1:n1-JJd-1TJJ-J-mkxrrELrs-1人餐r5lLr-l-JJ1-J1r,一J二mJ门rl口!口noMrr-L-krrcLtt:aaTlAl.T-J-JM_nT-JJl-lHJl-iIMLu口rlrI。jIirJ.ILIrr-LLta-rr-LL;工:,tlji,fsMHqaMTICE三MXJL厂匚1rfcLTt:aX+,n二LcJ.L.L_JU1L匚JrrdL-.rr-r-a-L*_TTzX*Tr-Zmr3OJ二Tm-J-

11、iiTHu-rr-LLr_rrLrTrlaLl.拿.J-lrm:rf-LL-rTEJL-n*r-lTrBIC.UmHi.rrcLkrr-LLrdacL-L-rrr-L-Lh-frLT3-!L+TTsirrKxiX-r*rr-L-Xr、一,Ttrr*i+m;rr5H4ssajfMffiM在sffH=Ehaj=Err_fccs:J,4ta-;-E-l-l-l-s-ii4-tx4473-工-i*tt-!jI中tts-Ji#TYiJ+775J.4,TalJ-F-Ia-工a-t/H工,T5JJHHRJJ41,JT/,J4JJ45JuT54:中-JJM_TmJJJJ-Hnl-JJH_m-Jirm-I-HI

12、-5it一Jtr3JtrJJtrniHrDJJtFlfl-itr-i-JJ114.414I1Ii-4141ill411IILIRi-IV.R4ril-l-114-I1HI-1N4I1IFLJ.LCL.II-rrcLfa-FCCbarrckFrrcu-r_rCLkta-IkuLJ-m4ILtLLhrrB!I-rrLULU-rr-L-LHrrcte-Fr.L卜i_r-LF匚LjllCLbl-L产-PLil匚1uHrr.Lrr-upHrr-c-Lr1-4TTIA*TTI-VIA44TTiA*TT-lAt_TSI*Tv-1*TTiATIi44TTIT-AlJJ4TS-JJH11-JJTIT1JJ-M1

13、-JJd1JTr1JJTrq-JJTrJT,7JJ411廿二二二弓匕二口工二2二my?umHiKOJ二口二IW-SM-WLkL产匚J1尸l_ILJLL!.-.TI-LLIJ,L匚rL匚LJILULFrc1L!_.IL.L匚LI-LLEIIL/T/i工*rlr-ll,rll-YLr-K,r1,11.)-du,*rlr-,rif式工v-lrri-ll.v.n-r:卜运行结果分析DDA算法根本上没有什么问题,Mid_Bresenham算法在网格尺寸比拟大时误差较大,通过改变网格尺寸大小即能较为准确地描绘出所绘直线。总之在误差允许的围类,实验结果令人满意。4思考题可选如何测试比拟算法的性能?提示1:因

14、为绘制1条直线时间很短,所以需要绘制大量直线才能比拟它们之间的性能;提示2:drawpixel需要消耗时间,但它的时间性能和直线绘制算法无关,因此在比拟不同算法性能时,应该屏蔽它的影响,如何屏蔽?5实验心得通过此次实验,我对典型的直线绘制算法DDA算法、Bresenham中点算法有了进一步的了解与掌握。由于第一次做图形学的相关实验,陌生感还是有的,对平台也不太掌握,所以一开场很难入门,但在教师的帮助和同学的相互讨论下,结果还是可观的。两个根本算法都得以实现。希望随着学习的加深,后续的实验能够做的更好。实验2多边形扫描转换算法1实验目的和要求理解多边形扫描转换的原理;掌握典型多边形扫描转换算法;

15、掌握步处理、分析实验数据的能力;编程实现根本X-扫描线转换算法必做;编程实现有效边表转换算法选做。2实验环境和工具本试验提供自带实验平台开发环境:VisualC+6.0本实验提供名为Polygon_Conversion的平台,该平台提供根本绘制、设置、输入功能,学生在此根底上实现X-扫描线算法和有效边表转换算法。多边形输入:用户按【功能】【输入多边形】菜单开场输入多边形;单击鼠标左键输入多边形顶点;点击鼠标右键完毕多边形输入,并将最后一个顶点和第一个顶点进展连接;参数设置:用户按功能】【设置】启动设置对话框设置容:填充色是否填充多边形选择转换算法实现扫描转换算法X-扫描线转换算法:voidCP

16、olygon_ConversionView:X_Scan_Line_Conersion(intVertices2,intVertexNum)有效边表转换算法:voidCPolygon_ConversionView:Active_Edge_Table_Conersion(intVertices2,intVertexNum)3实验结果程序流程图X-扫描线转换算法:开场(假设构点小于3个-完毕)确定多边形所占有的最大扫描线,得到多边形顶点的最小和最大y值(ymin和ymax)从ys=ymin开场扫描,且计算每条边的方程式JJ记录ys与多边形各边交点T(判断并取舍交点:顶点的两条边的另外两个端点的y1

17、,y2的值比ys大的个数为0,1,2,那么取交点对应个数为0,1,2;)取完交点横坐标后排序交点横坐标x数组,并配对1,23,4TT填充配对区间假设扫描线ys=ymaxf(完毕)程序代码voidCPolygon_ConversionView:X_Scan_Line_Conersion(intVertices2,intVertexNum)intymin,ymax,x10,i,j,n=0,x1,x2,y1,y2,x0,ys;ymax=0 xffffffff;ymin=0 x7fffffff;if(VertexNum=3)return;for(i=0;iVertexNum;+i)if(Vertice

18、si1ymax)ymax=Verticesi1;for(ys=ymin;ys=ymax;ys+)n=0;for(j=0;jVertexNum;+j)x1=Verticesj0;.word.zl.y1=Verticesj1;x2=Vertices(j+1)%VertexNum0;y2=Vertices(j+1)%VertexNum1;if(y1=y2)continue;if(ysmax(y1,y2)continue;x0=int(ys-y1)*(x2-x1)/(y2-y1)+x1+0.5);if(ys=y1)continue;if(ys=y2)inttmp=0;if(y1ys)+tmp;if(Vertices(j+2)%VertexNum1ys)+tmp;if(tmp%2=0)continue;xn=x0;n+;sort(x,x+n);/排序for(i=0;in;i+=2)/填充for(j=xi;j=nodesk&t1)value=(Divide(t-node

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论