سلام دوستان من با استفاده از کد زیر یک شکل بیضی رو رسم میکنم

void


drawRotateEllipse(int centerx, int centery, int width, int height, double angle, int clr) {



const double PI = 3.14159265358979323846;



int steps = 172;



double beta = -angle * (PI / 180);



double sinbeta = Math.Sin(beta);



double cosbeta = Math.Cos(beta);



for (int i = 0; i < 360; i += 360 / steps)

{





double alpha = i * (PI / 180);



double sinalpha = Math.Sin(alpha);



double cosalpha = Math.Cos(alpha);



double X = centerx + (width * cosalpha * cosbeta - height * sinalpha * sinbeta);



double Y = centery + (width * cosalpha * sinbeta + height * sinalpha * cosbeta);



m.SetPixel((

int)X,(int)Y,Color.Red);

} }

}





کد بالا با قرار دادن یک سری نقطه کنار هم شکل بیضی رو میکشه حالا من می خوام این بیضی رو تو پر بکشم یعنی fill بشه مثل این شکل میشه یک راه پیشنهاد کنید که باید چطوری الگوریتم را بنویسم


با تشکر