图形学实验报告重点.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 报 告 实验名称: 计算机图形学实验 目 录 1.1 实验目的与要求..................................................1 1.2 实验任务内容与步骤..............................................1 实验一..........................................................1 实验二..........................................................3 1.3 实验结果........................................................3 实验一结果......................................................3 实验二结果......................................................8 1.4 心得体会........................................................8 1.5 源代码..........................................................9 实验目的与要求: 目的: 利用OpenGL库,对课本的图形原理进行C语言编程,从而实现各种绘图算法。从中进一步了解计算机图形学的原理,加深对课程内容的理解,逐步掌握算法原理的实现过程。另外,初步掌握OpenGL的基本使用方法,能够使用其进行简单图形、图素的绘制。 实验要求: I. (1)理解glut程序框架 (2)理解窗口到视区的变换 (3)理解OpenGL实现动画的原理 (4)添加代码实现中点Bresenham算法画直线 (5)添加代码实现改进Bresenham算法画直线 (6)添加代码实现圆的绘制(可以适当对框架坐标系进行修改 II. (1)理解OpenGL中的变换过程 (2)理解透视投影与平行投影的不同 (3)添加代码实现太阳、地球和月亮的运动模型 (4)了解深度测试 (5)通过变换调整观察的位置与方向 (6)加入光照模型 实验内容和实验步骤: 实验一、利用各种算法实现直线与圆的扫描转换,在对应图中显示的同时,还要在控制台中打印显示像素点的坐标,以及误差d,e的值。 (1)中点Bresenham算法 ①.利用中点Bresenham算法画出直线,其中直线的斜率要求为:0=k=1. ②.具体参数如下: x0,y0 起点坐标 x1,y1 终点坐标 num 扫描转换时从起点开始输出的点的数目 ③.算法实现流程步骤: 1. 对斜率k以及扫描点个数进行可行性判断。 2.通过起始点和终点,确定最大位移方向。 3. 算出d0,以及dx,dy,由最大位移方向确定 dx,dy在不同情况下的增量UpIncre,DownIncre。 4. 通过循环根据di逐步确定xi,yi,从而完成直线绘制。 (2)改进的Bresenham算法 ①.利用改进的Bresenham算法画出直线,其中直线的斜率要求为:0=k=1. ②.具体参数如下: x0,y0 起点坐标 x1,y1 终点坐标 num 扫描转换时从起点开始输出的点的数目 ③.算法实现流程步骤: 1. 对斜率k以及扫描点个数进行可行性判断。 2.通过起始点和终点,确定最大位移方向。 3. 算出dx,dy,由最大位移方向确定变化量e。 4. 通过循环根据逐步确定xi,yi,以及修改ei的值 从而完成直线绘制。 (3)Bresenham算法画圆 ①.利用圆对称性八分法,以及Bresenham算法画圆。 ②.具体参数如下: x,y 圆心坐标 R 圆半径 num 扫描转换时从起点开始输出的点的数目 ③.算法实现流程步骤: 1. 设置起点坐标,以及误差d0初始值。 2.导出d在不同情况下的递推公式,以及x和y变化的范围(在 八分之一圆弧范围内)。 3. 根据x,y的界限设置循环:

文档评论(0)

118118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档