La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

© 2002 J.C.Dürsteler - UPF- IUA

Presentaciones similares


Presentación del tema: "© 2002 J.C.Dürsteler - UPF- IUA"— Transcripción de la presentación:

1 © 2002 J.C.Dürsteler - UPF- IUA
Infografía 1 Modelización © 2002 J.C.Dürsteler - UPF- IUA

2  2002 J.C.Dürsteler - UPF- IUA
Introducción La modelización trata de los formalismos matemáticos y las estructuras de datos que constituyen los modelos que sirven para representar objetos en infografía.  Crear un modelo: buscar una representación matemática o algorítmica que funcione como el original de forma real o de forma aparente Los objetos son de una complejidad notable requieren modelos matemáticos y estructuras de datos específicos para la computación gráfica. Existen diversas posibilidades de representar un mismo objeto. Cuál usemos dependerá de los objetivos del proyecto de otros factores relacionados con el rendimiento la calidad del resultado.  2002 J.C.Dürsteler - UPF- IUA

3  2002 J.C.Dürsteler - UPF- IUA
Introducción Algunos de estos aspectos son: Precisión Necesidad de almacenamiento Aplicabilidad de los algoritmos de trazado Realismo del resultado. En muchos casos no es posible cumplimentar todos los requisitos que un modelo ha de cumplir para representar eficientemente un objeto. Ello obliga a veces de establecer un compromiso en cuanto al modelo que se va a utilizar.  2002 J.C.Dürsteler - UPF- IUA

4  2002 J.C.Dürsteler - UPF- IUA
Modelos Ambiguos Vistas 2D Representación en Planta Alzado Perfil Complicado el cambio de representación. Especialmente a 3D Requiere la participación del usuario. Se crean interactivamente Puede producir sólidos no válidos. Alambres Guarda vértices ligaduras (aristas) Muy usado Puede producir sólidos no válidos Genera vistas, planos, etc. No permite cálculos volumétricos, momentos, etc.  2002 J.C.Dürsteler - UPF- IUA

5 Modelos de Alambre Wireframe
los objetos se representan mediante un conjunto de vértices unidos por aristas. aspecto poco realista extremada simplicidad trazado muy rápido no requieren muestreo, ideales para tareas en las que no es imprescindible el realismo. Hacerse una idea de una escena complicada Preparar una animación Ambiguo  2002 J.C.Dürsteler - UPF- IUA

6 Modelos de Alambre Wireframe
(0,0,0) (1,0,0) (0,1,0) (1,1,0) Estructuras de datos: Una lista contiene todos los vértices del polígono otra lista contiene los índices que apuntan a los vértices que forman una arista del objeto. Ejemplo. Rectángulo  2002 J.C.Dürsteler - UPF- IUA

7  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales Los modelos de alambre son útiles pero poco realistas. Más realismo: objetos descritos mediante las superficies que los limitan. La mayoría se puede representar mediante polígonos. Sirven tanto para trazado de rayos como para proyección.  2002 J.C.Dürsteler - UPF- IUA

8  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales Estructuras de datos: Listas enlazadas Típicamente 4 listas. Lista con el número de polígonos, un apuntador a la lista de vértices y otro a la lista de polígonos. Una lista de vértices Lista de polígonos, cada uno apuntando a la lista de vértices del polígono otra lista contiene los índices que apuntan a los vértices que forman una arista del objeto.  2002 J.C.Dürsteler - UPF- IUA

9  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales La lista de vértices está accesible desde: La lista principal. Para poder aplicarles transformaciones geométricas y/o proyectivas los índices de las aristas para poder trazar los polígonos La lista de vértices puede cambiar en la fase de recortado  2002 J.C.Dürsteler - UPF- IUA

10  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales Con el esquema anterior en el caso de proyección de los objetos sobre la pantalla, cada arista se está considerando dos veces en la fase de recortado. Para suplir este problema, inexistente en el método de trazado de rayos, se suelen utilizar otras estructuras de datos en las que existe también una lista de aristas.   2002 J.C.Dürsteler - UPF- IUA

11  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales Lista de polígonos, aristas vértices. La lista de aristas contiene para cada una de ellas apuntadores a los vértices que lo componen y a los polígonos Pol.1 y Pol.2 que la comparten.  2002 J.C.Dürsteler - UPF- IUA

