OpenGL实现:自顶向下的Sierpinski三角形程序
5星 · 超过95%的资源 需积分: 16 122 浏览量
更新于2024-10-17
1
收藏 481KB DOC 举报
"交互式计算机图形学——基于OpenGL的自顶向下方法(第4版)" 是一本关于使用OpenGL进行交互式计算机图形编程的教材。本书通过一个具体的Sierpinski镂垫程序实例来介绍基本的OpenGL编程技巧和概念。
在OpenGL编程中,Sierpinski镂垫是一个经典的示例,它展示了分形几何的概念。该程序使用随机选择的顶点和二分法生成二维的Sierpinski镂垫。源代码中包含了`myinit`函数和`display`函数,这两个是OpenGL程序中的关键函数。
`myinit`函数用于初始化图形环境。它设置了背景颜色(这里是白色),选择了绘制颜色(红色)以及配置了视图设置。`glMatrixMode(GL_PROJECTION)`切换到投影矩阵模式,`glLoadIdentity()`重置当前矩阵,`gluOrtho2D(0.0,50.0,0.0,50.0)`定义了一个50x50的二维正交视口,其原点位于左下角。接着,`glMatrixMode(GL_MODELVIEW)`切换回模型视图矩阵,这是进行实际绘图操作的矩阵。
`display`函数负责实际的绘图工作。首先,`glClear(GL_COLOR_BUFFER_BIT)`清除颜色缓冲区,也就是窗口。然后,定义了一个三角形的顶点数组`vertices`,并随机选择一个点`p`作为起始点。循环5000次,每次迭代中随机选择一个三角形的顶点,并计算这个顶点与当前点之间的中点,更新点的位置,然后用`glBegin(GL_POINTS)`和`glEnd()`定义一个点绘制的开始和结束,中间通过`glVertex2f`函数将每个新计算的点添加到屏幕上。
这个程序展示了如何在OpenGL环境中生成和显示动态图形,以及如何利用随机数生成分形结构。读者可以通过这个例子学习到OpenGL的基础绘图操作、矩阵变换、视口设置以及分形的构建方法。对于学习OpenGL和交互式计算机图形学的初学者来说,这是一个很好的起点。
2018-08-20 上传
2019-04-28 上传
2018-03-29 上传
947 浏览量
1567 浏览量
1236 浏览量
点击了解资源详情
lvguoling
- 粉丝: 0
- 资源: 4
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