- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验 2 直线生成算法实现
1. 实验目的
理解基本图形元素光栅化的基本原理, 掌握一种基本图形元素光栅化算法, 利用
0penGL 实现直线光栅化的 DDA 算法。
2. 实验内容
(1)根据所给的直线光栅化的示范源程序 , 在计算机上编译运行 , 输出正确结果。
(2)指出示范程序采用的算法 , 以此为基础将其改造为中点线算法或 Bresenham 算法,
写入实验报告。
(3)根据示范代码,将其改造为圆的光栅化算法,写入实验报告。
(4 )了解和使用 OpenGL 的生成直线的命令,来验证程序运行结果。
3. 实验原理
示范代码原理 DDA 算法。下面介绍 OpenGL 画线的一些基础知识和 glutReshapeFunc ()
函数。
(1)数学上的直线没有宽度 ,但 0penGL 的直线则是有宽度的。同时 , OpenGL 的直线必须
是有限长度,而不是像数学概念那样是无限的。可以认为 , OpenGL 的“直线 概念与数学上
的“线段”接近,它可以由两个端点来确定。这里的线由一系列顶点顺次连接而成 , 有闭合
和不闭合两种 .
前面的实验已经知道如何绘 “点”,那么 OpenGL 是如何知道拿这些顶点来做什么呢 ? 是
依次画出来,还是连成线? 或者构成一个多边形 ? 或是做其他事情 ? 为了解决这一问题,
OpenGL 要求:指定顶点的命令必须包含在 glBegin 函数之后, glEnd 函数之前 (否则指定的
顶点将被忽略 ),并由 glBegin 来指明如何使用这些点。
例如 :
glBegin(GL P0INTS) ,
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 L0
〇P、 GL TRIANGLES、 GL TRIANGLE STRIP、 GL TRIANGLE_FAN等几何图元。
(2 ) 首次打开窗口、 移动窗口和改变窗口大小时, 窗口系统都将发送一个事件, 以通
知程序员 。如果使用的是 GLUT,通知将自动完成 ,并调用向 glutReshapeFunc 注册的函数 . 该
函数必须完成下列工作:
①重新建立用作新渲染画布的矩形区域。
②定义绘制物体时使用的坐标系 .
如:
void Reshape(int w, int h )
{
glViewport(0 , 0 , (GLsizei) w, (GLsizei) h);
glMatrixMode(GL_PROJECTION) ;
glLoadIdentity( ) ;
gluOrtho2D (0 。0, (GLdouble ) w,0.0, (Gldouble )h) ;
}
在 GLUT 内部, 将给该函数传递两个参数 : 窗口被移动或修改大小后的宽度和高度, 单
位为像素 . glViewport ()调整像素矩形,用于绘制整个窗
您可能关注的文档
最近下载
- 自然辩证法-考试题库.doc
- 妇产科会阴擦洗冲洗护理技术.pptx
- 工程安全应急与响应预案.docx VIP
- Roland罗兰乐器JUNO-Gi 带数字录音功能的便携合成器JUNO-Gi Workshop 04 Realtime Control in the JUNO-Gi支持文档.pdf
- 《压疮压力性损伤的预防和治疗临床实践指南》解读.docx VIP
- 无热吸附式干燥机.doc
- 超星网课《中国古典小说巅峰-四大名著鉴赏》超星尔雅答案2023章节测验答案.doc
- 颊针疗法(基础篇).pptx
- 班会育人-心理健康课件——家校社协同育人,共创美好未来.pptx
- 同桌小伙伴(教学设计)-2024-2025学年岭美版(2024)美术一年级上册.docx VIP
文档评论(0)