Graficación Computacional 10:
Representaciones de Objectos en 3D
Representación por planos ortogonales
Elevación
Ortográfica
Malla de alambre
Elevación de perfil
Ortográfica
Malla de alambre
Plano
Ortográfico
Malla de alambre
Vista en
Perspectiva
Proyecciones ortogonales consistentes (portada de Gödel, Escher, Bach:
An Eternal Golden Braid, de Douglas R. Hofstadter)
Planos (o cortes) ortogonales
Plano
Plano sagittal
sagital
Plano coronal (o frontal)
Plano axial, transversal,
transaxial o horizontal
Notar diferencias con los planos
usados en arquitectura, diseño
Industrial e ingeniería civil.
Axial
Sagital
Coronal
Orthogonal slices:
Axial (XY), Sagittal(YZ), Coronal (ZX)
ZY
X
Y
Programas de Modelado 3D - CGI
VRML
Autocad
3DS Max (Autodesk )
Milkshape
Maya
trueSpace (Caligari Corporation)
Blender
MeshLab
LightWave 3D
Photoshop Suite CS4 Premium
Softimage (Autodesk )
Electric Image Animation System
Inventor (Autodesk )
LightWave 3D (NewTek)
Zbrush (Pixologic)
Poser
…
Modelado en 3D mediante
– Poliedros y mallados poligonales
– Superficies analíticas: v. g., cuadráticas
– Representaciones por barrido
– Métodos de Geometría Sólida Constructiva
(CSG).
Las técnicas para representar datos 3D, pueden constituir
más bien procesos de restauración y menos de modelado
(que podría no preservar detalles de interés). Entonces se
denominan en su conjunto: Reconstrucción 3D
Poliedros
•
Conjuntos de caras poligonales (planas) que conforman una
superficie cerrada (hay un interior desconectado del exterior).
Dicha superficie puede presentar agujeros (como donas o pretzels) y
concavidades. Las caras poligonales se denominan facetas.
•
Los poliedros regulares son referidos como objetos gráficos
estándar y usualmente se sobreentiende que son convexos y de
genus 0 (sin concavidades ni agujeros). Una enciclopedia de
poliedros aparece en:
http://www.georgehart.com/virtual-polyhedra/vp.html
http://bulatov.org/polyhedra/
•
Cuando un poliedro tiene gran cantidad de caras poligonales, pasa a
denominarse mallado poligonal y puede ser no convexo. Como
cualquier polígono puede descomponerse en triángulos, siempre
pueden manejarse solamente mallados triangulares, simplificando la
descripción, además de ser siempre planos.
•
Diversos paquetes de software permiten definir superficies curvas,
pero al final las convierten en malla poligonales para despliegue.
•
Los poliedros se definen por los vértices de cada cara poligonal.
Poliedros convexos
Mallado triangular cerrado = poliedro complejo no convexo
Superficies Cuadráticas
Superficies 3D descritas mediante ecuaciones cuadráticas:
– Esferas
– Elipsoides (o esferoides)
– Cilindros (hiperboloides degenerados)
– Toros (donas) y toroides
– Conos
– Paraboloides
– Hiperboloides
• Son un caso especial de las superficies polinomiales o algebraicas, a
su vez un caso de las superficies analíticas.
Superficies Cuadráticas - Esferas
Una superficie esférica, con radio r y centro en (x0, y0, z0) se
define como el conjunto de puntos (x, y, z) que satisfacen:
( x  x0 )  ( y  y 0 )  ( z  z 0 )  r
2
2
2
2
En forma paramétrica, con ángulos de latitud y longitud:
x  r cos  cos   x 0
y  r cos  sin   y 0
z  r sin   z 0

