Modelado de Sólidos

Anuncio
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
Descargar