Witam wszystkich serdecznie, programuję dość dużo w Visual C# i poszukuję odpowiedzi na nurtujące mnie pytanie.
Otóż mam na zaliczenie Elementów Sztucznej Inteligencji napisać symulator parkowania ciężarówki, który nauczy się programować ciężarówkę prostopadle do rampy i zaparkuje ją z dowolnego miejsca na planszy. Do ciężarówki użyję 5 prostokątów, 1 udający ciężarówkę i 4 udające koła (2 przednie skrętne) i wszystko wyrysuję w PictureBox'ie.
Problem polega na tym, że nie mogę nigdzie w necie znaleźć odpowiedzi na pytanie jak zaprogramować ruch pojazdu. Do przodu i do tyłu - banalne, ruch po wektorze prostoliniowym, ale nie wiem jak zaprogramować skręcanie, aby ciężarówka skręcała jak prawdziwa, tzn. że tak jakby przednie koła "ciągną" za sobą tylne.
Myślałem, że zrobię po prostu tak, że:
Strzałka w prawo - obrót przy użyciu transformacji macierzy i obrotu obrazka o określony kąt w prawo.
W lewo - to samo ale w lewo
W górę - ruch po wektorze do przodu
W dół - ruch po wektorze do tyłu
ale podczas skręcania byłoby to tak że auto jedzie do przodu i obraca się co nie wygląda naturalnie.
A w projekcie sterownik który nauczy się parkować nie będzie przechowywał kąta obrotu samochodu tylko kąt skrętu kół (-45 ; 45).
Dodam też że szukałem stron ludzi, którzy mże programowali jakieś wyścigi w c# / XNA z których kodu mógłbym się nauczyć jak zaprogramować tor ruchu pojazdu ale nic nie mogłem znaleźć albo nie wiem jakie słowa kluczowe wpisać w google ;/