Necesito deshacerme de las autointersecciones en una forma. La forma se construye a partir de una matriz de puntos, por lo que todos los segmentos de esa forma son líneas. (sólo líneas, no hay curvas y arcos)¿Algoritmo para dividir el Path2D autointersectado en varias rutas no autointersecables?
Anteriormente, he tratado de crear Path2D de que los puntos, construir un espacio de ella, y luego usando su PathIterator creé varios Path2Ds, que alguna manera fueron subtrazados de los anteriores camino, y entonces auto-intersecciones se habían ido. Pero esto no está funcionando en algunos caminos: las autointersecciones aún permanecen allí.
¿Podría indicarme algún lugar donde pueda encontrar un buen algoritmo para hacer algo similar?
Editar: No he encontrado nada útil en ninguna parte, así que escribí mi propio algoritmo. Ver las respuestas
Una sola cúbico Bézier puede autointersecarse, por lo que en el caso general necesitarás subdividir un Bézier en dos. Intente buscar una buena explicación de "subdivisión de la curva Bézier" o "algoritmo de Casteljau". –
@Peter Taylor - No, como dije, no hay curvas bezier. Solo líneas. – Rogach
He hecho esto con éxito utilizando un 'Área' y nunca he visto el problema que describes. ¿Puedes publicar un ejemplo de una ruta que resulte en un 'Área' con autointersecciones? – finnw