计算机图形学随机生成三角形和三角形颜色c++代码
时间: 2024-06-14 22:01:29 浏览: 100
计算机图形学随机生成三角形和三角形颜色的 C++ 代码可以参考以下示例:
```
#include <iostream>
#include <cstdlib> // 包含随机数函数需要的头文件
#include <GL/glut.h> // 包含 OpenGL 库需要的头文件
using namespace std;
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 1.0f, 1.0f); // 将颜色设置为白色
glBegin(GL_TRIANGLES); // 开始绘制三角形
for (int i = 0; i < 3; i++) {
// 随机生成三角形的顶点坐标和颜色
float x = rand() / (float)RAND_MAX * 2.0f - 1.0f;
float y = rand() / (float)RAND_MAX * 2.0f - 1.0f;
float r = rand() / (float)RAND_MAX;
float g = rand() / (float)RAND_MAX;
float b = rand() / (float)RAND_MAX;
glColor3f(r, g, b); // 将颜色设置为随机生成的颜色
glVertex2f(x, y); // 添加顶点坐标
}
glEnd(); // 结束绘制三角形
glFlush();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(250, 250);
glutInitWindowPosition(100, 100);
glutCreateWindow("Random Triangle");
glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // 将背景颜色设置为黑色
glutDisplayFunc(display);
glutMainLoop();
return 0;
}
```
这段代码使用 OpenGL 库绘制三角形,使用 `rand()` 函数随机生成三角形的顶点坐标和颜色。其中 `glBegin(GL_TRIANGLES)` 和 `glEnd()` 用于指定三角形的绘制,`glVertex2f(x, y)` 用于添加三角形的顶点坐标,`glColor3f(r, g, b)` 用于设置三角形的颜色。在 `main()` 函数中,我们创建了一个名为 "Random Triangle" 的窗口,并通过 `glClearColor()` 设置了背景颜色。最后调用 `glutMainLoop()` 进入主循环,开始绘制图形。
阅读全文