Skocz do zawartości

Orbita eliptyczna pod danym kątem


Rekomendowane odpowiedzi

Witam!

Jak zrobić ruch po elipsie pod zadanym kątem?

 

Mam 2 obiekty object0 (centralny) oraz object1 (krążący wokoło centralnego - docelowo będzie wiele instancji tego obiektu)

 

W create object1 mam zdefiniowane:

GML
dir=irandom(360); // kieunek

dis=irandom(128)+64; // dlugosc (odleglosc)</span>

 

w stepie

GML
x=object0.x+lengthdir_x(dis,dir);

y=object0.y+lengthdir_y(dis,dir)*1.5;

dir+=1;

 

W takim przypadku elipsa jest rysowana tek ze os wielka jest w pionie a os mała w poziomie. Jak uzyskać efekt taki by oś wielka była odchylona o jakiś konkretny kąt od pionu (np. 30 stopni, 45 stopni)?

 

 

Pytania dodatkowe:

- jak narysować taką elipsę za pomocą funkcji draw.

- jak narysować prostą smugę za takim obiektem (np. rysowanie 20 punktów "za" obiektem, gdzie ten najbliżej obiektu jest najciemniejszy a ten ostatni najjaśniejszy (niemal w kolorze białego tła))

Odnośnik do komentarza
Udostępnij na innych stronach

Może się przydać, skrypcik sprawdzający czy zadany punkt leży na elipsie. Można to wykorzystać np. do sprawdzenia czy myszka na nią natrafiła:

GML
// point_in_ellipse( point_x, point_y, x1, y1, x2, y2);

{

if ((argument2==argument4) || (argument3==argument5)) return false;

return sqr((2*argument0-(argument4+argument2) )/(argument4-argument2)) + sqr((2*argument1-(argument5+argument3) )/(argument5-argument3)) < 1;

}

Odnośnik do komentarza
Udostępnij na innych stronach

Znaczy się elipsy łatwo zrobić, jedynie obrócone względem ekranu (np orbita przechodząca przez biegun) to trudniej. No i kwestia kolejności malowania... poza tym co mam nie znam lepszego sposobu (no jeszcze obiekt-orbita, ale to tez raczej nie... no i jeden obiekt ale nie wiem, czy nie trzeba mu było np do kolizji).

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...