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

下载本文档

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

文档简介

1、精选学习资料 - - - 欢迎下载院专系:业:数学与统计学学院信息与运算科学专业年级:2021级课程名称:运算机图形学组号:第 35 组组员: 李铮 秦文志李丹指导老师:孙 阳 光2021 年 06 月 05 日精品学习资料精选学习资料 - - - 欢迎下载年级2021 级学号202121101027202121101028202121101029信息与运算精品学习资料精选学习资料 - - - 欢迎下载专业科学专业姓名李铮秦文志李丹精品学习资料精选学习资料 - - - 欢迎下载试验时间2021 年 4 月 26 日试验地点9 栋 204精品学习资料精选学习资料 - - - 欢迎下载试验试验一.

2、直线的扫描转换名称试验设计型综合型创新型类型精品学习资料精选学习资料 - - - 欢迎下载1)懂得在显示器上画图与在纸上画图的本质区分;实验2)把握直线的光栅扫描转换过程;目的3)把握不同算法绘制直线的思路和优缺点;用基本增量算法和bresenham 算法画直线1)将像素网格表现出来,建立网格坐标系;实验2)显示判别式的运算过程和下一点的挑选策略;要求3)记录生成点的坐标,建议用表的形式;4)图形生成过程可以重复进行;dda代码:clearcloseall clcx1=0;y1=0;x2=15;y2=12;实figure、linex1、x2、y1、y2、'color'、0 0

3、1;验length =absx2-x1+1;原dx=x2-x1/length;理dy=y2-y1/length;k=dy/dx;x=x1;y=y1;holdonfori=1:lengthplotroundx、floory+0.5、'*r'x=x+1; y=y+k;精品学习资料精选学习资料 - - - 欢迎下载endholdoffbresenh am代码:clearcloseall clcx1=0;y1=0; x2=15;y2=12;figure、linex1、x2、y1、y2、'color'、0 0 1;length =absx2-x1+1; dx=x2-x1;

4、dy=y2-y1; e=2*dy-dx; x=x1; y=y1;holdonfori=1:lengthplotroundx、floory+0.5、'*r' ife>=0y=y+1; e=e-2*dx;end x=x+1; e=e+2*dy; endholdoff试验结果分析bresenham 法:精品学习资料精选学习资料 - - - 欢迎下载试验心得体会成果评定老师签名:年月日精品学习资料精选学习资料 - - - 欢迎下载年级2021 级学号202121101027202121101028202121101029信息与运算精品学习资料精选学习资料 - - - 欢迎下载专业

5、科学专业姓名李铮秦文志李丹精品学习资料精选学习资料 - - - 欢迎下载试验时间2021 年 5 月 3 日试验地点9 栋 204精品学习资料精选学习资料 - - - 欢迎下载试验试验二.圆弧的扫描转换名称试验设计型综合型创新型类型精品学习资料精选学习资料 - - - 欢迎下载实1)把握圆和圆弧的光栅扫描转换过程;验目2)把握不同算法绘制圆弧的技巧和优缺点;的用正负法和bresenham 算法画圆弧1)将像素网格表现出来,建立网格坐标系;实验2)显示判别式的运算过程和下一点的挑选策略;要求3)记录生成点的坐标,建议用表的形式;4)图形生成过程可以重复进行;bresenham 算 法 : fun

6、ction bresenhamb x = 0;y = b; d=3-2*b;theta=0:0.01*pi:2*pi;x1=b*costheta+0; y1=b*sintheta+0;实plotx1、y1;验hold on原plot0、0、'b+'理hold on; while x<yplotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' if d<0 d=d+4*x+6; else精品学习资料精选学习资料 - - - 欢迎下载d=d+4*x-y+10; y=y

7、-1;end x=x+1; ifx=y plotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' endendhold off;正 负 法 : function zfb x = 0;y = b; f=0;theta=0:0.01*pi:2*pi; x1=b*costheta+0; y1=b*sintheta+0; plotx1、y1;hold on plot0、0、'b+' hold on; while y>0plotx、y、'*'plot-x、-y、&