12  2002 J.C.Dürsteler - UPF- IUA
Modelos poligonales El hardware especializado prefiere a menudo determinadas estructuras para especificar polígonos: Tiras (strips) GL_LINE_STRIP GL_TRIANGLE_STRIP GL_QUAD_STRIP Abanicos (fans) GL_TRIANGLE_FAN Habitualmente se utilizan triángulos como aproximación poligonal. Tira Abanico  2002 J.C.Dürsteler - UPF- IUA

13 Carteleras (Billboards)
La modelización de primitivas es cara en tiempo de CPU Cartelera: Rectángulo con la imagen del objeto Puede tener imágenes del objeto según la orientación del mismo según el estado de movimiento del objeto Muy usado en juegos Transparente  2002 J.C.Dürsteler - UPF- IUA

14  2002 J.C.Dürsteler - UPF- IUA
Modelado de Sólidos Muchas veces es necesario modelar sólidos de forma que: Se puedan calcular propiedades Volumen Masa Densidad Propiedades físicas Se comprueben Colisiones Interferencias entre objetos Las representaciones poligonales no necesariamente representan sólidos Pueden tener la apariencia Pero son ambiguos.  2002 J.C.Dürsteler - UPF- IUA

15 Propiedades deseables de un modelo (Requicha)
Dominio de representación: el conjunto de objetos que se pueden representar mediante el modelo. Ha de ser suficientemente amplio.   Completitud (no ambigüedad) y unicidad: una representación ha de ser claramente identificable y representar un y sólo un objeto. Unicidad: Una representación es única si cualquier sólido se puede representar de una única forma, dentro del marco del modelo. Imprescindible para poder decidir si dos objetos son iguales. Precisión: Un modelo es preciso si no es necesario realizar aproximaciones, como por ejemplo líneas curvas aproximadas por una series de segmentos rectilíneos. Validez : Un modelo no debiera permitir crear una representación inválida. Por ejemplo si estamos modelando sólidos, no debiera ser posible crear un objeto que no sea sólido.   2002 J.C.Dürsteler - UPF- IUA

16 Propiedades deseables de un modelo (Requicha)
Facilidad: Debe ser fácil crear representaciones válidas y precisas. Clausura: Las operaciones definidas sobre objetos válidos deben producir otros objetos válidos. Por ejemplo bajo rotaciones, transformaciones geométricas, etc. Compacidad: El uso de memoria debe ser lo más pequeño posible. Eficiencia: Los algoritmos necesarios para representar sus propiedades y apariencia gráfica han de ser eficientes en términos de tiempo de cálculo. No es fácil crear modelos que cumplan todas estas especificaciones.  2002 J.C.Dürsteler - UPF- IUA

17  2002 J.C.Dürsteler - UPF- IUA
Modelos de fronteras División jerárquica Objeto Superficie Polígonos Aristas / Vértices  2002 J.C.Dürsteler - UPF- IUA

18  2002 J.C.Dürsteler - UPF- IUA
Modelos de Fronteras Objeto Superficie Superficie Superficie Polígono Polígono Polígono Polígono Polígono ... Arista0 Arista1 Arista2 Arista3 Aristan ... Vert0 Vert1 Vert2 Vert3 Vertn Según Alan Watt 2000  2002 J.C.Dürsteler - UPF- IUA

19  2002 J.C.Dürsteler - UPF- IUA
Modelo de fronteras Describen los objetos en función de las fronteras de sus caras Vértices Aristas Caras Las superficies curvas se aproximan por polígonos o se utilizan directamente (notable complicación) Poliedros Sólidos cuya frontera es un conjunto de polígonos cuyas aristas son miembros de un número par de poligonos Simple: el que es topológicamente equivalente a una esfera.  2002 J.C.Dürsteler - UPF- IUA

20 Extrusión o barrido (Sweep)
El barrido de un objeto siguiendo una trayectoria en el espacio se denomina extrusión o barrido (sweep) Traslacional: un área 2D a lo largo de una trayectoria rectilinea siguiendo la normal al área El volumen es el área del objeto por la distancia de barrido Rotacional: de una figura en torno a un eje.  2002 J.C.Dürsteler - UPF- IUA

21 Extrusión o barrido (Sweep)
Operación Crear cara + vector traslación Calcular la cara opuesta Generar las caras laterales. Estructura de datos Objetos 1ª Cara Numero de caras Caras 3 normales a la cara apuntador al 1r poligono Polígonos Tipo (Frontera o Agujero), 1ª arista, numero de aristas, poligono siguiente Aristas numeración consecutiva Puntos x, y, z (0,5,0) (10,5,0) Objetos 3 1ª Cara Nº Caras 2 (0,0,0) 3 6 (10,0,0) Caras Normal x Normal y Normalz Primer pol. Poligonos Tipo 1ª arista Num aristas Pol. siguiente Puntos x y z  2002 J.C.Dürsteler - UPF- IUA

