2012-01-15 12 views
5

Recientemente escribí un triangulador Ear Clipping Triangulator como investigación personal. Después de visualizar algunos de los resultados, no puedo evitar sentir que el objeto se puede reproducir con menos de n-2 triángulos. Desafortunadamente, mi pequeña biblioteca de libros gráficos no me pudo llevar a ningún algoritmo o método posible para lograr este objetivo.Polygon Triangle Count Optimization

Sé de simplification por supuesto, pero eso afecta a la forma y apariencia reales del modelo. Solo deseo eliminar triángulos extraños. ¿Es esto posible? ¿O se requiere un método de triangulación más eficiente?

Por ejemplo, el objeto superior en forma de diamante se compone de 34 triángulos. Sobre el papel que era capaz de triangular que utilizando sólo 18.

enter image description here

+1

Claramente 'n-2' es el óptimo para polígonos generales, pero le gustaría encontrar el corte óptimo para su polígono particular, ¿no? Habrá algunos algoritmos de búsqueda lenta que harán eso, pero quizás sus polígonos no sean generales. ¿Son, por ejemplo, siempre rectilíneos y sin agujeros? –

+0

@Thomas Ahle Los datos siempre serán rectilíneos (palabra de fantasía) pero tienen la posibilidad de tener agujeros. Una imagen se alimenta a un extractor que lee el polígono con posibles agujeros/transparencias. Como los datos están compuestos por píxeles individuales, el polígono resultante será de bloques (como se desee). Siento que puedo estar demasiado obsesionado con minimizar el recuento de triángulos para el rendimiento, ¡pero nunca me duele! – ssell

+2

Ok, ¿también puede agregar una imagen de la versión de 18 triángulos cortada a mano? –

Respuesta

1

Este es un problema común en la FEM y CFD. Hay algunos paquetes de código abierto disponibles que puede ver para ver cómo hacen este problema. Dos que vienen a la mente son OOF y OpenFOAM.

+0

Tendré que verificarlos cuando tenga oportunidad esta noche. – ssell