OpenGL编程:交互式计算机图形学Sierpinski程序示例
4星 · 超过85%的资源 需积分: 16 70 浏览量
更新于2024-10-05
1
收藏 481KB DOC 举报
"交互式计算机图形学 (基于OpenGL,第四版/第五版)是一本由Edward Angel著,清华大学出版社出版的教程,包含了用于学习的全套源码,主要针对初学者,涉及计算机图形学的基本概念和OpenGL的应用。"
交互式计算机图形学是计算机科学的一个重要分支,它关注的是用户与计算机图形之间的互动。OpenGL是一种跨语言、跨平台的编程接口,用于渲染二维、三维图像。在本书中,作者使用OpenGL作为工具,通过实际的编程示例帮助读者理解复杂的图形学概念。
源码部分展示了Sierpinski镂垫程序的实现,这是一种典型的分形几何图形。Sierpinski镂垫是由三角形不断细分生成的图案,通过随机选择顶点并进行二分来创建。代码中,`myinit()`函数设置环境,包括清空背景颜色为白色,设定绘制颜色为红色,并配置视口和投影矩阵。`display()`函数负责绘制和更新图形,首先清除颜色缓冲区,然后使用`glBegin(GL_POINTS)`和`glEnd()`来定义点的绘制,循环生成5000个新点,每个点的位置是随机选定的三角形顶点和旧点之间中点的组合。
`rand()`函数用于生成随机数,选择三角形中的一个顶点,`gluOrtho2D()`函数设置了一个正交投影,确保坐标窗口的原点位于左下角,范围为0.0到50.0。`glMatrixMode()`切换矩阵模式,控制投影和模型视图的变换。`glLoadIdentity()`则重置当前矩阵为单位矩阵。
这段代码的执行过程是这样的:首先初始化环境,然后在每次重绘时,根据随机选择的顶点生成新的点,这些点会按照Sierpinski镂垫的规则分布,形成逐渐细化的图案。这个程序展示了计算机图形学中如何利用数学和随机性创建复杂的视觉效果。
通过学习和实践这样的源码,读者可以深入理解OpenGL的工作原理,以及如何使用它来创建交互式的图形应用。同时,对分形的理解也能帮助他们更好地掌握几何形状和算法在图形生成中的应用。
2018-06-18 上传
2018-05-21 上传
945 浏览量
529 浏览量
9988 浏览量
1567 浏览量
823 浏览量
35961 浏览量
普通网友
- 粉丝: 2
- 资源: 4
最新资源
- R语言中workflows包的建模工作流程解析
- Vue统计工具项目配置与开发指南
- 基于Spearman相关性的协同过滤推荐引擎分析
- Git基础教程:掌握版本控制精髓
- RISCBoy: 探索开源便携游戏机的设计与实现
- iOS截图功能案例:TKImageView源码分析
- knowhow-shell: 基于脚本自动化作业的完整tty解释器
- 2011版Flash幻灯片管理系统:多格式图片支持
- Khuli-Hawa计划:城市空气质量与噪音水平记录
- D3-charts:轻松定制笛卡尔图表与动态更新功能
- 红酒品质数据集深度分析与应用
- BlueUtils: 经典蓝牙操作全流程封装库的介绍
- Typeout:简化文本到HTML的转换工具介绍与使用
- LeetCode动态规划面试题494解法精讲
- Android开发中RxJava与Retrofit的网络请求封装实践
- React-Webpack沙箱环境搭建与配置指南