计算机图形学实验报告何太军,计算机图形学实验报告

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机图形学实验报告

(7页)

04db9412a6e7c623f82ae604c76ec91c.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

9.9 积分

计算机图形学实验报告计算机图形学实验报告 福建农林大学计算机与信息学院 课程名称:姓 名:系:专 业:年 级:学 号:指导教师:职 称:实验报告 计算机图形学 洪世玉 计算机 计算机科学与技术 10级 102260010072 李小林 2012年 11 月19 日 实验项目列表福建农林大学计算机与信息学院实验报告 实验名称:直线段的生成 一、 实验目的和要求: 1. 理解各种画线算法的原理,并主要掌握DDA算法,中点画线算法,Bresenham算法。 2.能够根据画线算法的原理编写出相应的画线算法(这里列出两种算法),并能正确的显示出所要画的线段。 二.实验内容和原理: 1.DDA 算法: 1)原理:直接利用计算x轴上的增量?x或y轴的增量?y的线段扫描转换算法。 1若线段的斜率m的绝对值小于等于1,则在单位x间隔(?x?1)取样,计2)内容:○算每个y的值,即y k?1 ?y k ?m 2若线段的斜率m的绝对值大于1,则在单位y间隔(?y=1)取样,计算每个x的值,即 ○ x k?1 ?x k ?(1?m) 2. Bresenham算法: 1)原理:利用线段上的点和上下相邻像素点间距离的对比来选择合适的像素点。 1定义线段上的某一点到下像素点的距离为的d1,到上像素点的距离为d2,定义2)内容:○ ?d?d1?d2 p 2根据相应的p ○ k ??x??d ,并求出p 的值 的值大于0,则取上像素点,且 k 的值来选取点。即p k p k?1 ?p k ?2?y?2?x;若p k 的值小于0,则取下像素点,且p k?1 ?p k ?2?y; 3.中点画线算法: 1)原理:计算中点在直线的上方还是下方来选择相应的像素点。 1计算线段方程相应的变量x,y对应的系数,且d 2)内容:○2d ○ < 0 , 取上像素点,且d ?a?0.5b k kk?1 ?d k ?a?b;d >0 ,取下像素点,且 dk?1?dk?a 三.实验环境⑴ 硬件:PC机; ⑵软件:idBresenhamCircle(int r,int color) { int x,y,d; x=0;y=r;d=1-r; ain( ) { int gdriver ,gmode ; gdriver = DETECT; initgraph(gdriver , gmode ,c:\\tc20\\bgi ); MidBresenhamCircle(50,6); getch ( ); closegraph ( ); } 实验截图: 椭圆: #include graphics.h void MidBresenhamEllipse(int a,int b,int color) { int x,y; float d1,d2; x=0;y=b; d1=b*b+a*a*(-b+0.5);putpixel(x+100,y+100,color); putpixel(-x+100,-y+100,color);putpixel(-x+100,y+100,color);putpixel(x+100,-y+100,color);ain( ) { int gdriver ,gmode ; gdriver = DETECT; initgraph(gdriver , gmode ,c:\\tc20\\bgi ); MidBresenhamEllipse(8,6,2); getch ( ); closegraph ( ); } 实验截图: 篇三:计算机图形学实验报告 计算机图形学 实验报告 学号:20072115 班级:计算机 2班 指导老师:何太军 2010.6.19实验一、FC AppFC编程,了解了一些MFC的结构,和如何进行窗口编程的知识。 实验二、基本图形生成算法(GDI/MFC) 1、实验目的 1)学习理解FC 类库的概念与结构; 5)学习使用VC++编写FC 的图形编程。 2、 实验内容 1) 使用MFC AppFC(exe)建立一个单文档工程; 2)在类视图中的Dra画线算法函数,中点画圆函数,边界表示区域和内点表示区域的种子填充算法函数,以供DView类中的OnDraw()函数来调用; 3)自定义circle_2,line_2,point_2类来保存基本的图形数据 4)在OnDraw()函数里调用不同的画线、画圆算法来绘制直线、圆、多边形、曲线等基本图形,调用填充算法函数,用来填充多边形和圆。 5)修改Point为point_resister类,从CObject 派生,并且重载Serialize 函数,Serialize 函数函数体根据不同的成员变量实现数据的保存。 6)在OnDraw()函数里调用直线的Serialize 函数,实现直线数据的串行化,保存数据到指定文件里 4、实验结果 通过输入教材上的代码,能成功地实现相应的算法功能。通过 关 键 词: 计算机 图形学 实验 报告

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值