Em đang làm 1 bài tập vẽ Parabol x=y^2
Ơ cái đoạn y tăng nhanh hơn x em không biết lập trình sai thuật toán chỗ nào mà nó chạy không chuẩn. Anh nào xem qua hộ em với. Thanks các anh nhiều
Code:
void MidPointCurve3_20(void)
{
double x,y;
x=0;y=0;
int N=800;
double dy=6.0/N;
int m,n;
n=0;m=0;
double P=-1;
double ya;
glColor3f(1,0,0);
glBegin(GL_POINTS);
ya=(1.0/2)/dy;
glVertex2i(n,m);
while(m<ya)
{
y=m*dy;
if(P<0)
{
P=P-4*y-4;
n++;
}
else
P=P-4*y-6;
m++;
glVertex2i(n,m);
glVertex2i(n,-m);
}
x=n*dy;
P=4*x-4*y*y-8*y+3;
while(n<N/2)
{
if(P<0)
P+=4;
else
{
y=m*dy;
P=P-8*y-8;
m++;
}
n++;
glVertex2i(n,m);
glVertex2i(n,-m);
}
glEnd();
}