资源简介
演示一个不断旋转、缩放和移动的正三棱锥。要求正三棱锥 4 个面 的颜色各不相同。
代码片段和文件信息
#include
#include
#include
#include
#include
float pi = 3.1415926;
float time;
void Timer(int millis)
{
float dtime = 5;
time = fmod(time + dtime 360);
glutPostRedisplay();
glutTimerFunc(millis Timer millis);
}
void Reshape(int w int h)
{
glViewport(0 0 w h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(30 (float)w / h 1 1000);
glTranslatef(0 0 -8);
glRotatef(30 1 0 0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void triangle(float r)
{
glPushMatrix();
glColor3f(1 0 0);
glTranslatef(0 0 r*sin(pi / 3) / 3);
glRotatef(-19.47 1 0 0);
glBegin(GL_TRIANGLES);
{
glVertex2f(-r / 2 0);
glVertex2f(r / 2 0);
glVertex2f(0 r*sin(pi / 3));
}
glEnd();
glPopMatrix();
glPushMatrix();
glColor3f(0 1 0);
glRotatef(120 0 1 0);
glTranslatef(0 0 r*sin(pi / 3) / 3);
glRotatef(-19.47 1 0 0);
glBegin(GL_TRIANGLES);
{
glVertex2f(-r / 2 0);
glVertex2f(r / 2 0);
glVertex2f(0 r*sin(pi / 3));
}
glEnd();
glPopMatrix();
glPush
- 上一篇:计算机图形学 多边形裁剪程序
- 下一篇:任意长的整数加法 课程设计
评论
共有 条评论