8、#39;*'plot-x、y、'*'plotx、-y、'*' if f>0f=f-2*y+1;y=y-1; else f=f+2*x+1; x=x+1; end ify=0plotx、y、'*'plot-x、-y、'*'plot-x、y、'*'plotx、-y、'*' end精品学习资料精选学习资料 - - - 欢迎下载end hold off;bresenham 算法:试验结正负法:果分析精品学习资料精选学习资料 - - - 欢迎下载试验心得体会成果评定老师签名:年月日精品学习资料精

9、选学习资料 - - - 欢迎下载年级2021 级学号202121101027202121101028202121101029信息与运算精品学习资料精选学习资料 - - - 欢迎下载专业科学专业姓名李铮秦文志李丹精品学习资料精选学习资料 - - - 欢迎下载试验时间2021 年 5 月 17 日试验地点9 栋 204精品学习资料精选学习资料 - - - 欢迎下载试验试验三.直线段的裁剪名称试验设计型综合型创新型类型精品学习资料精选学习资料 - - - 欢迎下载用 cohen-sutherland 算法和 liang _barsky 算法进行线段裁剪实验1)懂得裁剪的相关概念 2)把握直线段的一般

10、裁剪过程;目的3)懂得并把握cohen-sutherland算法的编码思想;4)懂得并把握liang_barsky 算法的参数化裁剪思想;实1)将像素网格表现出来,建立网格坐标系;验2)交互输入剪裁线段和裁剪窗口;要3)对于线段裁剪,线段被窗口的四条边裁剪的过程要显示出来;求4)裁剪过程可以重复进行;cohen-sutherland 算法核心代码:function lines=cohen_sutherlandline、rectangle%编码裁剪算法%line 为线段端点矩阵、共四列,其数据含义如下:% 端 点 a x 坐标端 点 a y 坐标端 点 b x 坐标端点 b y 坐标%recta

11、ngle 为窗口边界值,共四个元素,其含义分别为xwl、xwr、ywb、ywt;%实%第一检测参数为否合法验row column=sizeline;原if column<4|lengthrectangle<4理lines=;fprintf' 参数不合法不合法' return ;end%程序中主要变量说明%code 为线段端点的编码矩阵,两行四列,第一行为点p1 的编码,其次行为点p2 的编码精品学习资料精选学习资料 - - - 欢迎下载%四列的含义为:d0、d1、d2、d3%依次处理line 的各个线段k=0;lines=;for i=1:lengthline:、1

12、%取出第 i 条线段p1=linei、1、2;p2=linei、3、4;%运算斜率pp=p1-p2; if pp1=0k=inf;精品学习资料精选学习资料 - - - 欢迎下载elseendk=pp2/pp1;精品学习资料精选学习资料 - - - 欢迎下载finished=false; whilefinished%对点 p1 和 p2 进行编码code=p11<rectangle1、p11>rectangle2、p12<rectangle3、p12>rectangle4; p21<rectangle1、p21>rectangle2、p22<rectan

13、gle3、p22>rectangle4;%p1、p2、k、code%进行简取或简弃的判定test=code1、:|code2、:;%判定为否简取if isemptyfindtest>0、1 lines=lines;p1、p2; finished=true;end%如当前线段处理完成,就退出if finishedbreak;end%判定为否简弃test=code1、:&code2、:; if isemptyfindtest>0、 1finished=true;endif finishedbreak;end%确保 p1 在窗口之外精品学习资料精选学习资料 - - - 欢迎

14、下载if isemptyfindcode1、:>0、1%交换 p1、p2 的坐标值和编码 pt=p1;p1=p2;p2=pt;pt=code1、:;code1、:=code2、:;code2、:=pt;end%从低位开头找编码值为1 的地方d=findcode1、:>0、1; if d<=2%此时 p1 位于窗口的左边或右边if k=0%如为水平线,就y 不变, x 变为窗口的左边界或右边界%且此时 k 不会等于inf ,否就线段处于简弃状态; p11=rectangled;%p12=rectanglefindcode1、3、4>0、1;精品学习资料精选学习资料 - -

15、 - 欢迎下载elseelseend%如线段为斜线、就运算 y 值, x 值变为窗口的左边界或右边界p1=rectangled、p12+k*rectangled-p11;精品学习资料精选学习资料 - - - 欢迎下载%此时 p1 位于窗口的上方或下方 if k=inf%如线段为竖直线、就 x 不变, y 变为窗口的上边界或下边界%且此时 k 不会等于0、否就线段将处于简弃状态; p12=rectangled;精品学习资料精选学习资料 - - - 欢迎下载endelseend%如线段为斜线、就运算 x 值, y 值变为窗口的上边界或下边界;p1=p11+rectangled-p12/k、rect

16、angled;精品学习资料精选学习资料 - - - 欢迎下载%对 p1 和 p2 重新编码,再次运算;%p1、p2、k、code%pause10;% scanfd、'%d'%inputdlg'' endend%对最终点进行取整运算%lines=roundlines; end精品学习资料精选学习资料 - - - 欢迎下载cohen-sutherland ï精品学习资料精选学习资料 - - - 欢迎下载试验心得体会成绩评老师签名:定年月日精品学习资料精选学习资料 - - - 欢迎下载年级2021 级学号202121101027202121101028202

17、121101029信息与运算精品学习资料精选学习资料 - - - 欢迎下载专业科学专业姓名李铮秦文志李丹精品学习资料精选学习资料 - - - 欢迎下载试验时间2021 年 5 月 24 日试验地点9 栋 204精品学习资料精选学习资料 - - - 欢迎下载试验试验四.多边形的裁剪名称试验设计型综合型创新型类型精品学习资料精选学习资料 - - - 欢迎下载1)懂得多边形裁剪与直线段裁剪的区分;实验2 )把握多边形的裁剪过程;目的3 )懂得并把握sutherland-hodgman算法的裁剪思想用 sutherland-hodgman 算法进行多边形裁剪1)将像素网格表现出来,建立网格坐标系;实2

18、)交互输入剪裁线段和裁剪窗口;验要3)多边形被窗口的四条边裁剪的过程以及多边形顶求点增删的过程要显示出来;4)裁剪过程可以重复进行;核心算法:function polygonclipping% 这为一个基于 divide and conquer策略的 sutherland-hodgeman 多边形裁剪算法的 matlab 程序% copyright c mar、 2006. smart.all rights reserved.实% department of computer science & technology验% northern china electric power un

19、iversitybeijingncepu原%理% 输入参数%xp = 0.5、 -2、 -2、 1.5、 1.5、 0.5、 0.5、 -1.5、 -1.5、 0.5; %待裁剪的多边形%yp = -1.5、 -1.5、 2、 2、 0、 0、 1.5、 1.5、 0.5、 -1.5;xp = -2、 0.2、 1.6、 -2;yp = 0.5、 -2、 1.5、 0.5;精品学习资料精选学习资料 - - - 欢迎下载nvertex = lengthxp-1; %多边形顶点数xw = -1 1 1 -1 -1; yw = -1 -1 1 1 -1;%矩形裁剪窗口 窗口边界为逆时针方向,左下角顶

20、点为第一个顶点% 设置绘图环境hold on; axis equal; grid on;% 画出要裁剪的多边形和裁剪窗口 plotxp、yp、'b-'、'linewidth'、2;for i = 1:nvertextextxpi、ypi、'p' num2stri '' num2strxpi '、'num2strypi ''、 'fontsize'、16、'color'、0、1、1; endplotxw、yw、'g-'、'linewidth'、1.5;title'sutherland-hodgeman多边形裁剪算法演示 '' 按任意键连续 .' pause;% sutherland-hodgeman 多边形裁剪算法实现invertx = xp; inverty = yp; clr = 'r' 'c' 'm' 

温馨提示

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

评论

0/150

提交评论