• 大小: 3.73MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-13
  • 语言: 其他
  • 标签: OpenGL  

资源简介

一个用OpenGL实现的立体旋转球,帮助学习OpenGL的用户快速学习,提供一个简单的例子供参考。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#define M_PI 3.14159

typedef double point[3];
static double translate=0.0;
static bool m=false;
static bool n=false;
unsigned char key;
double c=3.14159/180.0;
double thetaphixyz;
GLfloat static rsphere=0.0;
GLsizei ww=500 wh=500;

void myInit()
{
glClearColor(1.01.01.01.0);
glColor3f(1.01.00.0);            
GLfloat light_position[]={20.030.00.00.0};


GLfloat light_ambient[]={0.00.00.01.0};
GLfloat light_diffuse[]={1.01.01.01.0};
GLfloat light_specular[]={1.01.01.01.0};


glLightfv(GL_LIGHT0GL_AMBIENTlight_ambient);
glLightfv(GL_LIGHT0GL_DIFFUSElight_diffuse);
glLightfv(GL_LIGHT0GL_SPECULARlight_specular);
glLightfv(GL_LIGHT0 GL_POSITION light_position);

glColorMaterial(GL_FRONTGL_DIFFUSE);
glEnable(GL_COLOR_MATERIAL);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0500.00.0500.0-10.010.0);
glMatrixMode(GL_MODELVIEW);
}




void draw_sphere()
{
void draw_sphere_2();
void myReshaped(intint);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

glTranslatef(0.00.0translate);
glRotatef(55.01.00.00.0);
glRotatef(rsphere0.00.01.0);

for(phi=-80.0; phi<=80.0; phi+=10)
{
glBegin(GL_QUAD_STRIP);
for(theta=-180.0; theta<=180.0; theta+=10.0)
{
x=sin(c*theta)*cos(c*phi);
y=cos(c*theta)*cos(c*phi);
z=sin(c*phi);
glNormal3d(xyz);
glVertex3d(xyz);
x=sin(c*theta)*cos(c*(phi+10.0));
y=cos(c*theta)*cos(c*(phi+10.0));
z=sin(c*(phi+10.0));
glNormal3d(xyz);
glVertex3d(xyz);
}
glEnd();
}
x=0.0;
y=0.0;
z=1.0;
    glBegin(GL_TRIANGLE_FAN);
glNormal3d(xyz);
glVertex3d(xyz);
z=sin(c*80.0);
for(theta=-180; theta<=180.0; theta+=10)
{
x=sin(c*theta)*cos(c*80.0);
y=cos(c*theta)*cos(c*80.0);
glNormal3d(xyz);
glVertex3d(xyz);
}
glEnd();
x=y=0;
z=-1;
glBegin(GL_TRIANGLE_FAN);
glNormal3d(xyz);
glVertex3d(xyz);
z=-sin(c*80.0);
for(theta=-180; theta<=180.0; theta+=10)
{
x=sin(c*theta)*cos(c*80.0);
y=cos(c*theta)*cos(c*80.0);
glNormal3d(xyz);
glVertex3d(xyz);
}
glEnd();
if(n)
{
draw_sphere_2();
}
glFlush();
glutSwapBuffers();
}
void draw_line()
{
for (phi=-80.0;phi<=80.0;phi+=10.0)
{
glBegin(GL_LINES);
for(theta=-180.0;theta<=180.0;theta+=10.0)
{
x=sin(c*theta)*cos(c*phi);
y=cos(c*theta)*cos(c*phi);
z=sin(c*phi);
glVertex3d(xyz);
x=1.2*sin(c*theta)*cos(c*phi);
y=1.2*cos(c*theta)*cos(c*phi);
z=1.2*sin(c*phi);
glVertex3d(xyz);
}
glEnd();
}
glFlush();
glutSwapBuffers();
}
void draw_sphere_2()
{
glPushAttrib(GL_ALL_ATTRIB_BITS);
glPushMatrix();
glTranslatef(3.00.00.0);
glRotatef(55.01.00.00.0);
glRotatef(rsphere

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     217088  2009-05-08 23:10  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\sphere.exe

     文件     245008  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\sphere.ilk

     文件      26581  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\sphere.obj

     文件     349352  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\sphere.pch

     文件     377856  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\sphere.pdb

     文件      33792  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\vc60.idb

     文件      45056  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\Debug\vc60.pdb

     文件       6209  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.cpp

     文件       4284  2009-04-10 23:07  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.dsp

     文件        520  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.dsw

     文件      33792  2009-04-10 23:07  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.ncb

     文件      48640  2009-04-10 23:07  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.opt

     文件        888  2009-04-10 22:56  立方体旋转\计算机图形学立方体旋转 更新版\sphere\sphere.plg

     文件      50118  2004-11-30 03:27  立方体旋转\计算机图形学立方体旋转 更新版\使用说明.CHM

     文件      34962  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\DrawDlg.obj

     文件          0  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\DrawDlg.sbr

     文件    3138560  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.bsc

     文件     122880  2009-05-08 23:10  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.exe

     文件     225212  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.ilk

     文件      13572  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.obj

     文件    6870840  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.pch

     文件     295936  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.pdb

     文件       2892  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.res

     文件          0  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iu.sbr

     文件      26384  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iuDlg.obj

     文件          0  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\iuDlg.sbr

     文件     106310  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\StdAfx.obj

     文件    1375172  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\StdAfx.sbr

     文件     214016  2009-04-01 00:18  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\vc60.idb

     文件     364544  2009-03-31 23:35  立方体旋转\计算机图形学立方体旋转 更新版\立方体旋转\Debug\vc60.pdb

............此处省略30个文件信息

评论

共有 条评论