Pregunta

Me interesa leer y entender los algoritmos de malla 2D. Una búsqueda en Google revela una gran cantidad de documentos y fuentes , sin embargo, la mayoría son demasiado académicos y no mucho para el principiante.

Entonces, ¿alguien aquí recomendaría alguna fuente de lectura (adecuada para principiantes) o una implementación de código abierto que pueda aprender desde el principio? Gracias.

También, en comparación con la generación de malla triangular, tengo más interés en la malla cuadrilátera y la malla mixta (quad y tri combinados).

¿Fue útil?

Solución

Respaldo la respuesta de David con respecto al el sitio de Jonathan Shewchuk como un buen punto de partida.

En términos de software de código abierto, depende de lo que esté buscando exactamente.

  • Si está interesado en la generación de mallas, puede consultar el código de CGAL . Comprender las partes de bajo nivel del código de CGAL es demasiado para un principiante. Sin embargo, echar un vistazo a los algoritmos de nivel superior puede ser bastante interesante incluso para un principiante. También tenga en cuenta que la documentación de CGAL es muy detallada.
  • También puede consultar TetGen , pero su código fuente es monolítico y no está documentado ( es más un software de usuario final en lugar de una biblioteca, incluso si también puede llamarse simplemente desde otros programas). Aún así, es bastante legible, y el manual del usuario contiene una breve presentación de Generación de mallas, con algunas referencias.
  • Si también está interesado en el procesamiento de mallas, puede consultar OpenMesh .

Más información sobre sus objetivos definitivamente ayudaría a proporcionar indicadores más relevantes.

Otros consejos

El primer enlace en su búsqueda de Google lo lleva al sitio de Jonathan Shewchuk . Este no es realmente un mal lugar para comenzar. Tiene un programa llamado triángulo que puede descargar para la triangulación 2D. En esa página hay un enlace a las referencias utilizadas en creando un triángulo , incluido un enlace a una descripción de algoritmo de triangulación .

Hay varios enfoques para la generación de mallas. Uno de los más comunes es crear una triangulación de Delaunay . Triangular un conjunto de puntos es bastante simple y hay varios algoritmos que lo hacen, incluidos Watson y Rupert's tal como se usa en triángulo Cuando desea crear una triangulación restringida, donde los bordes de la triangulación coinciden con los bordes de la forma de entrada, es un poco más difícil porque necesita recuperar ciertos bordes.

Empezaría por entender la triangulación de Delaunay. Entonces, quizás mire algunos de los otros algoritmos de malla.

Algunos de los temas comunes que encontrará en los documentos de generación de mallas son

  • Robustez: así es como lidiar con los errores de redondeo de punto flotante.
  • Calidad de malla: garantiza que las formas de los triángulos / tetraedros estén cerca del equilátero. Si esto es importante depende de por qué está creando la malla. Para el trabajo de análisis es muy importante,
  • Cómo elegir dónde insertar los nodos en la malla para dar una buena distribución de malla.
  • velocidad de malla
  • Generación de malla cuadrilátera / hexaédrica. Esto es más difícil que usar triángulos / tetraedros.

La generación de malla en 3D es mucho más difícil que en 2D, por lo que muchos de los documentos están en la generación en 3D

La generación de malla es un gran tema. Sería útil si pudiera dar más información sobre los aspectos (por ejemplo, 2D o 3D) que le interesan. Si puede dar una idea de lo que debe hacer, entonces quizás pueda encontrar mejores fuentes de información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top