34
Graficación Computacional 10: Representaciones de Objectos en 3D

Graficación Computacional 10: Representaciones de Objectos en 3D

Embed Size (px)

Citation preview

Page 1: Graficación Computacional 10: Representaciones de Objectos en 3D

Graficación Computacional 10: Representaciones de Objectos en 3D

Page 2: Graficación Computacional 10: Representaciones de Objectos en 3D

Elevación Ortográfica

Malla de alambre

PlanoOrtográfico

Malla de alambre

Elevación de perfil Ortográfica Malla de alambre

Vista enPerspectiva

Representación por planos ortogonales

Page 3: Graficación Computacional 10: Representaciones de Objectos en 3D

Proyecciones ortogonales consistentes (portada de Gödel, Escher, Bach: An Eternal Golden Braid, de Douglas R. Hofstadter)

Page 4: Graficación Computacional 10: Representaciones de Objectos en 3D

Planos (o cortes) ortogonales

Plano sagittal

Plano coronal (o frontal)

Plano axial, transversal,transaxial o horizontal

Notar diferencias con los planosusados en arquitectura, diseño

Industrial e ingeniería civil.

Plano coronal (o frontal)

Plano axial, transversal,transaxial o horizontal

Plano sagital

Plano coronal (o frontal)

Plano axial, transversal,transaxial o horizontal

Page 5: Graficación Computacional 10: Representaciones de Objectos en 3D

Axial

Sagital Coronal

Page 6: Graficación Computacional 10: Representaciones de Objectos en 3D

Orthogonal slices: Axial (XY), Sagittal(YZ), Coronal (ZX)

X

Y

ZY

Page 7: Graficación Computacional 10: Representaciones de Objectos en 3D

Programas de Modelado 3D - CGIVRMLAutocad3DS Max (Autodesk )MilkshapeMayatrueSpace (Caligari Corporation)BlenderMeshLabLightWave 3DPhotoshop Suite CS4 PremiumSoftimage (Autodesk )Electric Image Animation SystemInventor (Autodesk )LightWave 3D (NewTek)Zbrush (Pixologic)Poser…

Page 8: Graficación Computacional 10: Representaciones de Objectos en 3D

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

Page 9: Graficación Computacional 10: Representaciones de Objectos en 3D

• 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.htmlhttp://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

Page 10: Graficación Computacional 10: Representaciones de Objectos en 3D

Poliedros convexos

Page 11: Graficación Computacional 10: Representaciones de Objectos en 3D

Mallado triangular cerrado = poliedro complejo no convexo

Page 12: Graficación Computacional 10: Representaciones de Objectos en 3D

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.

Page 13: Graficación Computacional 10: Representaciones de Objectos en 3D

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:

En forma paramétrica, con ángulos de latitud y longitud:

2 2 2 20 0 0( ) ( ) ( )x x y y z z r

0

0

0

cos coscos sinsin

x r xy r yz r z

22

Page 14: Graficación Computacional 10: Representaciones de Objectos en 3D

Superficies Cuadráticas: Esferas (cont…)

Y

Z

X

P =( x, y, z )

θ

φr

Centro en el origenCoordenadas esféricas

Page 15: Graficación Computacional 10: Representaciones de Objectos en 3D

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.

Page 16: Graficación Computacional 10: Representaciones de Objectos en 3D

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).

Page 17: Graficación Computacional 10: Representaciones de Objectos en 3D

Variedades con topología singular

Page 18: Graficación Computacional 10: Representaciones de Objectos en 3D

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”

Page 19: Graficación Computacional 10: Representaciones de Objectos en 3D

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 “-”)Otras operaciones pueden obtenerse de combinaciones:

Diferencia simétrica:

*Nota: recordar que

Métodos de Geometría Sólida Constructiva (CSG)

A B (A\B) (B\A) U

U

A B |( A) ( B)A B |( A) ( B)A | ( A) | A

x x xx x x

x x x x

c

Page 20: Graficación Computacional 10: Representaciones de Objectos en 3D

Métodos de Geometría Sólida Constructiva (CSG)

Diferencia

Intersección

“quitar al cubo lo que tiene del cilindro”

Page 21: Graficación Computacional 10: Representaciones de Objectos en 3D

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.

Page 22: Graficación Computacional 10: Representaciones de Objectos en 3D

Métodos de Geometría Sólida Constructiva (cont…)

Objecto

CSG

oper1

obj1 obj2

oper3

obj4 oper2

obj2 obj3

Los modelos CSG son representados como árboles CSG

Page 23: Graficación Computacional 10: Representaciones de Objectos en 3D

Métodos de Geometría Sólida Constructiva (cont…)

Page 24: Graficación Computacional 10: Representaciones de Objectos en 3D

Métodos de Geometría Sólida Constructiva (cont…)

Page 25: Graficación Computacional 10: Representaciones de Objectos en 3D

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.

Page 26: Graficación Computacional 10: Representaciones de Objectos en 3D

Ray-Casting (cont…)

Page 27: Graficación Computacional 10: Representaciones de Objectos en 3D

Ray Casting: Ejemplo

Operación de Conjuntos

Límites de Superficie

UniónIntersecciónDiferencia(obj2 \ obj1)

A,DC,BB,D

Page 28: Graficación Computacional 10: Representaciones de Objectos en 3D

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.

Page 29: Graficación Computacional 10: Representaciones de Objectos en 3D

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 (multi-resolució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.

Page 30: Graficación Computacional 10: Representaciones de Objectos en 3D

Representación Híbrida:Arreglos de ocupación espacial + modelos geométricos

f (x,y,z) =u

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.

Page 31: Graficación Computacional 10: Representaciones de Objectos en 3D

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-castingRendering - recursive reflections, shadows Collision/object detection and CSGPicking 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 flightStereological probes – 2D/3D texture analysis, v.g., Ratio of Extrema Density, MWRDE,…Segmentation guided by radial and sampled profile-signatures Anisothropy analysis

Page 32: Graficación Computacional 10: Representaciones de Objectos en 3D

Bresenham Algorithm(s) Applications

Other Bresenham 3D Applications II:

Spherical or elliptical MIP or Intensity Projection and other projections

Normal projection on a surfaceInternal: Depth and thickness - data projectionExternal/internal: Signed distance field samplingMathematical 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) pathMost of the above applications over curvilinear paths and surfacesGeneralized, geodesic roller buffers.

Page 33: Graficación Computacional 10: Representaciones de Objectos en 3D

Visualización Paramétrica: Mapeo Superficial de Distribuciones de Información Local

n

m, zMapa del espesor del cráneo

Page 34: Graficación Computacional 10: Representaciones de Objectos en 3D

Aplicaciones del Algoritmo de Bresenham

Bresenham 3D – Applications (when traversing discrete space occupancy arrays = voxels):

Z-buffer (or Depth buffer) - mostly for hidden surface removalRay-tracing / Ray-casting

rendering - recursive reflections, shadows collision/object detection and CSG

MIP (Maximum of Intensity Projection)X-Ray simulation = Integrated intensityDisplacement 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 ProjectionNormal projection on a surface

Internal: Depth and thickness - data projectionExternal/internal: Signed distance field samplingMathematical Morphology-related processing/analysis

Extract stereotomical planes (slices at any orientation) – volume resamplingExtract/build (some) discrete ruled surfacesScan 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 surfacesGeneralized, geodesic roller buffers.