22 Extrusión o barrido (Sweep)
Aristas 1 2 3 5 6 7 8 4 9 12 11 16 15 14 13 10 ... Puntos 5 10 3 2 6 4 Objetos 1 10 (0,5,0) (10,5,0) 3 2 Poligonos Fr 1 4 2 Ag 5 9 13 17 21 ... Caras -1 1 3 5 6 7 8 9 10 11 12 (0,0,0) 3 6 (10,0,0)  2002 J.C.Dürsteler - UPF- IUA

23 Modelo de fronteras Poliedros
El modelo de fronteras de un poliedro simple cumple la fórmula de Euler. V-A+C=2 V=Vértices A=Aristas C=Caras La formula de Euler es condición necesaria, pero no suficiente para un sólido podríamos tener caras sueltas que cumplieran Euler Adicionalmente cada arista debe conectar 2 vértices debe estar compartida por dos caras al menos 3 aristas deben concurrir en cada vértice las caras no se deben interpenetrar  2002 J.C.Dürsteler - UPF- IUA

24 Modelo de fronteras Poliedros
Para poliedros con agujeros en las caras V-A+C-F=2(P-G) V=Vértices A=Aristas C=Caras F=Anillos en las caras P=Partes o Cáscaras G=Agujeros pasantes V-A+C-F=2(P-G) =2(1-1)  2002 J.C.Dürsteler - UPF- IUA

25 Modelo de fronteras Poliedros
Operadores de Euler Son un conjunto de operadores que satisfacen las fórmulas de Euler Permiten transformar unos objetos en otros que siguen cumpliendo las formulas añadiendo, quitando o dividiendo las caras, vértices o aristas  2002 J.C.Dürsteler - UPF- IUA

26  2002 J.C.Dürsteler - UPF- IUA
Operadores booleanos Interesa combinar objetos para producir otros. Operadores booleanos Union  Intersección  Diferencia - Los operadores booleanos tradicionales pueden no dar otro sólido como resultado.  2002 J.C.Dürsteler - UPF- IUA

27 Operadores booleanos regularizados
Un objeto puede considerarse definido por puntos interiores de la frontera los puntos frontera son aquellos cuya distancia al complemento del objeto es 0 no tienen por qué pertenecer al objeto. Un conjunto cerrado contiene a sus puntos frontera un conjunto abierto no contiene ninguno La unión de un conjunto con su frontera se llama clausura del conjunto. La regularización de un conjunto se define como la clausura de sus puntos interiores. Un conjunto que es igual a su regularización se denomina regular Podemos definir una operación regularizada A op* B = clausura(interior(A op B))  2002 J.C.Dürsteler - UPF- IUA

28 Regularización  2002 J.C.Dürsteler - UPF- IUA
Objeto con puntos frontera (gris oscuro) que no son parte del mismo. Puntos frontera en negro si pertenecen Interior del Objeto Clausura del Objeto Regularización (clausura del interior)  2002 J.C.Dürsteler - UPF- IUA

29 Operadores booleanos vs regularizados
Sección de dos objetos Antes de la intersección Intersección booleana Arista extra 1 2 3 4 Intersección regularizada Incluye la frontera si ambos están del mismo lado (1-2), la excluye si están en lados opuestos (3-4). La común (2-3) siempre se incluye.  2002 J.C.Dürsteler - UPF- IUA

30 Operadores booleanos regularizados
Introducimos * Unión regularizada * Intersección regularizada -* Diferencia regularizada Operaciones regularizadas en función de las no regularizadas  2002 J.C.Dürsteler - UPF- IUA

31 Operadores booleanos regularizados
AiBi A B Ai-B A B Bi-A AfBi A B A B Operaciones regularizadas en función de las no regularizadas BfAi A B Af-B A B Bf-A A B AfBf (=) A B AfBf ()  2002 J.C.Dürsteler - UPF- IUA

32 Geometría constructiva de Sólidos (CSG)
Los objetos se guardan como árboles con operaciones booleanas regularizadas como nodos internos geométricas con sólidos primitivos en los nodos externos (hojas) Como las operaciones no son conmutativas en general el arbol tiene un orden explícito de recorrido * -*  2002 J.C.Dürsteler - UPF- IUA

