文章原创 转载请标明出处---------------------------------------------------画圆的函数中 RGB颜色值变化几种效果展示黑白色
void drawCircle(GLdouble radius, GLdouble divide)
{
for (int k = 0; k < divide; k++)
{
x = radius* cos((k / divide) * 2 * PI);
y = radius* sin((k / divide) * 2 * PI);
glColor3f((k/divide), (k / divide), (k / divide));
glVertex3d(x, y, 0.0);
}
}
![](https://images2015.cnblogs.com/blog/1144825/201704/1144825-20170412192437830-2127339271.png)
翠绿色
1 void drawCircle(GLdouble radius, GLdouble divide)
2 {
3
4 for (int k = 0; k < divide; k++)
5 {
6 x = radius* cos((k / divide) * 2 * PI);
7 y = radius* sin((k / divide) * 2 * PI);
8 glColor3f((k / divide), 1.0, (k / divide));
9 glVertex3d(x, y, 0.0);
10 }
11 }
![](https://images2015.cnblogs.com/blog/1144825/201704/1144825-20170412192519236-489316517.png)
紫色
glColor3f((k / divide), 0.0, (k / divide) );
![](https://images2015.cnblogs.com/blog/1144825/201704/1144825-20170412192753689-81459300.png)
完整程序代码如下
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 //Five edges polygon.
2 //As less code as possible.
3
4 #include "stdafx.h"
5 #include
6 #include
7 #include
8 #include
9
10 const GLdouble PI = 3.1415926;
11 static GLdouble x, y;
12 using namespace std;
13
14 void drawCircle(GLdouble radius, GLdouble divide)
15 {
16
17 for (int k = 0; k < divide; k++)
18 {
19 x = radius* cos((k / divide) * 2 * PI);
20 y = radius* sin((k / divide) * 2 * PI);
21 glColor3f(0.5*(k / divide), (k / divide), (k / divide) );
22 glVertex3d(x, y, 0.0);
23 }
24 }
25
26 void init(void)
27 {
28 glClearColor(0.0, 0.0, 0.0, 0.0);
29 }
30
31 void display(void)
32 {
33 glClear(GL_COLOR_BUFFER_BIT);
34
35
36 glBegin(GL_POLYGON);
37
38 drawCircle(0.8, 100);
39
40 glEnd();
41 glFlush();
42
43 }
44
45
46 int main(int argc, char** argv)
47 {
48 glutInit(&argc, argv);
49 glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
50 glutInitWindowPosition(500, 300);
51 glutInitWindowSize(500, 500);
52 glutCreateWindow("DrawGeometry");
53 init();
54 glutDisplayFunc(display);
55 glutMainLoop();
56 return 0;
57 }
View Code
![](https://images2015.cnblogs.com/blog/1144825/201704/1144825-20170412193126017-1684599877.png)
|