- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学
实验指导书
课程名称 : 计算机图形学基础
英文名称 : Computer Graphics
课程性质 : 限选
编写人 : 孔繁茹
2010年9月1日
计算机学院
阅读说明
未加标注的为参考实验
标有☆的为必做实验
标有★的为选做实验
实验要求
每个小组 ≤ 4人,需要完成以下任务
所有必做实验 (40%) 8 * 5分
2项选做实验 (20%) 2 * 10分
1项综合实验 (40%) 1 * 40分
Part 1 预备知识
实验1.1 环境设置
[参考程序] demo.c 图 1.1.1
一、实验目的
熟悉VC编程环境, 配置OpenGL图形环境
二、实验内容
1.OpenGL环境设置
将OpenGL所需函数库和头文件复制到指定目录.
也可以通过批处理文件的方式, 将下面四行存入一文本文件, 改名为set.bat, 然后双击set.bat运行.
copy glut.h C:\Program Files\Microsoft Visual Studio\VC98\Include\GL
copy glut32.lib C:\Program Files\Microsoft Visual Studio\VC98\Lib
copy glut32.dll C:\WINDOWS\system32
pause
注意: 如果VC安装在D盘或其他盘, 应修改相应路径
2.编译运行demo.c, 查看环境是否配置成功
Part 2 OpenGL 编程基础
实验2.1 OpenGL编程基础
[参考程序] hello.c 图2.1.1
chap2-1.cpp 图2.1.2
一、实验目的
熟悉OpenGL编程框架、基本函数、几何原语
二、实验内容
运行hello.c, 查看运行结果, 并完成以下练习
1) 改变背景颜色
2) 改变图形颜色
3) 改变窗口大小
4) 改变窗口位置
用OpenGL几何原语绘制点, 直线, 多边形, 三角形带等基本图形.
OpenGL编程基础可参考附录。
调用以下函数后绘制出的图形会有什么变化?
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE );
☆ 实验2.2 绘制钻石图案
一、实验目的
掌握直线的绘制方式,了解如何根据窗口的大小设定图形的坐标范围
二、实验内容
绘制钻石图案: 将一圆周进行n等分,然后将所有的等分用直线连接,构成一幅美丽图案。
提示: n=8 ( =2*(/n
X=r*cos(() Y=r*sin(()
Part 3 交互技术
实验3.1 事件驱动
[参考程序] framework.c
一、实验目的
了解事件驱动的工作方式
二、实验内容
1. 运行范例程序,分析源码。
实验3.2 双帧缓存及动画
[参考程序] rotate.c
single_double.c
一、实验目的
了解双帧缓存的工作方式、动画的实现方式及如何创建多个窗口
二、实验内容
1. 运行范例程序,分析源码。
实验3.3 XOR模式
[参考程序] gasket4-xor.c
一、实验目的
熟悉采用XOR模式进行绘图的方式.
二、实验内容
1. 运行范例程序,分析源码。
[OpenGL相关函数]
glEnable(GL_COLOR_LOGIC_OP)
glLogicOp(GL_XOR)
glLogicOp(GL_COPY)
实验3.4 草拟
[参考程序] square.c
一、实验目的
了解交互程序的编程方式
二、实验内容
1. 运行square.c, 查看运行结果, 并完成以下练习
改用点绘制,调整点的大小,并观察效果
当鼠标中键按下时, 退出系统
改变鼠标响应方式,移动鼠标就可以在屏幕上画出一连串小正方形, 无论鼠标键是否按下
改变鼠标响应方式,单击左键,移动鼠标(移动鼠标时,不必一直保持左键按下),开始绘图,再次按下左键,绘图停止。
☆ 实验3.5 橡皮筋
[参考程序] rubberLine.c
rubberLine-smooth.c
chap3-1.cpp
chap3-2.cpp
rubberLine.c 运行情况:
第一次单击左键, 确定直线起始点, 接下来单击左键, 直线以XOR Mode 绘制, 并可以不断调整直线终点. 单击右键, 直线以Copy Mode 绘制, 本条直线绘制结束.
rubberLine-smooth.c 运行情况:
第一次单击左键, 确定直线起始点, 接下来随着鼠标的移动, 直线在屏幕上绘制, 并随着鼠标的移动不断伸缩变化, 再一次单击左键, 本条直线绘制结束.
一、实验目的
通过橡皮筋的绘制熟悉交互程序的编程方式
二、实验内容
1. 实现矩形橡皮筋的绘制
第一次单击左键,
文档评论(0)