求助。我这样画多个多边形逼近圆为什么只有一条直线?
SharpGL.OpenGL gl = this.openGLControl1.OpenGL;
gl.Clear(OpenGL.COLOR_BUFFER_BIT | OpenGL.DEPTH_BUFFER_BIT);
gl.LoadIdentity();
gl.Translate(0.0f, 0.0f, -12.0f);
int i;
float testa = 2.0f / 50;
gl.Begin(OpenGL.QUAD_STRIP);
gl.Color(1.0f, 1.0f, 1.0f);
for ( i = 0; i < 50; i++)
gl.Vertex(-1.0f + i * testa,i*testa* Math.Tanh(90 - 45 / 25 * i), 0.0f);
for (i = 49; i > 0; i--)
gl.Vertex(-1.0f + i * testa,-i * testa * Math.Tanh(90 - 45 / 25 * i), 0.0f);
gl.End();
gl.Flush();
这里是画一个圆心在(0,0,0)半径为1的圆,不过结果却是一条从(0,1,0)到(0,-1,0)的直线。
[解决办法]
没用过这个,不过给你的建议是把Vertex中的三个参数先用算出来
float x=-0.1f + i * testa;
???
然后debug看看怎么回事