Witam,
Mam kłopot ze sprawdzaniem czy punkt leży w środku pola elipsy.
Elipsa jest w załączniku wystarczy odpalić w paint.
Ogólnie dla tej konkretnego przykładu, zwraca mi że punkt jest w środku - a nie jest.
position : x = 360, y = 640 - sprawdzany punkt.
center : x = 683, y = 423 - środek elipsy
radius : x = 700, y = 460 - szerokość, wysokość elipsy.
Funkcja (Vector2 można zastąpić klasą mającą float X, float Y):
private bool IsInEclipse(Vector2 position, Vector2 center, Vector2 radius)
{
bool result = false;
var powResult = (Math.Pow((position.X - center.X), 2.0d) / Math.Pow(radius.X, 2.0d)) + Math.Pow((position.Y - center.Y), 2.0d) / Math.Pow(radius.Y, 2.0d);
if (powResult <= 1)
{
result = true;
}
return result;
}
Gdzie popełniam błąd ?