سلام دوستان من با استفاده از کد زیر یک شکل بیضی رو رسم میکنم
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 بشه مثل این شکل میشه یک راه پیشنهاد کنید که باید چطوری الگوریتم را بنویسم
با تشکر