ProjectYZ

所属分类:OpenGL
开发工具:WINDOWS
文件大小:11308KB
下载次数:3
上传日期:2017-12-09 22:58:04
上 传 者flyin
说明:  绘制多排圆锥,每排颜色不同,且添加弹出式菜单,对圆锥进行操作 三维绘制 纹理映射
(draw cones with OpenGL)

文件列表:
Data (0, 2017-11-15)
Data\Cube.bmp (49220, 1998-01-04)
main.cpp (6677, 2017-11-16)
录像.wmv (11861889, 2017-11-16)

实验说明 实验目的与原理: 绘制多排圆锥,每排颜色不同,且添加弹出式菜单,对圆锥进行操作 实验关键代码: 1)园锥的绘制 glBegin( GL_QUADS); double tt = 0.0;double dtt = 2*PI/nslice; for (int j = 0; j <= nslice; ++j) { glNormal3f(1.0f, 0.0f, 0.0f); glTexCoord2f( tt/(2*PI), 1.0); glVertex3f( 0.0f, 2.0f, 0.0f); glTexCoord2f( tt/(2*PI), 0.0); glVertex3f( cos( tt)*1.0f, 0.0f, -sin( tt)*1.0f); tt = tt + dtt; } glEnd(); 利用回转线段的方法绘制圆锥面,并将纹理添加在改圆锥面上 2)添加菜单项 加入两个函数: void TopMenu(int option) { switch (option) { case 1: yrott = 0.2f; break; case 2: yrott= -0.2f; break; case 3: xrott = -0.2f; break; case 4: xrott = 0.2f; break; case 5: xrott = 0.0f; yrott = 0.0f; break; case 6: xrott = 0.0f; yrott = 0.0f; xrot = 0.0f; yrot = 0.0f; break; } } void GenMenu() { glutCreateMenu(TopMenu); glutAddMenuEntry("向右旋", 1); glutAddMenuEntry("向左旋", 2); glutAddMenuEntry("向后翻", 3); glutAddMenuEntry("向前翻", 4); glutAddMenuEntry("停止", 5); glutAddMenuEntry("一键还原", 6); glutAttachMenu(GLUT_RIGHT_BUTTON); } 实验效果: 通过右键菜单,可以对圆锥进行旋转操作,同时也可以用方向键进行调整,具体见演示视频 实验环境: Windows10 ***位 Visual Studio 2012

近期下载者

相关文件


收藏者