2
 
   
2
Superficies Cuadráticas: Esferas (cont…)
Z
Centro en el origen
Coordenadas esféricas
P =( x, y, z )
r
φ
θ
X
Y
Representaciones por barrido
• Generan objectos con simetrías translationales, rotacionales y otros tipos.
• Los objetos son especificados como una curva o forma bidimensional
y un barrido (regla de desplazamiento en 3D) que mueve dicha forma a
través de una región del espacio.
• Cuando el barrido es angular (giro de la forma alrededor de un eje), se
forma una superficie de revolución.
• La regla de desplazamiento puede ser una curva en 3D.
• Puede agregarse un cambio gradual de la forma, a lo largo del barrido
(escala, rotación, o cambio de forma).
• Si la forma es una recta, se obtienen superficies regladas.
• Si la forma y la curva son cerradas y la forma inicial coincid punto a punto
con la forma final, se obtiene un objeto cerrado.
Representaciones por Barrido – Ejemplos I
Eje de
Rotación
Un hiperboloide (derecha) es a la vez superficie cuadrática, de
revolución y reglada (líneas inclinadas en un barrido circular).
Variedades con topología singular
Representaciones por Barrido – Ejemplos II
Si se tiene una pila de siluetas
distintas (por ejemplo, los contornos
extraídos de un conjunto de imágenes
de cortes seriados de tomografía,
RMN, etc), entonces se forma un
objeto 3D al construir las caras
laterales, uniendo por ejemplo vértices
cercanos en contornos contiguos,
formando un mallado triangular.
Algunos autores llaman a esta
categoría cilindros generalizados. El
mallado debe resolver cómo unir
múltiples contornos por plano (por
ejemplo: ramificaciones).
“Efecto Shawarma”
Métodos de Geometría Sólida Constructiva (CSG)
CSG realiza modelado de sólidos al generar un objeto a
partir de operaciones de conjuntos (o lógicas):
Unión U (equivalentemente oper booleana OR, )*
Intersección
(equivantemente AND,  )
Complemento c  “negativo” de una forma (cavidades).
Diferencia \ : A\B= A Bc (también se usa “-”)
U
U
–
–
–
–
Otras operaciones pueden obtenerse de combinaciones:
Diferencia simétrica:
A  B  (A \ B )
(B \ A )
 A B   x | ( x  A )  ( x  B )

*Nota: recordar que  A B   x | ( x  A )  ( x  B )
 A c   x |  ( x A )    x | x A 

