Der Bentley-Ottmann-Algorithmus wird zur Berechnung des Schnittpunkts von Liniensegmenten verwendet.Bentley-Ottmann-Algorithmus für zwei Liniengruppen Segmente
Anstatt jedoch die Schnittpunkte aller Linien untereinander zu finden, möchte ich die Schnittpunkte zwischen zwei Liniengruppen finden. Das heißt, dass ich für jede Zeile in der Zeilengruppe A
die Schnittpunkte zwischen diesen Zeilen und den Zeilen in der Gruppe B
erfahren möchte.
Gibt es trotzdem kann ich die Bentley-Ottmann algorithm dafür verlängern? Ich habe bereits den vorhandenen Bentley-Ottmann-Algorithmus implementiert (in the library of CGAL), und ich bin nicht scharf darauf, es zu modifizieren. Ich bin jedoch daran interessiert, Wege zu finden, sie wiederzuverwenden und zu erweitern.
Bearbeiten: Alle anderen Algorithmen (nicht unbedingt auf Bentley-Ottmann basiert) sind willkommen. Es wäre besser, wenn diese Algorithmen bereits in der vorhandenen Bibliothek implementiert sind.
@Thanks marcog, eine verwandte Frage: Gibt es einen anderen Algorithmus, der das tut? Vorzugsweise sollte es in existierender rechnergestützter Geometriebibliothek gefunden werden. – Graviton
@Ngu Ich bin mir nicht bewusst, dass das so effizient sein wird. Ihr zusätzlicher Zustand macht es nicht viel einfacher zu lösen. Selbst wenn Sie versuchen, Bentley-Otterman anzupassen, müssen Sie immer noch Ereignisse verarbeiten, wenn sich Linien aus dem gleichen Satz schneiden, um sie in y sortiert zu halten. – marcog