Modelado de Sólidos Prof. P f Eduardo Ed d Fernández F á d (Unive (U i ersidad id d de d la l República R úbli de d Uruguay) - http://www.fing.eduu.uy/inco/cursos/compgraf/ Prof. Juan Carlos Peris (Universiidad Jaume I) Capitulo 8. Gráficos por computtadora con OpenGL por Donald Hern y Pauline l Baker k Representación de só ólidos Un modelo es una representación de d la realidad. Permite P i estudiar di y comprender d ell comportamiento i dde lla realidad bajo análisis. En algunos casos, proporcionnar medios para predecir la evolución del modelo planteeado. Problemas: La realidad es muy mu complejaaa. No queda otra alternativa quue recurrir a simplificaciones. Representación de só ólidos Los sistemas de representación de sóólidos describen objetos. Diferentes modelos geométricos see aplican en la construcción de objetos tridimensionales. Las diferentes técnicas empleadas persiguen, p sin que todas lo consigan: Distinguir g partes p internas,, pa partes externas,, superficies, p , etc. Determinar las posibles interrferencias entre sólidos. Aplicar l análisis ál (simulación) l ó para p determinar d lla respuesta dde llos sólidos a factores como la tennsión, la temperatura, etc. Representación de só ólidos Las dos características a resolver conn un modelo ggeométrico son: La forma de representación del sóllido. La forma de almacenamiento almacenamiento. Connciliación entre espacio de almacenamiento y tiempo de proceeso. Requisitos de un modelo de represenntación de sólidos. sólidos Precisión. Representación real dee un objeto, sin aproximaciones. Dominio. Conjunto de objetos quue se pueden representar con el modelo. Ausencia A i de d ambigüedad. bi ü d d No N deben d b existir i ti ddudas d sobre b ell objeto bj t representado. Representación de só ólidos q p ntación de sólidos. Requisitos de un modelo de represen U i id d U Unicidad. Un sólido ólid se codifica difi dde una úúnica i fforma. Validez. Un modelo de representtación impide la reproducción de sólidos no válidos. válidos Cierre. Operaciones sobre sólidoss dan como resultado nuevos sólidos. Compacta. Reducir el espacio dee almacenamiento, mejorándose el rendimiento del sistema. Eficiencia. Efi i i Algoritmos Al i eficientes fi i en ell cálculo ál l dde llas propiedades i d d fífísicas i de los sólidos, así como su represenntación en pantalla. Representación de só ólidos Modelado de alambre: Hoy en día es considerado una forma f de representación más un método de modelado. Un objeto es representado mediannte una colección de esqueleto del objeto. que aristas. El Ninguna información sobre las propiedades superficiales. Ventajas. j Simplicidad de cálculos. Úniccamente muestra la composición de la escena. Representación de só ólidos Desventajas. Ambigüedad en la representación. No see pueden eliminar líneas existen caras. caras ocultas, no La información sobre el volumen real ess inexistente. Incapacidad de representar perfiles curvvados. vados Las superficies pero no se representan (ejemplo, cilindro). curvas se intuyen, intuyen Incapacidad de detectar interferencias enntre objetos. Se del objeto. objeto desconocen los límites Dificultades en el cálculo de las propieddades físicas de los objetos. Incapacidad para aplicar métodos de ilum minación y sombreado. sombreado Realismo muy pobre. pobre Representación de sólidos ¿En la siguiente figura se define un cubbo sólido? Modelado de sólidos Ventajas: Permite clasificación espacial (spatial addressability). Útil para calculo de interferenccias, masa, etc. Almacenan información geoméétrica y topológica. Desventajas: No es posible la construcción automática a de otros modelos a partir de modelos sólidos. No es posible la generación auttomática de modelos sólidos a partir de otros modelos. Información Geométriica y Topológica Modelos Sólidos La construcción de un modeelo elo no es única. única Entidades sólidas Las primitivas se introducen n a través de una localización, localización geometría y orientación: BLOQUE: Q Origen, g , altura,, anchura,, profundidad. p CILINDRO: Origen, radio y longitud. CONO: Origen, radio base,, radio superior y altura. ESFERA: Centro y radio (diámetro) CUÑA: Origen, altura anchura y profundidad de la base. TORO: TORO C Centro, radio d internno y radio d externo. Entidades sólidas Entidades sólidas Operaciones booleanas: ó + Unión. ó I Intersección - Diferencia. Entidades sólidas Entidades sólidas Representación de sólidos s La representación de sólidos fundamentalmente se basa en la noción de que un sólido dividde el espacio en dos regiones: interior y exterior del sólidoo. La separación ó entre regioness es realizada l d por llos bbordes d ddell sólido, los cuales representann superficies. Por lo tanto, tanto un sólido se deffine matemáticamente cómo un conjunto de puntos S que cum mplen, S = iS bS dónde iS bS p del interior del sólido. conjunto de puntos conjunto de puntos p del borde del sólido. Representación de sólidos s Las definiciones anteriores iintroducen el concepto de cierre geométrico, el cual implica que el interior de un sólido está geométricamente cerrado ppor sus contornos, S = iS bS Representación de sólidos Representación de sólidos s Ejemplo de objeto os no regulares Modelos Sólidos Existen distintos tipos de rep presentación de modelos sólidos, sólidos por ejemplo: Semi-espacios B-Rep (boundary representatio on). Puede representar superficies generales a costa de un mayor tiempo de proceso. CSG (constructive solid geomeetry). etry) Fácil de construir pero con limitaciones para construir for mas complejas. Representación por barridos (ssweep) Compocisión espacial Octree BSP BSP- tree (Binary Space Particionning) Semi-espacios Entidades sin límites geoméétricos que dividen el espacio en 2 partes infinitas, dentro y fuera. f H = { P / P E y f(P) < 0 } siendo: P un punto ddell espacio E el espacio completo de puntos f(P) ( ) la ecuación del elemento qquee define la división del espacio. Semi-espacios visión son: • Los elementos básicos de div Plano: H { (x, y, z) / z 0} 2 2 2 H { ( (x, y, z z) ) / x y R } Cili d Cilindro: Esfera: H { (x, y, z) / x y z R } Cono: H { (x, y, z) / x y [ tan (/2)z ] Toro: 2 2 2 2 2 2 2 } H { (x, y, z) / (x 2 y 2 z 2 – R 2 – R 1 ) 4R 2 ( R 1 - z 2 ) } 2 2 2 2 Semi-espacios Representación por frrontera (B-Rep) B-Rep p ((Boundaryy representation) p ) Muy utilizado (junto al CSG) Basado en la noción topológica dee que un objeto físico tiene como limites un conjunto de caras cerradas y oorientables orientables. cerradas: continuas, sin agujero os. orientables: 2 direcciones posib bles (dirección normal). El contorno de un objeto queda pues p definido por: unión de aristas. aristas unión de vértices. caras Modelos no únicos. Representación por frrontera (B-Rep) Elementos básicos: Primitivas: caras, aristas y vérttices. Objetos que se pueden constru uir: Caras planas (poliedros). Caras curvas (objetos curvos). Tipos de objetos poliédricos: Simples (sin agujeros) Caras con varias fronteras. Con agujeros que no atraviesan n el objeto por completo. Con agujeros que atraviesan el objeto por completo. Representación por frrontera (B-Rep) Representación por frrontera (B-Rep) Primitivas: Vértice: punto único en el espacio. espacio Arista: curva finita, orientada, delimitada por p dos vértices (pueden ser el mismo), que no se autointersecta. Cara: región finita, finita no autointersectante, autointersectante dde una superficie orientable orientable, limitada por uno o más loops. Loop: secuencia ordenada alternante de véértices y aristas no autointersectante y cerrado. cerrado Agujero que no atraviesa: depresión dee una cara de un objeto. Agujero que atraviesa: túnel que perforra completamente el objeto. El número de agujeros de este tipo se denomina genus. genus Cuerpo: conjunto de caras que delimitan un u volumen cerrado continuo. Por lo tanto un cuerpo es una entidad que tiene caaras, aristas y vértices. Representación por frrontera (B-Rep) Validación topológica: Combinación Validació (Ley dde C bi ió de d primitivas. i iti V lid ióón ó ttopológica ló i dde modelos d l (L Euler): F – E + V – L = 2 (B – G) dónde, F número de caras. V número ú de d vértices. é B número de cuerpos. E número de aristas. L número ú o dde lloops interiores. G númerro de genus. Representación por frontera f (B-Rep) F – E + V - L = 2(B – G) F 24; E 36; V 15; L 3; B 1; G 1 Representación por frrontera (B-Rep) Objetos j curvos: Mismas reglas que los objetos polliédricos. Aristas y superficies curvas. Representación: R ió Exacta: ecuaciones de curvas y superficies. Aproximada: facetado. Representación por frrontera (B-Rep) Estructura de datos: Contiene información topológicaa y geométrica. Una base de datos relacional es un método adecuado para implementar esta t estructura. t t Por ejemplo: Una entidad es un vertice Una arista es representada por un paar de vertices Una cara por un conjunto de aristas cerradas Representación por frrontera (B-Rep) Representación por frrontera (B-Rep) Operaciones de construcció ón: Basadas en los operadores dee Euler, aplicadas sobre la ecuación de Euler. F – E + V – L = 2 (B – G) No se pueden crear ni modifficar libremente los objetos. objetos Las operaciones han de cumplir siempre la ley de Euler. Representación por frrontera (B-Rep) Ventajas: Popular, muy extendido. Permite construir sólidos diffíciles de modelar con primitivas básicas. Fácil convertir B-rep p a alámbbrico. Desventajas: Requiere q mucho espacio p de almacenamiento. Trabajar con operadores de Euler E es costoso y lento. Representación por frrontera (B-Rep) Representación por frrontera (B-Rep) Representación por frrontera (B-Rep) Geometría Sólido Con nstructiva (CSG). CSG – Contructive solid geometrry. Esquema más popular para crear modelos. m Fácil de entender, crear y almacen nar. Fácil de validar. Las operaciones de diferencia e in ntersección proporcionan mecanismos para: Procesos de eliminación de material. material. Cálculo de interferencia entre objeto os. Basado en la noción topología de que un objeto puede dividirse en un conjunto de primitivas combinadaas de cierta forma por un conjunto de reglas (operaciones booleanas) paara formar dicho objeto. Geometría Sólido Con nstructiva (CSG). Diferencias con B-rep: B rep: No se almacenan explícitamente las caras, aristas y vértices. Estos se evalúan cuando es necesario. n Concepto de utilización de primitiva. p La validez de un modelo CSG G se obtiene chequeando q las primitivas y operaciones utillizadas. Geometría Sólido Con nstructiva (CSG). Tipos de esquemas CSG: Primitivas con fronteras (r-ssets). Son los más conocidos y utilizados. Primitivas sin fronteras (non n r-sets) -> semiespacios. Soli do Primitiva co on fronteras (B-rep) Primitiva sin fronteras (B-rep) Geometría Sólido Con nstructiva (CSG). Elementos básicos: Bloque: { (x, y, z) / 0 Cilindro:{ (x, ( y, z)) / Cono: x W, 0 y H, 0 z D} x 2 y2 R 2 , 0 z H } { (x, y, z) / x y (R/H)z ,0 z H } 2 2 2 Esfera: 2 2 2 { (x, y, z) / x y z R} Toro: { (x, y, z) / (x y z – R 2 – R 1 ) 4R 2 ( R 1 - z 2 ) } 2 2 2 2 2 2 2 Geometría Sólido Con nstructiva (CSG). Geometría Sólido Con nstructiva (CSG). Cada una de las primitivas aanteriores es una combinación de un número finito de semi-esspacios. La representación interna n normalmente almacena también información útil para propóósitos computacionales (caras, vértices superficies vértices, superficies, etc..) etc ) Geometría Sólido Con nstructiva (CSG). Operaciones de construcción n ó + Unión. ó I Intersección - Diferencia. Dif i No están basadas en ninguna ley, la validación es a nivel de introducción de pprimitivas y en el concepto p de cierre geométrico. Definición sencilla sólidos. Modelado y simulación de prrocesos de manufacturación (agujerear, cortar, interferencias y colisiones). Geometría Sólido Con nstructiva (CSG). Esquema de representación potente potente. Fácil de manejar por el usuarrio. Poca memoria de almacenam miento. miento Lento para visualización (CSSG puede convertirse internamente a B-rep). p) Geometría Sólido Con nstructiva (CSG). Representación de barrido (sweep) El desplazamiento de un área a lo larrgo de una trayectoria define un nuevo objeto, bj t llamado ll d barrido. b id Dos tipos de desplazamientos: Desplazamiento traslacional o extrrusión. Un área bidimensional desplaazado a lo largo de una trayectoria lineal, normal al plano del árrea, ggenera un volumen. Ejemplo. Un cilindro se puede definir a paartir de una circunferencia, que sería su base. Representación de barrido (sweep) p Desplazamiento rotacional. Rotación de un área respectoo de un eje. De esta manera, se define un cilindro ili d a partir ti dde un recctángulo, tá l tomando t d como eje j dde rotación uno de sus lados. Representación de partición espacial Dividen el espacio en un conjunto de d celdas cúbicas (llamadas voxel. Contracción de las palabras inglesass “elemento de volumen”). – Dibujar un objeto no es más que esstudiar si las celdas están ocupadas (total o parcialmente) o vacías. – En función del grado de ocupación de las celdas, los métodos de ocupación espacial se diferencian enn dos puntos fundamentales: ¿Cómo Có ddividir d ell espacio?. ? ¿Qué hacer cuando se detectaa una celda parcialmente ocupada?. Representación de parrtición espacial Método 1: Enumeración de ocupaación espacial. – Descompone la escena en un númeero prefijado de celdas idénticas dispuestas sobre una malla regular fija. – El tipo más común de celda es el cuubo y la representación del espacio como una matriz t i regular l dde cubos b se denomina d i cuberil. b il – Los objetos se codifican con una lissta única y no ambigua de celdas ocupadas. ocupadas – No existe el concepto de ocupaciónn parcial. Los objetos con superficies cuurvas sólo pueden aproximarse (falta de precisión). Representación de pa artición espacial Método 1: Enumeración de ocupaación espacial. – Únicamente pueden representarse con exactitud objetos cuyas caras son paralelas a los lados del cubo (en ell caso de que las celdas sean cubos) y cuyos y vértices corresponden p a la malla. m – Las celdas ppueden ser tan ppequeñas q s como se desee, ahora bien si aumenta el número de celdas que componenn la malla también aumenta el espacio de almacenamiento. Representación de pa artición espacial Método 1: Enumeración de ocupaación espacial Representación de pa artición espacial Método 2: Árboles de octantes (occtree). – Variante jerárquica de la enumeracción de ocupación espacial, diseñada para optimizar sus exigentes requisitos de almacenamiento. – Máxima: “Divide y vencerás.” – Los L áárboles b l dde octantes se dderivan i dde llos áárboles b l dde cuadrantes, d un formato de representación bidimennsional. – Un árbol de cuadrantes se forma ddividiendo sucesivamente un plano bidimensional en sus dos direccionnes (X,Y) para formar cuadrantes. – Cada cuadrante puede estar lleno, parcialmente lleno o vacío. Representación de pa artición espacial Método 2: Árboles de octantes (octree). – Un cuadrante parcialmente lleno se suubdivide recursivamente en subcuadrantes. Este proceso de división continúa hassta que todos los cuadrantes sean homogéneos, bien llenos o vacíos (nivel de profunddidad). Si 4 cuadrantes hermanos están llenoos o vacíos se eliminan y su padre se reemplaza por un nodo totalmente lleno o vacíoo. Cualquier nodo parcialmente lleno en e la profundidad límite se clasifica como lleno, con lo qque tampoco p existe el conceppto de ocupación p pparcial,, una vez alcanzado el nivel máximo de subdivisión. Representación de pa artición espacial Método 2: Árboles de octantes (octree). – La idea de los árboles de cuadrantes se generaliza de forma sencilla a tres dimensiones utilizando los árboles de octantes. – El árbol de octantes es similar al de cuuadrantes, excepto que aquel subdivide sus tres dimensiones. De esta forma, se obtiene o una descomposición espacial con celdas de distintos tamaños tamaños, pudiendoo realizarse una gestión más eficaz de la memoria. – Se puede demostrar que ue el número dee nodos en una representación del árbol de octantes o de cuadrantes es proporcioonal a la superficie o al perímetro del objeto. La subdivisión de nodos surge exclussivamente por la necesidad de representar la frontera del objeto que se codifica. Representación de pa artición espacial Representación de pa artición espacial Binary Space Partition ning (BSP) tree