Przecięcie wielu segmentów linii

W geometrii obliczeniowej problem przecięcia wielu odcinków linii dostarcza listę odcinków linii na płaszczyźnie euklidesowej i pyta, czy dowolne dwa z nich przecinają się (przecinają).

Proste algorytmy badają każdą parę segmentów. Jednakże, jeśli ma być sprawdzona duża liczba potencjalnie przecinających się segmentów, staje się to coraz bardziej nieefektywne, ponieważ większość par segmentów nie znajduje się blisko siebie w typowej sekwencji wejściowej. Najbardziej powszechnym i skuteczniejszym sposobem rozwiązania tego problemu dla dużej liczby segmentów jest użycie algorytmu linii wymiatania , w którym wyobrażamy sobie linię przesuwającą się po segmentach linii i śledzimy, które segmenty linii przecina w każdym punkcie czasu z wykorzystaniem dynamicznej struktury danych opartej na binarnych drzewach wyszukiwania . Algorytm Shamosa – Hoeya stosuje tę zasadę do rozwiązania problemu wykrywania przecięć odcinków linii, jak stwierdzono powyżej, polegającego na określeniu, czy zbiór odcinków linii ma przecięcie; algorytm Bentleya-Ottmanna działa na tej samej zasadzie, aby wyświetlić listę wszystkich skrzyżowań w czasie logarytmicznym na skrzyżowanie.

Zobacz też

Dalsza lektura

Linki zewnętrzne