La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

>> Modelado – 2 << Representación de sólidos (a)

Presentaciones similares


Presentación del tema: ">> Modelado – 2 << Representación de sólidos (a)"— Transcripción de la presentación:

1 >> Modelado – 2 << Representación de sólidos (a)
LINK Mod.Sólidos-2a A. García-Alonso

2 Modelos o representaciones de sólidos
Geometría constructiva de sólidos (CSG) Replicado de primitivas (Primitive instancing) Modelos de fronteras (Boundary Representations) Poliedros y otras representaciones de caras planas Superficies curvas Barrido Representaciones de partición espacial Descomposición en celdas Enumeración de ocupación espacial Árboles Mod.Sólidos-2a A. García-Alonso

3 ... Características (Features) Restricciones (Constraints)
Modelos paramétricos Modelos variacionales Mod.Sólidos-2a A. García-Alonso

4 Consideraciones Al considerar representaciones discriminar
Almacenamiento en memoria Almacenamiento en fichero Interfaz de usuario Uso Dibujo Evaluar propiedades másicas (volumen, cdg, momentos, etc) Comprobar propiedades geométricas o topológicas Búsquedas Etc Uso simultáneo de varias representaciones Mod.Sólidos-2a A. García-Alonso

5 Geometría Constructiva de Sólidos
Foley 12.2,7, Hearn 10.15 CSG : Constructive Solid Geometry Las operaciones booleanas Unión, intersección, diferencia Foley 12.2 Problemas Foley 12.3 Elementos colgantes (dangling) Necesidad definir operaciones regularizadas Operaciones booleanas vs. Representaciones booleanas Operaciones b. se pueden aplicar a otras representaciones : es una pura operación, no una representación Árbol booleano es un tipo de representación Mod.Sólidos-2a A. García-Alonso

6 El árbol de representación booleano
El árbol booleano Machover 8.5,6 Nodos operaciones Unión Intersección Diferencia Nodos terminales usan otras representaciones Color Primitivas B-reps Etc Transformaciones geométricas Mod.Sólidos-2a A. García-Alonso

7 Replicado de primitivas
Foley 12.3 Primitive instancing Familias de piezas Foley-12.7 Uniformes (“Lego”, mecano) Paramétricas Posicionamiento Transformación, escalado Pegado Relacionado con la “Tecnología de Grupos” (Ingeniería de Producción) Mod.Sólidos-2a A. García-Alonso

8 Mod.Sólidos-2a A. García-Alonso

9 Modelos de caras planas y B-Rep
Foley 12.5, Hearn 10.1 Clasificación Foley 12.5 Poliedros (sólidos, B-Rep poligonales) Superficie poligonal (no encierra un sólido) Conjunto de polígonos Malla triángulos, malla cuadriláteros, polígonos conexos Precisión Exacto : describe un objeto de caras planas Aproxima una superficie : cota de error Mod.Sólidos-2a A. García-Alonso

10 Poliedro que representa un sólido
Ecuación de Euler (cuerpo sin y con agujeros) V + F = E + 2 (Vértices + Caras = Aristas + 2) Foley-12.13 V – E + F – H = 2 ( C – G ) Foley-12.14 H : agujeros en caras C : número de componentes (partes separadas) G : agujeros pasantes (si C=1, G es el genus del poliedro) Condiciones debe cumplir (Foley, ) Cumplir la fórmula de Euler Cada arista conecte dos vértices Cada arista sea compartida por dos y solo dos caras En cada vértice se deben juntar por lo menos tres aristas Las caras no se deben penetrarse (hay tangencias no válidas) Mod.Sólidos-2a A. García-Alonso

11 Modelos de caras planas : discusión
Inconvenientes Se pierde La “exactitud” del modelo Información constructiva: Hª, restricciones, etc Ventajas (muy versátiles) Transportables entre distintas aplicaciones Algoritmos rápidos y robustos Algoritmos de visualización implementados en H/W Se puede controlar el grado de precisión Mod.Sólidos-2a A. García-Alonso

