Wpis z mikrobloga

#matematyka #programowanie #cpp #algorytmy

Cześć wszystkim, w ramach odświeżenia co nieco C++/Matematyka robię sobie bardzo prosty program do poruszania pojazdami w jednym kierunku (z punktu A do B po prostej). Samochody dodawane są w losowych odstępach czasu (każdy ma różne parametry etc). Chciałbym zaimplementować możliwość "gładkiej zmiany prędkości" gdy jeden samochód zbyt bardzo zbliży się do drugiego (ma płynnie zwolnić, a następnie płynnie przyśpieszać gdy odstęp będzie bezpieczny). I tu trochę utknąłem, ponieważ nie bardzo wiem jak to zrobić płynnie sterować zmianą prędkości w dół (a potem spowrotem) ( ͡° ʖ̯ ͡°) O ile łatwo obliczać samą zmianę położenia wykorzystując ten algorytm

https://pastebin.com/x6dTDeiQ

O tyle nie doszukałem się jak sterować płynnie prędkością. Czy zna ktoś dobry algorytm do sterowania jak w/w przypadku? Pozdrawiam cieplutko ( ͡° ͜ʖ ͡°)
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MrStealYourGirl:
Jakbym pisał sam to bym zrobił coś takiego:
- Ustawiasz sobie oczekiwany dystans i różnicę od tego dystansu dajesz jako parametr do funkcji liczącej przyspieszenie (calculateSpeed).
- Przyspieszenie może być ujemne.
- W każdej jednostce czasu (dt) wartość przyspieszenia dodajesz do prędkości (tutaj pamiętaj, że trzeba przeliczyć przyspieszenie bo dt może być zmienne).
- W funkcji liczącej przyspieszenie możesz sobie zrobić, żeby tylko hamowało (dystans jest mniejszy niż zadany
  • Odpowiedz