- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验二OpenGL的简单动画.
实验二 OpenGL的简单动画
Lab2_animation
一、实验目的
1、掌握OpenGL的闲置函数
2、掌握OpenGL的时间函数
3、掌握OpenGL的简单动画功能。
4、掌握OpenGL的闲置函数与简单动画。
5、 了解OpengGL裁剪窗口、视区、显示窗口的概念和它们之间的关系。
6、进一步掌握OpenGL的基本图元的绘制。
二、实验环境
硬件要求:
PC机,主流配置,最好为独立显卡,显存512M以上。
软件环境:
操作系统:Windows XP。
语言开发工具:Microsoft Visual studio 2008,Visual C++。
三、实验内容与要求
要求: 实验课上老师要求的效果截图、及其相应代码 拷贝到实验报告文档里。 WORD文档命名方式:学号姓名-实验序号-实验名称。
内容:
1、闲置函数的使用与简单动画。
(1) 旋转的六边形,如图3-1所示
阅读五 ,5.1)中 旋转的六边形样本框架程序,分析程序的实现步骤:
运行该程序,观察旋转动画效果。
思考: 如果要调整旋转速度,旋转更快或更慢,应该如何修改程序?
图3-1
(2) 线框六边形
在display 函数中
添加多边形模式设置语句观看效果。
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); //线框模式
添加线宽语句观看效果
glLineWidth(2.0); //设置线宽
重回多边形填充模式:
glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); //填充模式
(3) 在图形中添加字符Hello,观察结果;然后将Hello字符改为自己名字的拼音或英文名字。如图3-2所示。
提示:在图形中添加如下代码:
glColor3f(1,0,0); //设置红色绘制颜色
glRasterPos2i(30,20); //定位当前光标,起始字符位置
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,H); //写字符H
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,e); //写字符e
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,l); //写字符l
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,l); //写字符l
glutBitmapCharacter(GLUT_BITMAP_9_BY_15,o); //写字符o
(4) 变色技术举例:
在程序头部设置全部变量:
int k=0;
在myidle函数中添加代码:
if (k==1)
{ glColor3f(1,0,0) ;
k=0;
}
else
{
glColor3f(1,1,0) ;
k=1;
}
然后在绘制函数中屏蔽原来的绘制颜色,运行查看效果
(5) 六边形静止,直线单独旋转,如图3-2所示。
要求:
1)修改前面的程序,使得六边形保持静止,以六边形中心为起点画一条不同颜色的直线,终点为六边形某一顶点,使得直线不停绕中心点旋转。代码保存下来备用。
思考:如果需要直线保持与机器时钟的秒针节拍吻合,应该如何修改?
提示:可用延时 Sleep()函数,例如
Sleep(1000)表示延时1秒,放在 myidle函数中
图3-2
2)时间函数的使用与简单动画。
将以上程序中的闲置函数替换为时间函数,
1、主程序中的glutIdleFunc(myidle); //注册闲置回调函数 改为 glutTimerFunc(1000, mytime,10); //1000毫秒后调用时间函数 mytime
2、 myidle()闲置回调函数 改为时间函数 mytime( t)
在程序顶部,函数声明语句也要相应更改:
void myidle(); 改为 void mytime( int t);
3. 在时间函数 mytime(t)最后,再添加
glutTi
您可能关注的文档
- 实验三醋酸乙烯酯的溶液聚合..doc
- 实验中学课桌椅的要求..doc
- 实验中的吸附作用表面张力的测定..docx
- 实验专项练习二..doc
- 实验九--Web服务器的安装配置..doc
- 实验九555时基电路及其应用..doc
- 实验九DNA的粗提取与鉴定..doc
- 实验九DNA的酶切..doc
- 实验九PCB设计基础..doc
- 实验九一阶动态电路的响应测试..docx
- 小学语文数字教育资源开发中的版权保护与合规性策略教学研究课题报告.docx
- 高中地理与人工智能教育资源融合的教学实践案例分析教学研究课题报告.docx
- 《职业院校双师型教师队伍建设中的教师培训与教师流动与优化关系研究》教学研究课题报告.docx
- 小学阶段基于FEMA标准的灾害应急避难场所布局与评估研究教学研究课题报告.docx
- 融合教育背景下人工智能辅助的特殊学生心理健康教育研究教学研究课题报告.docx
- 高中政治理论教学:校园周边社会热点问题与学生政治理论教学研究教学研究课题报告.docx
- 高中历史人物评价视角下历史教学中的批判性思维培养研究教学研究课题报告.docx
- 《建筑防水工程渗漏问题诊断与防治技术探讨》教学研究课题报告.docx
- AI 传媒内容智能审核行业需求变化及营销策略研究报告.docx
- 国家智慧教育云平台在初中地理教学中地理思维提升策略教学研究课题报告.docx
最近下载
- 人教PEP版小学英语五年级 下册(1-6单元)思维导图.pdf
- 国际金融附微课杜玉兰习题答案.docx VIP
- 2023年大连大学计算机科学与技术专业《计算机系统结构》科目期末试卷A(有答案).docx VIP
- 2023年大连大学计算机科学与技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 知识产权法智慧树知到期末考试答案章节答案2024年同济大学.docx VIP
- 临床医学教学模式创新与课堂互动设计.pptx
- 生猪屠宰兽医卫生检验人员理论考试题库资料及答案.pdf VIP
- 天津市静海区2024-2025学年高一下学期6月学生学业能力调研试题 地理试卷含答案.docx VIP
- 有限空间安全作业技术交底.docx VIP
- 消防设施操作员(中级监控方向)理论知识考试题库(含答案解析).pdf VIP
文档评论(0)