我不明白如何绘制函数的图形:y = arcctg(x)..我不是很擅长数学,但这就是我到目前为止所做的:
void drawgraph()
{
double x,y,z;
float xmin=0, xmax=M_PI, ymin=0, ymax=M_PI;
// glPushMatrix();
glBegin (GL_LINE_STIPPLE);
for (x = xmin; x <= xmax; x+=0.1)
{
for (y = ymin; y <= ymax; y+=0.1)
{
y = atan(x);
y = M_PI_2 -y; //that will transform from arctan( x ) to actan (x ) I guess..
glVertex3f (x, y, -1);
}
}
glEnd ();
//glPopMatrix();
}
当我运行该程序它没有响应: - (...任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
您执行以下操作:
for (y = ymin; y <= ymax; y+=0.1)
{
y = something;
}
这将创建一个无限循环(除非something > ymax
,它不是你的情况)。
想象一下:
for (a = 0; a <= 10; a++)
{
a = 5;
}
在你的循环中使用另一个变量而不是y,你就没事了。