open gl绘制三维坐标系,每个轴颜色分别为rgb
时间: 2024-02-23 11:00:56 浏览: 120
好的,下面是使用OpenGL绘制三维坐标系的代码,并且每个轴的颜色分别为RGB:
```c
#include <GL/glut.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// 设置视角
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60, 1, 1, 100);
// 设置视点
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(3, 4, 5, 0, 0, 0, 0, 1, 0);
// 绘制坐标系
glBegin(GL_LINES);
// X轴为红色
glColor3f(1.0f, 0.0f, 0.0f);
glVertex3f(-1.0f, 0.0f, 0.0f);
glVertex3f(1.0f, 0.0f, 0.0f);
// Y轴为绿色
glColor3f(0.0f, 1.0f, 0.0f);
glVertex3f(0.0f, -1.0f, 0.0f);
glVertex3f(0.0f, 1.0f, 0.0f);
// Z轴为蓝色
glColor3f(0.0f, 0.0f, 1.0f);
glVertex3f(0.0f, 0.0f, -1.0f);
glVertex3f(0.0f, 0.0f, 1.0f);
glEnd();
glutSwapBuffers();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH | GLUT_RGBA);
glutInitWindowSize(400, 400);
glutCreateWindow("OpenGL 3D 坐标系");
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
上面的代码使用了OpenGL的基本绘图函数`glBegin()`和`glEnd()`来绘制坐标系,同时使用`glColor3f()`函数来设置每个轴的颜色,其中`f`表示颜色值为浮点数。在`display()`函数中,我们首先清空颜色缓存和深度缓存,然后设置视角和视点,并绘制坐标系。最后使用`glutSwapBuffers()`函数将绘制的图像显示出来。
希望这个代码能够帮助你绘制三维坐标系。
阅读全文