Chciałbym napisać „grę”, w której możesz umieścić przeszkodę (czerwoną), a następnie czarna kropka próbuje jej ominąć i dotrzeć do zielonego celu.
Używam bardzo łatwego sposobu, aby tego uniknąć, jeśli czarna kropka jest blisko czerwonej, zmienia kierunek i porusza się przez chwilę, a następnie przesuwa się do zielonego punktu.
Jak mogę stworzyć „gładką” ścieżkę dla „odtwarzacza” sterowanego komputerowo?
Edycja: Główną kwestią nie jest gładkość, ale aby uniknąć czerwonej „ściany” blokującej i nie uderzyć w nią, a następnie uniknąć.
Jak mogę zaimplementować algorytm znajdowania ścieżki, jeśli mam w zasadzie 3 punkty?
(A co by to skomplikowało, gdybyś mógł umieścić wiele przeszkód?)
źródło
Zachowania związane z układem kierowniczym zostały opracowane dla tego właśnie zestawu problemów.
http://www.red3d.com/cwr/steer/
Zasadniczo połączyłbyś zachowanie związane z unikaniem przeszkód z prawdopodobnie zachowaniem polegającym na szukaniu lub kontynuowaniu. Na tej stronie jest kilka animacji java różnych zachowań i ich działań. Istnieje kilka implementacji zachowań sterujących typu open source. Tu jest jeden.
źródło
Łatwą rzeczą jest wypróbowanie niewidocznej kropki, która wyprzedza czarną kropkę i wykonuje ścieżkę na pierwszym obrazie. Czarna kropka następnie podąża za niewidzialną kropką w niewielkiej odległości z tyłu.
Widziałem tę pracę z dobrymi wynikami, ale oczywiście może nie odpowiadać twoim potrzebom.
źródło