⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 def_logo.c

📁 学习c++必备
💻 C
📖 第 1 页 / 共 2 页
字号:
void def_logo(void){	def_O();	def_P();	def_El();	def_G();}void draw_O(void){	int i,j,k;    for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		for (j=0;j<ACC4;j++)		{			glNormal3f(normal_O[j][k][0], normal_O[j][k][1], normal_O[j][k][2]);			glVertex3f(char_O[j][k][0], char_O[j][k][1], char_O[j][k][2]);			glNormal3f(normal_O[j][i][0], normal_O[j][i][1], normal_O[j][i][2]);			glVertex3f(char_O[j][i][0], char_O[j][i][1], char_O[j][i][2]);		}		glNormal3f(normal_O[0][k][0], normal_O[0][k][1], normal_O[0][k][2]);		glVertex3f(char_O[0][k][0], char_O[0][k][1], char_O[0][k][2]);		glNormal3f(normal_O[0][i][0], normal_O[0][i][1], normal_O[0][i][2]);		glVertex3f(char_O[0][i][0], char_O[0][i][1], char_O[0][i][2]);		glEnd();	}}void draw_P(void){	int i,j,k;    for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		for (j=0;j<ACC2;j++)		{			glNormal3f(normal_P[j][k][0], normal_P[j][k][1], normal_P[j][k][2]);			glVertex3f(char_P[j][k][0], char_P[j][k][1], char_P[j][k][2]);			glNormal3f(normal_P[j][i][0], normal_P[j][i][1], normal_P[j][i][2]);			glVertex3f(char_P[j][i][0], char_P[j][i][1], char_P[j][i][2]);		}		glNormal3f(normal_P[0][k][0], normal_P[0][k][1], normal_P[0][k][2]);		glVertex3f(char_P[0][k][0], char_P[0][k][1], char_P[0][k][2]);		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0], char_P[0][i][1], char_P[0][i][2]);		glEnd();	}	j = 0;	glBegin(GL_QUAD_STRIP);	for (i=0;i<ACC;i++)	{		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0]-4.3, -1.6, 1.0*char_P[0][i][2]);		glVertex3f(char_P[0][i][0]-4.3, 6.0, 1.0*char_P[0][i][2]);	}	glNormal3f(normal_P[0][0][0], normal_P[0][0][1], normal_P[0][0][2]);	glVertex3f(char_P[0][0][0]-4.3, -1.6, 1.0*char_P[0][0][2]);	glVertex3f(char_P[0][0][0]-4.3, 6.0, 1.0*char_P[0][0][2]);	glEnd();}void draw_E(void){	int i,j,k;    for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		glNormal3f(normal_P[0][k][0], normal_P[0][k][1], normal_P[0][k][2]);		glVertex3f(char_P[0][k][0], char_P[0][k][1]+0.0, char_P[0][k][2]);		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0], char_P[0][i][1]+0.0, char_P[0][i][2]);		for (j=1;j<ACC2;j++)		{			glNormal3f(normal_P[j][k][0], normal_P[j][k][1], normal_P[j][k][2]);			glVertex3f(char_P[j][k][0], char_P[j][k][1], char_P[j][k][2]);			glNormal3f(normal_P[j][i][0], normal_P[j][i][1], normal_P[j][i][2]);			glVertex3f(char_P[j][i][0], char_P[j][i][1], char_P[j][i][2]);		}		glNormal3f(normal_P[0][k][0], normal_P[0][k][1], normal_P[0][k][2]);		glVertex3f(char_P[0][k][0], char_P[0][k][1]-0.4, char_P[0][k][2]);		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0], char_P[0][i][1]-0.4, char_P[0][i][2]);		glEnd();	}	glBegin(GL_QUAD_STRIP);	j = ACC2*3/4;	for (i=0;i<ACC;i++)	{		glNormal3f(normal_P[j][i][0], normal_P[j][i][1], normal_P[j][i][2]);		glVertex3f(-2.0, char_P[j][i][1]+2.55, 1.0*char_P[j][i][2]);		glVertex3f(2.0,  char_P[j][i][1]+2.55, 1.0*char_P[j][i][2]);	}	glNormal3f(normal_P[j][0][0], normal_P[j][0][1], normal_P[j][0][2]);	glVertex3f(-2.0, char_P[j][0][1]+2.55, 1.0*char_P[j][0][2]);	glVertex3f(2.0,  char_P[j][0][1]+2.55, 1.0*char_P[j][0][2]);	glEnd();}void draw_El(void){	int i,j,k;	for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		for (j=0;j<=ACC3;j++)		{			glNormal3f(normal_El[j][k][0], normal_El[j][k][1], normal_El[j][k][2]);			glVertex3f(char_El[j][k][0], char_El[j][k][1], char_El[j][k][2]);			glNormal3f(normal_El[j][i][0], normal_El[j][i][1], normal_El[j][i][2]);			glVertex3f(char_El[j][i][0], char_El[j][i][1], char_El[j][i][2]);		}		glEnd();	}}void draw_N(void){	int i,j,k;    for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		for (j=0;j<=ACC2/2;j++)		{			glNormal3f(normal_P[j][k][0], normal_P[j][k][1], normal_P[j][k][2]);			glVertex3f(char_P[j][k][0], char_P[j][k][1], char_P[j][k][2]);			glNormal3f(normal_P[j][i][0], normal_P[j][i][1], normal_P[j][i][2]);			glVertex3f(char_P[j][i][0], char_P[j][i][1], char_P[j][i][2]);		}		glEnd();	}	j = 0;	glBegin(GL_QUAD_STRIP);	for (i=0;i<ACC;i++)	{		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0]-4.3, 0.2, 1.0*char_P[0][i][2]);		glVertex3f(char_P[0][i][0]-4.3, 6.0, 1.0*char_P[0][i][2]);	}	glNormal3f(normal_P[0][0][0], normal_P[0][0][1], normal_P[0][0][2]);	glVertex3f(char_P[0][0][0]-4.3, 0.2, 1.0*char_P[0][0][2]);	glVertex3f(char_P[0][0][0]-4.3, 6.0, 1.0*char_P[0][0][2]);	glEnd();	j = 0;	glBegin(GL_QUAD_STRIP);	for (i=0;i<ACC;i++)	{		glNormal3f(normal_P[0][i][0], normal_P[0][i][1], normal_P[0][i][2]);		glVertex3f(char_P[0][i][0], 0.2, 1.0*char_P[0][i][2]);		glVertex3f(char_P[0][i][0], 3.4, 1.0*char_P[0][i][2]);	}	glNormal3f(normal_P[0][0][0], normal_P[0][0][1], normal_P[0][0][2]);	glVertex3f(char_P[0][0][0], 0.2, 1.0*char_P[0][0][2]);	glVertex3f(char_P[0][0][0], 3.4, 1.0*char_P[0][0][2]);	glEnd();}void draw_G(void){	int i,j,k;    for (i=0;i<ACC;i++)	{		k = i+1;		if (k>=ACC)			k = 0;		glBegin(GL_QUAD_STRIP);		glNormal3f(normal_G[0][k][0], normal_G[0][k][1], normal_G[0][k][2]);		glVertex3f(char_G[0][k][0], char_G[0][k][1]+1.2, char_G[0][k][2]);		glNormal3f(normal_G[0][i][0], normal_G[0][i][1], normal_G[0][i][2]);		glVertex3f(char_G[0][i][0], char_G[0][i][1]+1.2, char_G[0][i][2]);		for (j=1;j<ACC4;j++)		{			glNormal3f(normal_G[j][k][0], normal_G[j][k][1], normal_G[j][k][2]);			glVertex3f(char_G[j][k][0], char_G[j][k][1], char_G[j][k][2]);			glNormal3f(normal_G[j][i][0], normal_G[j][i][1], normal_G[j][i][2]);			glVertex3f(char_G[j][i][0], char_G[j][i][1], char_G[j][i][2]);		}		glEnd();	}	glBegin(GL_QUAD_STRIP);	j = ACC4*3/4;	for (i=0;i<ACC;i++)	{		glNormal3f(accSIN[i], 0.0, accCOS[i] );		glVertex3f(4.0+0.9*accSIN[i], 4.0+0.9*accSIN[i], 0.9*accCOS[i] );		glVertex3f(4.0+0.9*accSIN[i], 0.0, 0.9*accCOS[i]);	}	glNormal3f(accSIN[0], 0.0, accCOS[0] );	glVertex3f(4.0+0.9*accSIN[0], 4.0+0.9*accSIN[0], 0.9*accCOS[0] );	glVertex3f(4.0+0.9*accSIN[0], 0.0, 0.9*accCOS[0]);	glEnd();	glBegin(GL_QUAD_STRIP);	j = ACC4*3/4;	for (i=0;i<ACC;i++)	{		glNormal3f(0.0, accSIN[i], accCOS[i] );		glVertex3f(4.0-0.9*accSIN[i], 4.0-0.9*accSIN[i], 0.9*accCOS[i] );		glVertex3f(0.0, 4.0-0.9*accSIN[i], 0.9*accCOS[i]);	}	glNormal3f(0.0, accSIN[0], accCOS[0] );	glVertex3f(4.0-0.9*accSIN[0], 4.0-0.9*accSIN[0], 0.9*accCOS[0] );	glVertex3f(0.0, 4.0-0.9*accSIN[0], 0.9*accCOS[0]);	glEnd();	j = ACC4*3/4;	glBegin(GL_TRIANGLE_FAN);	glNormal3f(-1.0, 0.0, 0.0);	glVertex3f(0.0, 4.0, 0.0);	for (i=0;i<ACC;i++)		glVertex3f(0.0, 4.0+0.9*accSIN[i], 0.9*accCOS[i]);	glVertex3f(0.0, 4.0+0.9*accSIN[0], 0.9*accCOS[0]);	glEnd();}void draw_L(void){	int i;	glBegin(GL_QUAD_STRIP);	for (i=0;i<ACC;i++)	{		glNormal3f(accSIN[i], 0.0, accCOS[i] );		glVertex3f(0.9*accSIN[i], 9.6, 0.9*accCOS[i]);		glVertex3f(0.9*accSIN[i], 0.9+0.9*accSIN[i], 0.9*accCOS[i] );	}	glNormal3f(accSIN[0], 0.0, accCOS[0] );	glVertex3f(0.9*accSIN[0], 9.6, 0.9*accCOS[0]);	glVertex3f(0.9*accSIN[0], 0.9+0.9*accSIN[0], 0.9*accCOS[0] );	glEnd();	glBegin(GL_QUAD_STRIP);	for (i=0;i<ACC;i++)	{		glNormal3f(0.0, accSIN[i], accCOS[i] );		glVertex3f(0.9*accSIN[i], 0.9+0.9*accSIN[i], 0.9*accCOS[i] );		glVertex3f(5.6, 0.9+0.9*accSIN[i], 0.9*accCOS[i]);	}	glNormal3f(0.0, accSIN[0], accCOS[0] );	glVertex3f(0.9*accSIN[0], 0.9+0.9*accSIN[0], 0.9*accCOS[0] );	glVertex3f(5.6, 0.9+0.9*accSIN[0], 0.9*accCOS[0]);	glEnd();	glBegin(GL_TRIANGLE_FAN);	glNormal3f(1.0, 0.0, 0.0);	glVertex3f(5.6, 0.9, 0.0);	for (i=ACC-1;i>=0;i--)		glVertex3f(5.6, 0.9+0.9*accSIN[i], 0.9*accCOS[i]);	glVertex3f(5.6, 0.9+0.9*accSIN[ACC-1], 0.9*accCOS[ACC-1]);	glEnd();}void draw_part(int i){	glPushMatrix();	glTranslatef(TRANS[i][0]*progress, TRANS[i][1]*progress, TRANS[i][2]*progress);	glRotatef(ROT[i]*progress, ROTAXIS[i][0], ROTAXIS[i][1], ROTAXIS[i][2]);	switch(i)	{	case 0: draw_El(); break;	case 1: draw_O(); break;	case 2: draw_P(); break;	case 3: draw_E(); break;	case 4: draw_N(); break;	case 5: draw_G(); break;	case 6: draw_L(); break;	}	glPopMatrix();}void draw_logo(void){    groen_texture();	glEnable(GL_CULL_FACE);	glTranslatef(-2.8, 0.0, 0.0);	draw_part(0);	glTranslatef(-12.0, 4.3, 0.0);	draw_part(1);	glTranslatef(7.3, 0.0, 0.0);	draw_part(2);	glTranslatef(5.4, 0.0, 0.0);	draw_part(3);	glTranslatef(5.4, 0.0, 0.0);	draw_part(4);	glTranslatef(7.4, 0.0, 0.0);	draw_part(5);	glTranslatef(6.8, 0.0, 0.0);	draw_part(6);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -