Zmiana kierunku poruszania się o dany kąt

0

Cześć,
Mam taki problem:
Mam postać, która porusza się w pewnym kierunku ze stałą szybkością równą vx, vy (np. vx = 20px/s, vy = 30px/s). W pewnym momencie natrafia na obracający się inny obiekt w okół własnej osi z prędkością kątową (w stopniach babilońskich (?) - tj. np. 180 stopni na sekundę), na którego "wchodzi" i obraca się razem z nim (coś jak karuzela).
Moje pytanie brzmi jak zmodyfikować kierunek poruszania się tego obiektu (jego prędkość - vx i vy), tak, by dopasować się do zmiany kąta tego obracającego się obiektu?
Z góry dzięki za pomoc.

0

Ale właściwie to czemu miałby zmienić kierunek poruszania się? Na jakiej zasadzie porusza się ten twój obiekt? Popycha go cały czas jakaś siła? Bo rozumiesz ze zgodnie z zasadą zachowania pędu to obrócenie się twojej postaci nie wpływa na kierunek i prędkość z jaką się ona porusza. Więc co właściwie chcesz osiągnąć?

0

Tu jest odpowiedź jak wyliczyć punkt na okręgu przesunięty o dany kąt:
http://matematyka.pisz.pl/forum/99684.html

To będzie Twój punkt styku.

0
Shalom napisał(a):

Ale właściwie to czemu miałby zmienić kierunek poruszania się? Na jakiej zasadzie porusza się ten twój obiekt? Popycha go cały czas jakaś siła? Bo rozumiesz ze zgodnie z zasadą zachowania pędu to obrócenie się twojej postaci nie wpływa na kierunek i prędkość z jaką się ona porusza. Więc co właściwie chcesz osiągnąć?

chodzi mi o coś takiego jak na poniższym rysunku:
user image

Jak postać wejdzie na obracający się obiekt to zmieni się jego położenie ale również i kierunek w którym się porusza. No i chodzi o to jak modyfikować vx i vy przez okres, gdy obiekt jest na obracającym się innym obiekcie?

coś zdjęcie nie wyszło za duże więc przesyłam kolejne większe:
user image

0

No dobra ale co jest tutaj dane i co chcesz faktycznie odwzorować? Napisz jasno co chcesz osiągnąć.

  • Czy prędkość jest zawsze stała czy chcesz ją modyfikować po tym obrocie (w prawdziwym życiu tak by było)
  • Czy czas obracania się jest znany, czy jest okreslony przez to jak długo obiekt stoi na obracającym się polu (tzn im szybciej jedziemy tym krócej tam stoimy)?
    Bo jeśli chcesz zmieniać prędkość to:
  • potrzebne jest ci przyspieszenie wynikające z obrotu tego pola
  • zmiana prędkości to będzie wtedy V=a*t gdzie a to oczywiście wektor skierowany do środka obracającego się pola
0
Shalom napisał(a):

No dobra ale co jest tutaj dane i co chcesz faktycznie odwzorować? Napisz jasno co chcesz osiągnąć.

  • Czy prędkość jest zawsze stała czy chcesz ją modyfikować po tym obrocie (w prawdziwym życiu tak by było)
  • Czy czas obracania się jest znany, czy jest okreslony przez to jak długo obiekt stoi na obracającym się polu (tzn im szybciej jedziemy tym krócej tam stoimy)?
    Bo jeśli chcesz zmieniać prędkość to:
  • potrzebne jest ci przyspieszenie wynikające z obrotu tego pola
  • zmiana prędkości to będzie wtedy V=a*t gdzie a to oczywiście wektor skierowany do środka obracającego się pola

W zasadzie to właśnie nie chcę zmieniać prędkości tylko sam kierunek poruszania się tj. vx i vy tak, by dostosować go do obracającego się obiektu. Czyli bez uwzględnienia siły odśrodkowej.
Co do tego drugiego obiektu to on się obraca cały czas, ze stałą prędkością kątową - więc tak, im szybciej idziemy tym krócej tam stoimy.

Reasumując: dane, które posiadam to:
pozycja poruszającego się obiektu (ludzika) - x,y; jego prędkość vx i vy, prędkość obracającego się drugiego obiektu.

Gdy ludzik wejdzie na obracający się obiekt to: zmienia się jego pozycja (z tym sobie poradzę), ale również zmienia się jego kierunek poruszania się - no i problem mam jak zamienić vx i vy, gdy drugi obiekt obróci się o jakąś część kąta w okresie delta_t (bez zmiany prędkości tj. długość wektora powinna być taka sama tylko kierunek się zmienić).

0

W takim razie pytasz po prostu o obrócenie wektora 2d o pewien kąt wokół znanego punktu płaszczyzny?
http://stackoverflow.com/questions/620745/c-rotating-a-vector-around-a-certain-point

0

Dzięki wielkie ;-)

0

Tak w ogóle to takich rzeczy nie uczą już w liceum? Kojarzy mi się że były tam właśnie rotacje i translacje właśnie...

0

Teraz to nawet ctg chcą wyeliminować, już niedługo co to jest translacja będą wiedzieć wyłącznie dr hab. z matematyki oraz doświadczenie programiści.

1 użytkowników online, w tym zalogowanych: 0, gości: 1