La técnica formas alfa mencionados en esta pregunta se ocupa de un conjunto general de los puntos en los que no se conocen las conexiones de vértices:
Is there an efficient algorithm to generate a 2D concave hull?
Sin embargo, puesto que ya conoce la información "cara", que puede ser preservado a través la proyección, probablemente no sea el mejor enfoque.
Un algoritmo de fuerza bruta podría ser factible, especialmente si se usan estructuras de clasificación espacial. por ejemplo, para cada faceta:
- faceta del proyecto sobre el plano
- Comprobar si faceta proyectada está completamente encerrado en la geometría existente, en caso afirmativo: hecho (sin necesidad de ampliar la silueta proyectada)
- Si los puntos están fuera la geometría existente, hacer intersecciones triángulo-triángulo para determinar qué porciones caen fuera, construir un arbitrario n-gon (posiblemente cóncava) para llenar el espacio encuentra, entonces picar el n-gon en a triángulos
Otra idea, dependiendo de la fidelidad que requiera, solo tiene que disparar montón de rayos normales desde su plano de proyección a su geometría original. Crea un 2d hit/miss y usa eso para determinar tus extensiones.
La línea azul no se ve convexa aquí. – Svante
Sí, tienes razón. Rápidamente robé esa imagen de un sitio y dibujé algunas líneas rojas para ilustrar. Todavía espero que la idea surgió :) – ralphtheninja
@MagnusSkog: Necesito hacer exactamente esto. ¿Qué método se adapta mejor al final? – PeteUK