33 La complejidad depende
CSG Para representar los sólidos se recorre el árbol ordenadamente realizando las operaciones. Puede que se pretenda calcular la representación gráfica propiedades como centro de masas volumen momentos de inercia... La complejidad depende de la forma en que estén guardadas las primitivas de si el sólido final en la raíz del árbol se ha de representar o si sólo interesan algunas de sus partes  2002 J.C.Dürsteler - UPF- IUA

34  2002 J.C.Dürsteler - UPF- IUA
Representaciones CSG Algunas representaciones sólo admiten primitivas sólidas Cualquier árbol representa otro sólido Realizar cortes obliga a utilizar otro sólido, cuando sólo se necesitaría un semiespacio. Otras utilizan Primitivas sólidas Semiespacios Hacer un corte resulta más sencillo Ciertas construcciones son más complejas Un cubo es la intersección de 6 semiespacios Introduce problemas de validez. Determinadas operaciones no dan un sólido  2002 J.C.Dürsteler - UPF- IUA

35  2002 J.C.Dürsteler - UPF- IUA
Representaciones CSG Aplicaciones Se ha popularizado en CAD 3D Permite visualizar los sólidos a medida que los construyen Los planos se generan solos Cálculos volumétricos, de áreas, momentos de inercia, etc. En modelizadores, para construir sólidos que después se trazan por otros medios (ray tracing…)  2002 J.C.Dürsteler - UPF- IUA

36  2002 J.C.Dürsteler - UPF- IUA
Modelado de sólidos  2002 J.C.Dürsteler - UPF- IUA

37 Instanciación de primitivas
En el sistema hay definidas una serie de primitivas. Parametrizadas en una serie de propiedades Sujetas a las transformaciones geométricas habituales. En CAD es habitual definir piezas como engranajes, tornillos, etc parametrizables Muchos sistemas de instanciación no permiten la combinación booleana. Suele existir una jerarquía de primitivas. Si se quiere realizar otra primitiva hay que escribir el código necesario.  2002 J.C.Dürsteler - UPF- IUA

38 Modelos de descomposición celular
El sólido es descompuesto en una colección de sólidos adyacentes no intersectantes más primitivos que el original no necesariamente del mismo tipo que el original  2002 J.C.Dürsteler - UPF- IUA

39 Modelos de descomposición celular: Enumeración espacial
Se divide el espacio en una serie de celdas idénticas distribuidas en una malla regular el sólido se representa mediante la enumeración de las celdas que están ocupadas las que no  2002 J.C.Dürsteler - UPF- IUA

40 Modelos de descomposición celular: Quadtrees
Arboles cuaternarios Caso particular Arbol de enumeración espacial Para reducir la memoria los voxels cambian de tamaño en función de las características del sólido a representar.  2002 J.C.Dürsteler - UPF- IUA

41 Modelos de descomposición celular: Quadtrees
Copyrigyht Principles of Computer Graphics, Foley, Van Damm et al Nivel 1 2  2002 J.C.Dürsteler - UPF- IUA

42 Modelos de descomposición celular: Octrees
Un Octree es un Quadtree tridimensional La numeración es fundamental Se suele utilizar la numeración adjunta. pero no existe un esquema estándar. Escala=2nivel Copyrigyht Principles of Computer Graphics, Foley, Van Damm et al  2002 J.C.Dürsteler - UPF- IUA

43 Modelos de descomposición celular: Octrees
Octree(x,y,z,escala){ escalaq=escala/2; for (i=0, i<=7,i++){ determinar_origen(i); if (fuera (nodo(i) ) guarda(blanco); else if (dentro(nodo(i) guarda(negro); else if escalaq >1 { guarda(gris); Octree(x1,y1,z1, escalaq); } else guarda(negro);  2002 J.C.Dürsteler - UPF- IUA

44 Modelos de descomposición celular: Octrees
Aplicaciones Medicina Tomografía axial computerizada Resonancia Magnética Nuclear Radiología Análisis de materiales por rayos X  2002 J.C.Dürsteler - UPF- IUA

45 Comparación de modelos
Dominio Concisión Operacion Booleanas Creación Visualización Fronteras Caras planas Regular Difícil Muy bueno Muy bueno CSG Sólidos primitivas Bueno- Muy bueno Bueno- Regular Desc. Celular Aproxima. por cubos Mal - regular Bueno Muy malo  2002 J.C.Dürsteler - UPF- IUA


Descargar ppt "© 2002 J.C.Dürsteler - UPF- IUA"

Presentaciones similares


Anuncios Google