El algoritmo Bentley-Ottmann se usa para calcular la intersección de segmentos de línea.Algoritmo Bentley-Ottmann para dos grupos de segmentos de líneas
Sin embargo, en lugar de encontrar los puntos de intersección de todas las líneas entre sí, quiero encontrar los puntos de intersección entre dos grupos de líneas. Esto quiere decir que para cada línea en el grupo de línea A
, quiero saber los puntos de intersección entre esas líneas y las líneas en el grupo B
.
¿Hay alguna manera de extender el Bentley-Ottmann algorithm para esto? Ya tengo implementado el algoritmo Bentley-Ottmann existente (in the library of CGAL), y no estoy dispuesto a modificarlo. Sin embargo, estoy dispuesto a encontrar formas de reutilizarlo y ampliarlo.
Edición: Cualquier otro algoritmo (no necesariamente basado en Bentley-Ottmann) es bienvenido. Sería mejor si esos algoritmos ya están implementados en la biblioteca existente.
@Thanks marcog, una pregunta relacionada: ¿hay algún otro algoritmo que hace esto? Preferiblemente debe ser encontrado en Libraty geometría computacional existente. – Graviton
@Ngu No estoy al tanto de cualquier que va a ser tan eficiente. Su condición agregada no hace que sea mucho más fácil de resolver. Incluso si se trató de adaptar Bentley-otterman, todavía tendría que procesar eventos cuando las líneas desde el mismo conjunto se cruzan para mantenerlos ordenados en y. – marcog