电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

计算机图形学实验报告

计算机图形学实验报告_第1页
1/21
计算机图形学实验报告_第2页
2/21
计算机图形学实验报告_第3页
3/21
下载后可任意编辑计算机图形学基础实验报告院 系: 计算机科学学院 班 级: 2024 级 4 班 姓 名: 彭晓 学 号: 21209010434 下载后可任意编辑实验二 直线生成算法的实现1.实验目的: 理解基本图形元素光栅化的基本原理,掌握一种基本图形元素光栅化算法,利用 OpenGL实现直线光栅化的 DDA 算法。2.实验内容:(1) 根据所给的直线光栅化的示范源程序,在计算机上编译运行,输出正确结果;(2) 指出示范程序采纳的算法,以此为基础将其改造为中点线算法或 Bresenham 算法,写入实验报告;(3) 根据示范代码,将其改造为圆的光栅化算法,写入实验报告;(4) 了解和使用 OpenGL 的生成直线的命令,来验证程序运行结果。3.实验原理: 示范代码原理参见教材直线光栅化一节中的 DDA 算法。下面介绍下 OpenGL 画线的一些基础知识和 glutReshapeFunc()函数。 (1)数学上的直线没有宽度,但 OpenGL 的直线则是有宽度的。同时,OpenGL 的直线必须是有限长度,而不是像数学概念那样是无限的。可以认为,OpenGL 的“直线”概念与数学上的“线段”接近,它可以由两个端点来确定。这里的线由一系列顶点顺次连结而成有闭合和不闭合两种。 前面的实验已经知道如何绘“点”,那么 OpenGL 是如何知道拿这些顶点来做什么呢?是一个一个的画出来,还是连成线?或者构成一个多边形?或是做其它事情呢?为了解决这一问题,OpenGL 要求:指定顶点的命令必须包含在 glBegin 函数之后,glEnd 函数之前(否则指定的顶点将被忽略),并由 glBegin 来指明如何使用这些点。例如:glBegin(GL_POINTS);glVertex2f(0.0f, 0.0f);glVertex2f(0.5f, 0.0f);glEnd(); 则这两个点将分别被画出来。假如将 GL_POINTS 替换成 GL_LINES,则两个点将被认为是直线的两个端点,OpenGL 将会画出一条直线。还可以指定更多的顶点,然后画出更复杂的图 形 。 另 一 方 面 , glBegin 支 持 的 方 式 除 了 GL_POINTS 和 GL_LINES , 还 有GL_LINE_STRIP,GL_LINE_LOOP,GL_TRIANGLES,GL_TRIANGLE_STRIP,GL_TRIANGLE_FAN。下载后可任意编辑 (2)首次打开窗口、移动窗口和改变窗口大小时,窗口系统都将发送一个事件,以通知程序员。假如使用的是 GLUT,通知将自动完成,并调用向 glutReshapeFunc()注册的函数。该函数必须完成下列工作: Ÿ  重新建立用作新渲染画布的矩形区域; Ÿ  定义绘制物...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

计算机图形学实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部