电子科大实验2-三维图形程序设计.doc

电子科大实验2-三维图形程序设计.doc

ID:57377545

大小:254.00 KB

页数:12页

时间:2020-08-13

电子科大实验2-三维图形程序设计.doc_第1页
电子科大实验2-三维图形程序设计.doc_第2页
电子科大实验2-三维图形程序设计.doc_第3页
电子科大实验2-三维图形程序设计.doc_第4页
电子科大实验2-三维图形程序设计.doc_第5页
资源描述:

《电子科大实验2-三维图形程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告课程名称:三维图形设计学  院:计算机科学与工程专  业:计算机科学与技术指导教师:周川学生姓名:学  号:实验成绩:日  期:  2014  年  5月  19日电子科技大学计算机学院实验中心电子科技大学实验报告一、实验二:OpenGL建模与变换编程实验二、实验室名称:主楼A2-412实验时间:2014年5月19日三、实验目的:1.理解OpenGL视图变换、投影变换、模型-视图变换的相关原理;2.掌握与变换相关的OpenGLAPI函数及其用法。四、实验原理:1.openGL图形编程技术原理2.各种坐标转换,摄像机的使

2、用,层次化设计的思想,基本图元和高级图元绘制。五、实验内容:(一)编程任务1——绘制钟表1.利用图元和建模变换来建立钟表的基本构件a.表盘——voidcreateDial();b.刻度——voidcreateScale1();voidcreateScale2();c.时针、分针、秒针——voidcreateHourhand();voidcreateMinutehand();voidcreateSecondhand();2.利用建模变换将钟表的基本构件组装在一起——voidcreateWatch();3.控制钟表时针、分针和秒针

3、的运动——voidprocessHourhand(GLuinthour);voidprocessMinutehand(GLuintminute);voidprocessSecondhand(GLuintsecond);4.获取本地时间使用标准库time.h中的time()、localtime()函数获取本地时间:structtm*localTime;inthour,minute,second;time_tcurTime;time(&curTime);localTime=localtime(&curTime);hour=loca

4、lTime->tm_hour;minute=localTime->tm_min;second=localTime->tm_sec;5.绘制钟表显示当前时间(二)编程任务2——P96作业2编写一个程序,实现交互式的移动摄像机。显示一个或多个对象,并确保摄像机在移动时总是朝向场景中的同一点。六、实验器材(设备、元器件):电脑型号戴尔SystemInspironN4110笔记本电脑操作系统Windows8专业版64位(DirectX11)软件环境MicrosoftVisualStudioExpress2012forWindowsDe

5、sktopOpenGLGlut3.7七、实验步骤:1.设计基本构件并组合起来2.设计函数gettime得到系统时间3.利用空闲回调函数和基本转换得到钟表4.设计摄像机参数,以键盘交互形式操纵摄像机八、实验数据及结果分析:(一)钟表1.代码:#include#include#includeGLUquadric*p;structtm*localTime;inthour,minute,second;voidcreateDial(){glColor3f(0.5,0.5,0.5);

6、gluDisk(p,0.0,10.0,80,20);glColor3f(0.0,0.0,0.0);gluDisk(p,9.5,10.0,80,20);}voidcreateScale1(){glRectf(-0.5,-0.5,0.5,0.5);}voidcreateScale2(){glRectf(-0.25,-1.5,0.25,0.0);}voidcreateHourhand(){glColor3f(0.8,0.8,0.8);glBegin(GL_POLYGON);glVertex2f(0.0,-2.0);glVertex2

7、f(-0.75,0.0);glVertex2f(0.0,3.0);glVertex2f(0.75,0.0);glEnd();glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glVertex2f(0.0,-2.0);glVertex2f(-0.75,0.0);glVertex2f(0.0,3.0);glVertex2f(0.75,0.0);glEnd();}voidcreateMinutehand(){glColor3f(0.8,0.8,0.8);glBegin(GL_POLYGON);

8、glVertex2f(0.0,-2.0);glVertex2f(-0.5,0.0);glVertex2f(0.0,6.0);glVertex2f(0.5,0.0);glEnd();glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glV

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。