Sprawdzenie czy punkt leży w środku elipsy

0

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 ?

1

Nie popełniasz błędu, punkt jest w środku...
https://www.desmos.com/calculator/c2fib3y2yf

Ja bym trochę inaczej sformatował kod :)

https://ideone.com/xsXNDh

1

Tak zapomniałem że Paint i MonoGame ma tak jakby układ współrzędnych z osią Y lecącą dodatnio w dół, a nie jak w układzie karezjańskim.
Teraz mi wstyd że głupi jestem :)

Dzięki.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.