Midpoint Ellipse
Midpoint Ellipse
#include<windows.h> x++;
#include<GL/glut.h> }
#include<stdlib.h> else
#include<stdio.h> {
{ x=0; y--;
y=b; fy=fy-2*a*a;
fx=0; p=p+fx+b*b-fy;
fy=2*a*a*b; }
p=(b*b)-(a*a*b)+(0.25*a*a); }
while(fx<fy) p=(b*b)*(x+.5)*(x+.5)+(a*a)*(y-1)*(y-1)-
(a*a)*(b*b);
{
while(y>=0)
glBegin(GL_POINTS);
{
glVertex2f(h+x,k+y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h+x,k+y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h-x,k+y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h-x,k+y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h-x,k-y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h-x,k-y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h+x,k-y);
glBegin(GL_POINTS);
glEnd();
glVertex2f(h+x,k-y);
if(p<0)
glEnd();
{
if(p>=0)
fx=fx+2*b*b;
{
p=p+fx+b*b;
3 4
y--; scanf("%f",&a);
p=p-fy+a*a; scanf("%f",&b);
} glutInit(&argc, argv);
void init(void)
glClear(GL_COLOR_BUFFER_BIT);
glClearColor(0,0,0,0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(-100,100,-100,100);