Opis zachowania się samochodu

0

Pytanie nie dotyczy żadnego konkretnego języka.

Natrafiłem w sieci na grę:
http://www.pepere.org/gra-fla[...]/parkowanie-rownolegle_1.html

i wpadłem na głupi pomysł, żeby coś podobnego napisać sobie w C+ (Allegro).

Problem:
"Samochód" jest reprezentowany na ekranie przez prostokąt o wierzchołkach w jakichś współrzędnych. W pamięci naturalnie odpowiada mu jakiś obiekt. Jakie wartości powinienem zapamiętać w klasie tego obiektu, żeby prostokąt na ekranie zachowywał się +- tak, jak rzeczywisty samochód ze skrętnymi przednimi kołami i jakie zależności w czasie powinny dotyczyć tych wartości? (Wystarczy, jeżeli "samochód" ma tylko jedną możliwą prędkość (jedzie, albo nie) do przodu i do tyłu)

Mam nadzieję, że pytanie zadałem w miarę jasno... Jeżeli nie wiadomo, o co mi chodzi, to proszę to zaznaczyć, postaram się opisać problem inaczej.

0

Kurde fajne, fajne :)

Swego czasu kiedyś też chciałem zrobić taką gierkę :) Tylko trochę bardziej realistyczną, z wgniataniem się samochodu i ewentualnym wylotem przez kierownicę :D

a propoS książki, jestem pewien, że rok temu widziałem w antykwariacie w Gdyni, w regale informatycznym (hmm a może fizycznym,mechanicznym?) książkę z wzorami na zachowanie się samochodu. Jednym słowem kupa różnych wzorów: na siły odśrodkowe, przyspieszenie, hamowanie, staczanie się z górki itd. Nie pamiętam teraz tytułu, ale jak sobie przypomnę to napiszę :)

0

no, fajne ;]
zaparkowałem w 6min 14 sekund, 34 zderzenia - niezły ze mnie kierowca :-D

0

8.05s ;)

A odpowiadajac na pytanie:
Wystarczy brac pod uwage srodek samochodu, np. srodek prostokata, kat obrotu oraz predkosc (+ przod, - tyl). Z tego wszystkiego da sie wyliczyc wspolrzedne 'zewnetrzne' samochodu.

0
johny_bravo napisał(a)

8.05s ;)

A odpowiadajac na pytanie:
Wystarczy brac pod uwage srodek samochodu, np. srodek prostokata, kat obrotu oraz predkosc (+ przod, - tyl). Z tego wszystkiego da sie wyliczyc wspolrzedne 'zewnetrzne' samochodu.

No właśnie niebardzo. Zwróć uwagę, że samochód inaczej skręca przodem, niż tyłem.

Wzory na przyspieszenia, siły i tak dalej - robiłem sobie ostatnio symulację kulki która przyspieszała w jakimś kierunku - w grę wchodzi elementarna fizyka, całość niemalże trywialna :). A tutaj nawet nie wiem, jak się za to zabrać.

0

trzeba przyznać, że fizyka samochodu bardzo dobrze zrobiona i na pewno nie jest to łatwe

@Johny: jakby zrobił tak jak napisałeś, to niedało by się zaparkować...

0

Właśnie wydaje mi się, że to wcale takie skomplikowane nie jest...

Gdyby tak przechowywać:

  • współrzędne środka przedniej i tylnej osi

Gdy samochód jedzie/skręca do przodu/do tyłu, to punkt przedniej osi przesuwamy o jakiś wektor, a punkt tylnej osi JAKOŚ wyliczamy - mamy dwie niewiadome (x,y), więc musimy wymyślić 2 warunki - znamy jego odległość od pierwszego punktu (czyli jeden warunek już jest), ale jakoś drugi mi nie przychodzi do głowy...

0

Marudzicie ;) Jedyne czym sie rozni ten samochod od mojego pomyslu, to to, ze ma inna os obrotu. Najlatwiej przyjac srodek prostokata, ale w przypadku prawdziwego samochodu jest sporo inaczej. Zreszta wystarczy wziac pierwszy lepszy katalog samochodowy, zeby sie dowiedziec jaki promien skretu (czyli tez promien obrotu) maja konkretne modele samochodu. Jak masz srodek skretu, to + te rzeczy, ktore wymienilem powinno wystarczyc. Jedyne co pozostaje zaimplementowac to tak naprawde obrot prostokata wokol tego srodka obrotu + przyspieszanie/hamowanie pojazdu (no i wykrywanie kolizji).

0

4:06.

0
yakhub napisał(a)

Gdy samochód jedzie/skręca do przodu/do tyłu, to punkt przedniej osi przesuwamy o jakiś wektor, a punkt tylnej osi JAKOŚ wyliczamy - mamy dwie niewiadome (x,y), więc musimy wymyślić 2 warunki - znamy jego odległość od pierwszego punktu (czyli jeden warunek już jest), ale jakoś drugi mi nie przychodzi do głowy...

Ale po co? Skoro wystarczy rozważyć obrót samochodu wokół tylko jednego punktu. Kiedyś takie coś napisałem i mój samochódł mógł skręcać tylko przednie koła więc punkt obrotu umieściłem w samym środku tylniej osi samochodu. Gdyby można skręcać tylko tylnimi kołami to umieściłbym go w przedniej osi. Gdy wszystkimi kołami - równomiernie to w punkcie środkowym pomiędzy obiema osiami.

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