L'algoritmo di Bentley-Ottmann viene utilizzato per il calcolo dell'intersezione di segmenti di linea.Algoritmo di Bentley-Ottmann per due gruppi di segmenti di segmenti
Tuttavia, anziché trovare i punti intersecanti di tutte le linee tra loro, voglio trovare i punti intersecanti tra due gruppi di linee. Ciò significa che per ogni riga nel gruppo di linee A
, desidero conoscere i punti di intersezione tra quelle linee e le righe nel gruppo B
.
Esiste comunque la possibilità di estendere il Bentley-Ottmann algorithm per questo? Ho già implementato l'algoritmo Bentley-Ottmann esistente (in the library of CGAL) e non sono propenso a modificarlo. Tuttavia, sono desideroso di trovare modi per riutilizzarlo ed estenderlo.
Modifica: qualsiasi altro algoritmo (non necessariamente basato su Bentley- Ottmann) è il benvenuto. Sarebbe meglio se quegli algoritmi fossero già implementati nella libreria esistente.
@Thanks marcog, una domanda correlata: c'è qualche altro algoritmo che fa questo? Preferibilmente dovrebbe essere trovato nella bibliografia della geometria computazionale esistente. – Graviton
@Ngu Non sono a conoscenza di nessuno che sia altrettanto efficiente. La tua condizione aggiunta non lo rende molto più facile da risolvere. Anche se hai provato ad adattare Bentley-otterman, dovresti comunque elaborare gli eventi quando linee dello stesso insieme si intersecano per tenerle ordinate in y. – marcog