12 Lados de una cara : descripción
Se distinguen dos lados Poliedros (“malla” cerrada): interior/exterior Para optimizar los algoritmos de visibilidad Mallas abiertas: ¿cóncava ó convexa?, ¿superior ó inferior? , depende de cómo se mire ... Mejor hablar de lado 1 ó 2 A veces se asigna distinta textura o material a cada lado inferior ? superior ? Lado 1 Lado 2 exterior interior “convexo” “cóncavo” Inferior ? superior ? Mod.Sólidos-2a A. García-Alonso

13 Lados de una cara : modelo numérico
En poliedros las caras se definen enumerando ordenadamente sus vértices Modo de determinar los lados de una cara : Incluir en la estructura su normal (suele haber coherencia entre la normal y el recorrido de vértices) Recorriendo los vértices se determina la normal en la cara hacia el exterior del cuerpo Cuándo usar normales “incorrectas” (hacia dentro del cuerpo) Mod.Sólidos-2a A. García-Alonso

14 ... Convenios de recorrido
CCW CounterClockWise (lo más habitual) {12, 6, 23, 4} CW ClockWise {12, 4, 23, 6} En VRML tiene un significado similar CCW  12 23 4 6 cara bien enumerada {12, 6, 23, 4} mal {12, 4, 23, 6} CW 12 23 4 6 Mod.Sólidos-2a A. García-Alonso

15 Depurar modelos ++++ “Missing polygon”
Comprobar Encoger Explosionar (mover en dirección de la normal) Añadir automáticamente Cara exterior y cara interior “cambiadas” Visualizar Cambio automático o interactivo Mod.Sólidos-2a A. García-Alonso

16 Malla de polígonos: normal en vértices
Muchas mallas de polígonos aproximan superficies curvas Esfera, cilindro Parche de una superficie reglada, Parche de una superficie paramétrica, etc En cada vértice de la malla : normal a la superficie que se modela Cuando se construye la malla a partir de la superficie se pueden determinar las normales con precisión Al leer la malla de un fichero, éste puede contener las normales Si sólo se conocen las coordenadas de los vértices se pueden encontrar unas normales aproximadas Mod.Sólidos-2a A. García-Alonso

17 Normal en vértice : gestión
Importante para calcular el sombreado Almacenar en fichero vs. Calcular al leer el fichero El fichero que describe la malla puede incluir las normales en los vértices Muchas veces no vienen Es fácil y rápido realizar una aproximación Se ahorra memoria en el fichero Es más rápido para transmitir por Internet (VRML) Datos de partida para aproximar normales en vértices Lista de vértices Cada vértice : coordenadas de cada vértice Lista de caras Cada cara : lista índices o apuntadores a vértices Mod.Sólidos-2a A. García-Alonso

18 Normal en vértice : aproximación
Cálculo aproximado: normal en cada vértice Sumar las normales de las caras adyacentes al vértice n = n1 + n2 + n3 + n4 Normalizar el vector resultante (las ecuaciones de sombreado usan vectores unitarios) nv = n / |n| n1 n2 n3 n4 nv Mod.Sólidos-2a A. García-Alonso

19 Normal en vértice : problema
Cilindro : vértice común a cara lateral y a la “tapa” Un único vértice que pertenece a “superficies” distintas Distinta normal según que esté el vértice en una cara u en otra El cubo Es necesario distinguir la normal de: el vértice A en la cara 1 : nA1 el vértice A en la cara 2 : nA2 el vértice A en la cara 3 : nA3 nA3 nA1 nA2 n1 n3 n2 A no nA3 nA1 nA2 A Mod.Sólidos-2a A. García-Alonso

20 Normal en vértice : solución
Solución : “crease angle” (VRML) Para calcular la normal en el vértice “K” de la cara “i” Inicializar n al vector nulo Recorrer todos las caras que contienen al vértice K : j Si el vector nj y el vector ni forman un ángulo inferior al “crease angle” n = n + nj nKi = n / | n | Mod.Sólidos-2a A. García-Alonso

