Szukam algorytmu, rozwiązania na wysokim poziomie, a nawet biblioteki, która może pomóc mi ustalić, czy dwa wielokąty przecinają się w Pythonie.
Mam wierzchołki dwóch wielokątów (są to wielokąty jednoczęściowe bez otworów) w dwóch różnych układach. Wielokąty są 2D (tzn. Tylko współrzędne X i Y)
Chciałbym utworzyć funkcję, która zwróci wartość logiczną wskazującą, czy te dwa wielokąty się przecinają.
Pamiętaj, że nie mogę używać arcpy
ani żadnych arcgis
składników tego.
Czy możesz zasugerować algorytm lub bibliotekę, aby to zrobić?
źródło
Jeśli znasz lub jesteś zainteresowany nauką języka R, ma on kilka przydatnych pakietów przestrzennych. http://cran.r-project.org/web/views/Spatial.html Istnieje moduł Pythona do interakcji z R (RPy *)
źródło
Wiem, że to stare pytanie, ale napisałem bibliotekę Pythona do obsługi kolizji między wklęsłymi i wypukłymi wielokątami, a także okręgami.
Jest dość prosty w użyciu, proszę bardzo!
Przykład:
Możesz również wygenerować odpowiedź, która obejmuje:
https://github.com/QwekoDev/collision
źródło
jeśli chcesz poznać poziom, możesz tego użyć. Jako argument możesz podać listę wielokątów. Jako wartość zwracaną otrzymasz listę poziomów. Na liście poziomów znajdują się wielokąty.
źródło