Tengo un polígono simple (convexo o cóncavo, pero sin agujeros) que necesito cortar en partes con un segmento de línea. No estoy seguro de cómo determinar realmente cuántos polígonos resultan después del corte, o cómo agrupar los vértices.Cómo cortar un polígono simple con una línea
Cajas convexas básicas siempre resultan en 2 subpolígonos fáciles, pero ¿cómo podría lidiar con una forma cóncava complicada? Tome un polígono de forma de "E", por ejemplo. Un corte vertical puede producir 4 polígonos. ¿Cómo puedo determinar qué vértices forman cada uno de esos subpolígonos?
Definición del polígono: Tengo dos opciones aquí. Mi polígono puede ser una lista ordenada de vértices, o puede ser una matriz de triángulos. Preferiría una solución que utiliza la matriz de triángulos. Debería ser bastante fácil recorrer cada triángulo y cortarlo con la línea si se cruzan. Pero luego no tengo idea de cómo agrupar esos triángulos en los sub-polígonos que resultan.
Pseudocódigo o incluso consejo general es bueno; una implementación de C# es ideal.
¿Es esto alguna ayuda? http://stackoverflow.com/questions/1775457/generate-new-polygons-from-a-cut-polygon-2d – fredley