ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:109KB ,
资源ID:8180821      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-8180821.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(OpenGL自行车.doc)为本站会员(gnk289057)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

OpenGL自行车.doc

1、GIS 专 业 实 验 报 告 ( 计 算 机 图 形 学 )实验 4 使用 opengl 进行层次模型的编程设计-以简单自行车模型为例姓名 系别班级 学号 实验日期 指导教师 实验成绩殷悦 地信 10.4 2010203482 2013.6.12 肖燕一实验目的及要求用 c+调用 opengl 图形函数库,通过显示列表的嵌套实现复杂物体的层次建模。设计一个包含框架和两个轮子的自行车。二 理论基础1. 显示列表:2. 显示列表的调用:3. OpenGL 划线函数:4. OpenGL 画圆函数:5. OpenGL 绘制闭合画线函数:三 算法设计与分析程序源码如下:#include #includ

2、e GLuint Wheel;GLuint Frame; void Initial(void)glClearColor(1.0f, 1.0f, 1.0f, 1.0f); Wheel = glGenLists(1);glNewList(Wheel, GL_COMPILE);glColor3f(1.0, 0.0, 1.0);glTranslatef(-42.0, -30.0, 0.0);glutSolidTorus(0.3, 20.0, 15, 1000); /线条粗细,半径, /*前轮 */glColor3f(1.0, 0.0, 1.0);glTranslatef(84.0, 0.0, 0.0)

3、;glutSolidTorus(0.3, 20.0, 15, 50); /*后轮 */glColor3f(1.0, 0.0, 1.0);glTranslatef(-84.0, 0.0, 0.0);glutSolidTorus(0.2, 5.0, 15, 50);/*前齿轮 */ glColor3f(0.0, 1.0, 0.0);glTranslatef(40.0, 0.0, 0.0);glutSolidTorus(0.2, 7.0, 15, 50);/*中间齿轮 */ glColor3f(0.0, 1.0, 0.0);glTranslatef(44.0, 0.0, 0.0);glutSolid

4、Torus(0.2, 5.0, 15, 50);/*后齿轮 */ glEndList();Frame = glGenLists(1);glNewList(Frame, GL_COMPILE);glColor3f(0.0, 0.0, 1.0);glLineWidth(3);glTranslatef(-20.0, 20.0, 0.0);glBegin(GL_LINES); /三角形支架 glVertex2i(-10,5);glVertex2i(50,5);glEnd();glBegin(GL_LINES);glVertex2i(-10,5);glVertex2i(20,-35);glEnd();

5、glBegin(GL_LINES); glVertex2i(20,-35);glVertex2i(50,5);glEnd(); /*三角形支架 */glBegin(GL_LINES); /前轮连杆 glVertex2i(-6,20);glVertex2i(-20,-35);glEnd();/*前轮连杆 */glBegin(GL_LINES); /车把 glVertex2i(-15,21);glVertex2i(3,19);glEnd();glBegin(GL_LINES);glVertex2i(-15,21);glVertex2i(-8,25);glEnd();glBegin(GL_LINES

6、);glVertex2i(3,19);glVertex2i(9,23);glEnd();/*车把 */glBegin(GL_LINES); /后轮连杆 glVertex2i(50,5);glVertex2i(64,-35);glEnd(); glBegin(GL_LINES); glVertex2i(50,5); glVertex2i(50,6 );glEnd(); glBegin(GL_LINES);glVertex2i(20,-35);glVertex2i(25,-45);glEnd();glBegin(GL_LINES);glVertex2i(25,-45);glVertex2i(22,

7、-48);glEnd();/*后轮连杆 */glColor3f(0.5, 1, 0.5);glLineWidth(2);glBegin(GL_LINES); /链条(上) glVertex2i(20,-28);glVertex2i(64,-30);glEnd();/*链条(上) */glBegin(GL_LINES); /链条 (下) glVertex2i(20,-42);glVertex2i(64,-40);glEnd();/*链条(下)*/*车座*/glColor3f(1.0, 0.5, 0.0);glLineWidth(3);glBegin(GL_LINE_LOOP); /车座 glVe

8、rtex2i(45,10);glVertex2i(44,9);glVertex2i(44,8);glVertex2i(55,5);glVertex2i(55,6);glVertex2i(55,7);glVertex2i(54,12);glVertex2i(53,13);glEnd();glEndList();void ChangeSize(int w, int h)glViewport(0, 0, w, h);glMatrixMode(GL_PROJECTION);glLoadIdentity();gluOrtho2D (-70.0f, 70.0f, -70.0f, 70.0f);void D

9、isplay(void)glClear(GL_COLOR_BUFFER_BIT); glMatrixMode(GL_MODELVIEW);glLoadIdentity();glTranslatef(0.0, 0.0, 0.0);glCallList(Frame); /调用支架显示列表glTranslatef(22.0, -5.0, 0.0);glCallList(Wheel); /调用轮子显示列表glFlush(); int main(int argc, char* argv)glutInit(glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutI

10、nitWindowSize(800,600); glutInitWindowPosition(200,200); glutCreateWindow(“OpenGL 二维自行车姓名:殷悦 学号:2010203482“); glutDisplayFunc(Display);glutReshapeFunc(ChangeSize);Initial(); glutMainLoop(); return 0;四 程序调试及运行结果的自我分析与自我评价大家根据自己能力调试自行车。下面是参考。代码中调用了三个 OpenGL 函数,利用 OpenGL 画线函数绘制出了自行车的框架、车把、链条,利用 OpenGL

11、画圆函数绘制出了自行车前后轮以及前后齿轮,利用 OpenGL 闭合画线函数绘制出了自行车车座,并用显示列表对各个部分进行管理,最终绘制成了一个简易的二维自行车。并对自行车的不同部位设置了不同的颜色,以增强其美观度。精力有限,本作品整体比较简单, 仅仅实现了自行车的二维简单表示,没有绘制出三维自行车。运行结果见下图 1。图 1 调试结果注:直接运行文件夹中的 EXE 文件就可以看到运行结果。五 实验心得及建议通过这次自己动手作程序,加深了对以往所学知识的了解和应用。把老师讲的东西,通过自己的努力和探索并加以研究,变成自己所能理解的东西。在已经基本上掌握了 VB 基础,又加深了各项功能的认识理解。我会把这次作业当作起点,更加加深对 VB 软件的研究,为自己可以早日熟练掌握此软件的各项操作步骤而努力。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报