Clase 02 - Después de esta clase l@s alumn@s pueden construir una mesh a mano para las geometrías básicas (cubo, cilindro, esfera) y pueden explicar cuales son los componentes de un mesh.
Clase 03 - Después de esta clasel@s alumn@s pueden leer una mesh desde un archivo, calcular estadísticas geométricas básicas (conteos, bounding box, duplicación de vértices) y visualizar los resultados en python.

La clase pasada vimos que los triangle mesh están compuestos de triángulos que comparten vertices.
Vimos también que cada triangulo tienen una normal (triangle normal) perpendicular al plano del triangulo. Y que podemos además definir normales para cada vértice (vertex normals).
También vimos que podíamos representar esta información en el computador como:
Operaciones que realizamos para preparar los datos, antes de su aplicación final.
El objetivo es preparar, analizar y adaptar los assets para que puedan ser utilizados correctamente por aplicaciones downstream


Estos datos pueden provenir de distintas fuentes:
En esta etapa simplemente cargamos y representamos los datos.

Modelado manual/modelos online Me interesa optimizacion de modelos procedural (LODs "semiautomaticos" quiza
Vicente
Interiores de casas y lugares en los que nunca he estado :)
Gonzalo :)
Escaneos 3D
Seba
No lo sé, no lo había considerado hasta ahora
Criss
Generados a partir de eq físicas
franco
texto plano
fish ><>

El objetivo del análisis es entender las propiedades del asset.
¿La malla es manifold? ¿Tiene agujeros o ruido? ¿La resolución es adecuada? ¿Tiene normales correctas?
Este análisis nos permite decidir si el asset puede usarse directamente o si necesita ser procesado o corregido
En la etapa de editing transformamos el asset en algo que sea más útil, más limpio o más informativo para las aplicaciones posteriores.

Editar la geometría: Cambiamos directamente la forma o la estructura de la malla. El objetivo suele ser mejorar la calidad del modelo o adaptarlo a una necesidad específica.
Por ejemplo, podemos:
En general, estas operaciones alteran la geometría del modelo para que sea más adecuada para rendering, simulación o almacenamiento.

Generar información adicional: En muchos casos el asset geométrico por sí solo no es suficiente. Podemos entonces calcular o añadir información adicional derivada de la geometría, o conectando con otras fuentes de información.
Esta información puede incluir normales, coordenadas UV, curvatura, segmentaciones o etiquetas.
Esta metadata no cambia la geometría, pero añade información que facilita el uso del modelo en otras aplicaciones.
Que se pueda integrar con simuladores 3D utilizados en robótica (gazebo y rviz por ejemplo)
T.L
Generar modelos a partir de fotos :)
Gonzalo :)
simulación de luz o fluidos, que no sean lentos (bien optimizados)
-_-
aplicaciones de métodos de ML/DL a imágenes 3D
fernando
remeshing para modelos de muchos poligonos, muy pesados
Gisueppe
2d gaussian splatting y algoritmos para crear modelos simples (mesas, sillas, etc) de manera eficiente en cuanto a espacio y tiempo
fish ><>
simplificacion/generacion automatica de LODs para uso en juegos/apps real time rendering
Vicente
Algoritmos de reconstrucción 3D o algoritmos que ayuden a optimizar modelos 3D escaneados
Seba
Algoritmos de reconstrucción 3D
T.L
Tamaño del archivo y fidelidad al modelo original
Gisueppe
Cantidad de polígonos inicial y final, framerate, uso de memoria, etc
Seba
efectividad/usabilidad + ahorro de memoria
Vicente

Finalmente adaptamos los datos a lo que necesitan las aplicaciones downstream.
Ejemplos: motores de render, motores de videojuegos, simulación, pipelines de ML
Esto puede implicar:
Un archivo .obj o similar
Gisueppe
Un algortimo y ejemplos de uso :)
Gonzalo :)
variantes mas livianas de un modelo original (geometria)
Vicente
una webapp
Miguel
una escena interactiva
-_-
Modelo 3d interactivo web
franco
una bdd de modelos
fish ><>

Hoy vamos a construir una pequeña herramienta para inspeccionar mallas.
🧐Cargar y visualizar el mesh utilizando la librearía trimesh
🧐Imprimir el número de vertices y faces.
🧐Detección de problemas:
🧐Información Espacial
🧐Visualizar los elementos problemáticos y el bounding box

En una malla triangular, las caras están formadas por vértices conectados por aristas.
Cada triángulo tiene 3 aristas. Por ejemplo si una cara eso
f 0 1 2
las aristas son
(0,1), (1,2), y (1,3)

Problema: aristas duplicadas: Cuando recorremos todas las caras de la malla, muchas aristas aparecen más de una vez, porque son compartidas por dos triángulos.
Aristas únicas (Unique Edges): Para muchas operaciones necesitamos el conjunto de aristas sin duplicados.
Esto nos permite:

Una bounding box es un volumen simple que encierra completamente un objeto 3D.
Se utiliza como una aproximación geométrica rápida para describir el tamaño y la posición de un modelo.
Axis-Aligned Bounding Box (AABB): La caja está alineada con los ejes X, Y, Z
Oriented Bounding Box (OBB): La caja puede rotar para ajustarse mejor al objeto.
Las bounding boxes se usan frecuentemente para: