Próbuję wymyślić algorytm, który określi punkty zwrotne w trajektorii współrzędnych x/y. Poniższe dane przedstawia to, co oznacza, zielonym wskazuje punkt startowy i czerwony punkt końcowy trajektorii (cały tor składa się z ~ 1500 punktów) obliczyć punkty zwrotne/punkty obrotu w trajektorii (ścieżka)
Na rysunku I dodaje ręcznie Ewentualny (globalne) punkty zwrotne, że algorytm może wrócić:
Oczywiście, prawdziwy punkt zwrotny jest zawsze dyskusyjna i zależy od kąta, który określa, że jeden musi znajdować się pomiędzy punktami. Ponadto punkt zwrotny można zdefiniować w skali globalnej (co próbowałem zrobić z czarnymi okręgami), ale można go również zdefiniować w lokalnej skali o wysokiej rozdzielczości. Interesują mnie globalne (ogólne) zmiany kierunku, ale chciałbym zobaczyć dyskusję na temat różnych podejść, które można zastosować, by rozdzielić globalne i lokalne rozwiązania.
Co próbowałem dotąd: odległość
- oblicz pomiędzy kolejnymi punktami
- oblicz kąt pomiędzy kolejnymi punktami
- patrzeć jak zmienia się odległość/kąt pomiędzy kolejnymi punktami
Niestety to nie daje żadnych solidnych wyników. Prawdopodobnie również obliczyłem krzywiznę wzdłuż wielu punktów, ale to tylko pomysł. Naprawdę doceniam wszelkie algorytmy/pomysły, które mogą mi w tym pomóc. Kod może być w dowolnym języku programowania, preferowany jest matlab lub python.
EDIT oto dane surowe (w przypadku ktoś chce, aby grać z nim):
Bardzo interesujący problem, ale nie jestem pewien, czy to forum jest właściwym miejscem do zadawania pytań. Widzę wiele subiektywnych sposobów definiowania punktu zwrotnego na trajektorii, więc na przykład na jaką skalę to widzisz. Kiedy patrzysz bardzo uważnie, widzę wiele różnych punktów zwrotnych. Sposób postępowania polegałby na pewnym wygładzeniu punktów po obu stronach każdego punktu (lub po prostu narysowaniu linii za pomocą n punktów) i podjęciu decyzji w kwestii kąta między tymi dwiema liniami prostymi. Wtedy, pomimo algorytmów prostowania, miałbyś "tylko" dwa parametry (kąt n i min.). Może to i tak pomaga? – Alex
@Alex Jestem świadomy subiektywności tego problemu. Nadal uważam, że może to stanowić problem interesu ogólnego i chciałbym, aby ludzie omawiali różne podejścia, których można użyć, aby pozbyć się lokalnych punktów zwrotnych w stosunku do globalnych. – memyself