3D opengl魔方


牛X的课设魔方,代码简洁有操控音乐播放等等功能
资源截图
代码片段和文件信息
#include
#include
#include
#include
#include
#include 
#include 
#include “fmod.h“ // 音频库的头文件
#pragma comment(lib “fmodvc.lib“) // 把音频库加入到链接器中

#define  PI2 6.2831853f 
#define  CYCLE_COUNT    900
#define MAX_CHAR 128

FSOUND_STREAM *mp3back; // 背景音乐 *.mp3格式

static GLfloat spin=0.0jl=0.0;              //旋转参数
GLfloat   RX=0RY=0;                //平移参数    
                 
GLuint texture[15];               // 存储一个纹理        

void wenzi(void); //文字绘制函数申明

typedef struct             //用于存储点坐标
{
GLfloat p[3];
}stPoint;

typedef struct            //单个立方体八个点信息
{
stPoint CubePoint[8];
}stCube;


static stPoint pianyi[27]=          // 立方体偏移数组
{
{-1.0-1.0-1.0}  //0   
{-1.01.0-1.0}  //1 
{-1.03.0-1.0}  //2 
{1.0-1.0-1.0}   //3
{1.01.0-1.0} //4  
{1.03.0-1.0} //5
{3.0-1.0-1.0} //6  
{3.01.0-1.0} //7
{3.03.0-1.0}  //8   
{-1.0-1.01.0}  //9 
{-1.01.01.0}  //10 
{-1.03.01.0}   //11
{1.0-1.01.0} //12  
{1.01.01.0} //13
{1.03.01.0} //14  
{3.0-1.01.0} //15
{3.01.01.0}  //16   
{3.03.01.0}  //17 
{-1.0-1.03.0}  //18 
{-1.01.03.0}   //19
{-1.03.03.0} //20  
{1.0-1.03.0} //21
{1.01.03.0} //22  
{1.03.03.0} //23
{3.0-1.03.0}  //24   
{3.01.03.0}  //25 
{3.03.03.0}  //26 
};

static stPoint CubePoint[8]=            //初始立方体点坐标
{
{ -1.0f -1.0f 1.0f}  //0   
{ 1.0f -1.0f 1.0f }  //1 
{1.0f  1.0f 1.0f  }  //2 
{-1.0f  1.0f 1.0f}   //3
{-1.0f -1.0f -1.0f} //4  
{-1.0f  1.0f -1.0f} //5
{1.0f   1.0f -1.0f} //6  
{1.0f  -1.0f -1.0f} //7
 
};


stCube  Cube[27];
stCube  Static_Cube[27];

int     rotAngle=1rotbegin=1;//程序运行判断参数
int     rotCount=0;    //一个旋转周期内旋转次数 
int     rotXrotYrotZ; //指定那个轴旋转
int     sw=1_key=1;//初始化数组

BYTE   ZP[9] = {012345678};             //Z轴上三层
BYTE   ZM[9] = {91011121314151617}; 
BYTE   ZK[9] = {181920212223242526};

BYTE   YM[9] = {03691215182124};         //Y轴上三层
BYTE   YP[9] = {147101316192225};
BYTE   YK[9] = {258111417202326};

BYTE   XM[9] = {01291011181920};         //X轴上三层
BYTE   XP[9] = {345121314212223};
BYTE   XK[9] = {678151617242526};

//与上对应的层次划分,用于比较,更新
const BYTE   SZP[9] ={012345678};
const BYTE   SZM[9] ={91011121314151617};
const BYTE   SZK[9] ={181920212223242526};

const BYTE   SYM[9] = {03691215182124}; 
const BYTE   SYP[9] = {147101316192225};
const BYTE   SYK[9] = {258111417202326};

const BYTE   SXM[9] = {01291011181920};
const BYTE   SXP[9] = {345121314212223};
const BYTE   SXK[9] = {678151617242526};




void reset_model()                   //三阶魔方点坐标初始化
{
int i;
if(sw==1)
{
for(int j=0;j<27;j++)
{
for(int i=0;i<8;i++)
{
Cube[j].Cub

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-12-18 23:35  cube1
     文件        4433  2012-11-11 23:38  cube1cube1.dsp
     文件         535  2012-10-15 22:41  cube1cube1.dsw
     文件      135241  2012-11-13 13:05  cube1cube1.exe
     文件       58368  2012-12-12 15:54  cube1cube1.ncb
     文件      658944  2012-12-12 15:54  cube1cube1.opt
     文件        1436  2012-12-12 15:50  cube1cube1.plg
     目录           0  2012-12-18 23:35  cube1Data
     文件       58854  2012-10-25 21:34  cube1Datax1.bmp
     文件      145254  2012-10-26 12:57  cube1Datax2.bmp
     文件       58854  2012-10-25 21:35  cube1Datax3.bmp
     文件       58854  2012-10-25 21:35  cube1Datax4.bmp
     文件       60534  2012-10-25 21:36  cube1Datax5.bmp
     文件       26838  2012-10-25 12:00  cube1Datax6.bmp
     文件     6377218  2012-11-05 22:03  cube1Datazszj.mp3
     文件       18060  2012-12-12 15:50  cube1main.cpp
     文件        2053  2012-12-11 13:39  cube1wenzi.cpp

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)