OpenGL绘制100个随机点
时间: 2024-04-30 15:23:24 浏览: 160
opengl随机画点
以下是使用OpenGL绘制100个随机点的示例代码:
```c++
#include <GL/glut.h>
#include <stdlib.h>
#include <time.h>
void display() {
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glPointSize(5.0);
// 绘制100个随机点
for (int i = 0; i < 100; i++) {
float x = rand() / (float)RAND_MAX * 2 - 1; // 生成-1到1之间的随机数
float y = rand() / (float)RAND_MAX * 2 - 1;
glBegin(GL_POINTS);
glVertex2f(x, y);
glEnd();
}
glFlush();
}
int main(int argc, char** argv) {
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("Random Points");
glClearColor(0.0, 0.0, 0.0, 0.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-1.0, 1.0, -1.0, 1.0);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
在上述代码中,使用了rand()函数生成随机数,需要在main函数中调用srand(time(NULL))来初始化随机数种子。这里省略了初始化部分。
gluOrtho2D函数用于设置正交投影,将屏幕坐标系设置为-1到1的范围。glBegin和glEnd函数之间的代码用于绘制点。
运行上述代码,可以看到屏幕上随机分布的100个点。
阅读全文