パラメータ(Point Begin、Point End、Color c)を持つ楕円オブジェクトのリストがあります。ここで、楕円に当たった場合にどこかをクリックしたときに確認したいと思います。
私はまた、すでに機能し、次のような長方形でこれを行います:
case 3: // Rectanglefill
return p.X >= Begin.X && p.X <= End.X && p.Y >= Begin.Y && p.Y <= End.Y;
このメソッドでは、ヒットした場合はブール値 True を返し、マウス クリックがヒットしなかった場合は False のみを返します。
楕円の場合、私はすでにこれを持っています:
case 4: // Ellipsfill
/* int radiusx = Math.Abs(End.X - Begin.X) / 2;
int radiusy = Math.Abs(End.Y - Begin.Y) / 2;
int midpointx = (Begin.X + End.X) / 2;
int midpointy = (Begin.Y + End.Y) / 2;
return ((Math.Pow((p.X -midpointx) / radiusx, 2) + Math.Pow((p.Y - midpointy) / radiusy, 2)) > 1);
しかし、これはうまくいきません。