Métodos de Geometría Sólida Constructiva
(CSG)
“quitar al cubo lo que tiene del cilindro”
Métodos de Geometría Sólida Constructiva
(cont…)
CSG usa un conjunto pequeño de primitivas: bloques,
pirámides, esferas y conos
Objetos sencillos (piezas) se forman mediante las
operaciones de conjuntos (o también: como operaciones
lógicas o booleanas).
Las piezas o componentes pueden formar a su vez otros
objetos más complejos (como en un mecano), permitiendo
articular partes y formando una jerarquía.
El proceso continúa hasta completar el modelado.
Métodos de Geometría Sólida Constructiva
(cont…)
Los modelos CSG
son representados
como árboles CSG
Objec
to
CSG
oper1
obj1
oper3
obj2
obj4
oper2
obj2
obj3
Métodos de Geometría Sólida Constructiva
(cont…)
Métodos de Geometría Sólida Constructiva (cont…)
Ray-Casting
El Ray casting (cast = molde) es una prueba de intersección y se aplica
determinando los objectos intersectados por un conjunto de lineas
paralelas, emanando del plano XY a lo largo del eje Z, por cada pixel en
XY. Nota: no es sinónimo de ray-tracing, aunque puede considerarse
como variante de trazado de rayos no recursivo, o de orden “0”, e
incluye otras funciones, no siempre relacionadas con renderizado.
El Ray Casting se usa típicamente para implementar operadores CSG
cuando los objectos son descritos con representaciones de frontera
(boundary) o superficie.
El plano XY se denomina plano de disparo (firing plane).
Ray casting tambien se refiere a técnicas de remoción de superficie
oculta, registrando las intersecciones más cercanas. Esto define una
imagen en XY denominada Z-buffer.
Ray-Casting (cont…)
Ray Casting: Ejemplo
Operación de
Conjuntos
Límites de
Superficie
Unión
Intersección
Diferencia
(obj2 \ obj1)
A,D
C,B
B,D
Ray-Casting (cont…)
•
Intersecciones a lo largo de cada rayo son calculadas y
reordenadas de acuerdo a la distancia al plano de
disparo.
•
Los límites de la superficies para el objeto compuesto
son determinados por las operaciones de conjunto
especificadas.
•
Los nodos de un árbol CSG pueden indicar
componentes (primitivas o piezas), operadores
(unión,…) entre las mismas, o propiedades materiales y
otras, tales como grados de libertad para permitir
movimientos articulados, por ejemplo.
•
Pueden haber en la escena diferentes superficies:
poliedros, cuadráticas, funciones implícitas, splines, etc.
Ray-Casting
Tres estrategias:
Contínua: se calculan las intersecciones de cada rayo analíticamente o con
cada polígono de cada objeto en la escena. Barrido rápido en modelos
geométricos (no es aplicable Bresenham).
Discreta: Usando representaciones de ocupación espacial, el rayo recorre
voxel por voxel hasta hallar uno ocupado; el atributo incluye características
del objeto. Barrido lento, aún con Bresenham, y ocupa mucha memoria, pero
es posible realizar el ray-casting sobre objetos arbitrariamente complejos,
incluyendo fractales.
Híbrida: Uso de arreglos de ocupación espacial jerárquicos (multiresolución, o también mediante octrees); los voxeles a resolución intermedia
contienen lista de objetos allí presentes (o funciones), sobre los que se
calculan las intersecciones como en la estrategia continua, o bien, contienen
arreglos de ocupación espacial a la máxima resolución.
Representación Híbrida:
Arreglos de ocupación espacial + modelos geométricos
El atributo del voxel a resolución intermedia (recorrido discreto), en vez de ser
un escalar o vector, es un apuntador (dirección) a una lista de diversos objetos:
por ejemplo triángulos o polígonos de un mallado, parte de una curva analítica,
una primitiva geométrica (cubo), un punto y una función escalar implícita tal que
f(x,y,z) = u define una isosuperficie. Alternativamente, el apuntador es a un
volumen discreto a mayor resolución.
f (x,y,z) =u
Bresenham Algorithm(s) Applications
Other Bresenham 3D Applications (besides tracing discrete lines and curves
and when traversing discrete space occupancy arrays = voxels):
Z-buffer – multi Z-buffers for 3D reconstructs. from projections w occlusions (laser scaner)
Ray-tracing / Ray-casting
Rendering - recursive reflections, shadows
Collision/object detection and CSG
Picking by boundary detection of non-explicit object representations.
MIP (Maximum of Intensity Projection)  X-Ray simulation = Integrated intensity
Other functions of ray path memory  Volume Rendering, 3D transfer functions
Displacement of discrete image operators (discrete neighborhoods and window kernels).
Profile sampling – volume analysis on the flight
Stereological probes – 2D/3D texture analysis, v.g., Ratio of Extrema Density, MWRDE,…
Segmentation guided by radial and sampled profile-signatures
Anisothropy analysis
Bresenham Algorithm(s) Applications
Other Bresenham 3D Applications II:
Spherical or elliptical MIP or Intensity Projection and other projections
Normal projection on a surface
Internal: Depth and thickness - data projection
External/internal: Signed distance field sampling
Mathematical Morphology-related processing/analysis
Extract stereotomical planes (slices at any orientation) – volume resampling
Extract/build (some) discrete ruled surfaces, and other non-linear paths and surfaces
Scan volume in any orientation (linear)
Roller buffers (sliding windows -incremental neighborhoods) for analysis (histograms,
texture, etc).
Any (discrete) path
Most of the above applications over curvilinear paths and surfaces
Generalized, geodesic roller buffers.
Visualización Paramétrica: Mapeo Superficial de
Distribuciones de Información Local
m, z
n
Mapa del espesor del cráneo
Aplicaciones del Algoritmo de Bresenham
Bresenham 3D – Applications (when traversing discrete space occupancy arrays =
voxels):
Z-buffer (or Depth buffer) - mostly for hidden surface removal
Ray-tracing / Ray-casting
rendering - recursive reflections, shadows
collision/object detection and CSG
MIP (Maximum of Intensity Projection)
X-Ray simulation = Integrated intensity
Displacement of discrete image operators (discrete neighborhoods and window kernels).
Profile sampling – volume analysis
Stereology probe – 2D/3D texture analysis, v.g., Ratio of Extrema Density, MWRDE,…
Segmentation guided by radial and sampled profile-signatures
Anisothropy analysis
Spherical, elliptical MIP and Intensity Projection
Normal projection on a surface
Internal: Depth and thickness - data projection
External/internal: Signed distance field sampling
Mathematical Morphology-related processing/analysis
Extract stereotomical planes (slices at any orientation) – volume resampling
Extract/build (some) discrete ruled surfaces
Scan volume in any orientation (linear)
Roller buffers (sliding windows -incremental neighborhoods) for analysis (histograms, texture, etc).
Any (discrete) path
Most of the above applications over curvilinear paths and surfaces
Generalized, geodesic roller buffers.
Descargar

Brian*s Graphics Lectures