21 Normal en vértice : estructura datos
Solución 1 : caras autónomas La descripción de cada cara contiene: Lista vértices (coordenadas o índices o apuntadores) Lista normales (componentes o índices o apuntadores) Estas dos listas tienen el mismo número de elementos y se corresponde cada vértice con su normal Solución 2 : organización en superficies Cada superficie tiene Lista de caras (objetos) Lista de vértices (objetos) Cada cara tiene una lista de vértices (índice o apuntador) La descripción de cada vértice contiene: Coordenadas Componentes del vector normal Mod.Sólidos-2a A. García-Alonso

22 Problema topológico Evitar búsquedas caras vecinas (explosión combinatoria) Crear información topológica auxiliar En cada vértice crear lista con las caras que le contienen Usar arrays o “linked lists” Mod.Sólidos-2a A. García-Alonso

23 De una lista de caras crear superficies
La lista de caras se descompone en “superficies” Toda cara pertenece a una superficie y solo a una Todo par de caras tangentes pertenecientes a una misma superficie superan el test del “crease angle” Procedimiento creación de “superficies” Crear(caras, lista vacía de superficies) Mientras haya caras que no pertenecen a una superficie Elegir una cara J para empezar una nueva superficie Añadir nueva superficie vacía Añadir cara J a la superficie Llamar al proceso de crecimiento de la superficie Normalizar normales en vértices Mod.Sólidos-2a A. García-Alonso

24 ... Crecimiento(cara J, caras, superficies)
Recorrer los vértices de J : V Recorrer las caras que contienen a V : K Si K-J superan el test del “crease angle” • Si K no supera el test “crease angle” con una cara que contienen a V y que pertenece a la superficie • Duplicar vértice • Añadir la cara K a la superficie de la cara J • Incrementar la normal en V • Crecimiento(cara K, caras , superficies) Mod.Sólidos-2a A. García-Alonso

25 Caras autónomas : cálculo normales
Para cada cara : A Crear lista de normales en vértices en cara A : nA1 nA2 nA3… Para cada vértice de la cara A : j Inicializar nAj a vector nulo Para cada cara que comparte el vértice j : K Si ángulo(nA, nK) < “crease angle” nAj = nAj + nK Normalizar nAj ( nota : a nAj se ha sumado, al menos, nA ) Mod.Sólidos-2a A. García-Alonso

26 Discusión Caras autónomas Organización en superficies
Ahorra direccionamientos (más rápido) Se adecúa más a la estructura de OpenGL Organización en superficies Todas las caras de una misma superficie tienen el mismo material Más compacto Mod.Sólidos-2a A. García-Alonso

27 Mod.Sólidos-2a A. García-Alonso

28 Mod.Sólidos-2a A. García-Alonso

29 Mod.Sólidos-2a A. García-Alonso

30 Algoritmos y estructuras ++++
Dibujar polígonos en alambre Evitar dibujar aristas dos veces “Pick & rubber-banding” Silueta “profile” Mod.Sólidos-2a A. García-Alonso

31 B-reps : superficies no planas +++
(cfr Modelado de Superficies) Tipos de superficies Paramétricas Bezier NURBS XXXXXXXXX Blending surfaces Regladas Cónicas XXXXXXX Superficies recortadas Foley-12.18 Mod.Sólidos-2a A. García-Alonso

32 Barrido Foley 12.4, Hearn 10.14 Elemento que barre
Línea Área Volumen Trayectoria Machover 8.7 Lineal (extrusión) Rotación Trayectoria (curva, poli-línea) Ejemplo nodo VRML Carey 3.21 Mod.Sólidos-2a A. García-Alonso

33 Barrido (VRML) Mod.Sólidos-2a A. García-Alonso
Mod.Sólidos-2a A. García-Alonso

34 Mod.Sólidos-2a A. García-Alonso


Descargar ppt ">> Modelado – 2 << Representación de sólidos (a)"

Presentaciones similares


Anuncios Google