340 likes | 561 Views
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.
E N D
GraficaciónComputacional 10:Representaciones de Objectos en 3D
Representación por planos ortogonales Elevación OrtográficaMalla de alambre Elevación de perfil Ortográfica Malla de alambre Plano OrtográficoMalla de alambre Vista en Perspectiva
Proyecciones ortogonales consistentes (portada de Gödel, Escher, Bach: An Eternal GoldenBraid, de Douglas R. Hofstadter)
Planos (o cortes) ortogonales Plano sagittal Plano sagital Plano coronal (o frontal) Plano coronal (o frontal) Plano coronal (o frontal) Plano axial, transversal, transaxial o horizontal Plano axial, transversal, transaxial o horizontal Plano axial, transversal, transaxial o horizontal Notar diferencias con los planos usados en arquitectura, diseño Industrial e ingeniería civil.
Axial Coronal Sagital
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 malladospoligonales • Superficies analíticas: v. g., cuadráticas • Representacionesporbarrido • Métodos de GeometríaSólidaConstructiva(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 caraspoligonales (planas) queconformanunasuperficiecerrada(hay un interior desconectado del exterior). Dichasuperficiepuedepresentaragujeros (comodonas o pretzels) y concavidades. Las caraspoligonales se denominanfacetas. • Los poliedrosregularesson referidoscomoobjetosgráficosestándary usualmente se sobreentiendeque son convexos y de genus 0 (sin concavidadesniagujeros). Unaenciclopedia de poliedrosaparece en: • http://www.georgehart.com/virtual-polyhedra/vp.htmlhttp://bulatov.org/polyhedra/ • Cuando un poliedrotienegrancantidad de caraspoligonales, pasa a denominarsemalladopoligonaly puede ser no convexo. Como cualquierpolígonopuededescomponerse en triángulos, siemprepuedenmanejarsesolamentemalladostriangulares, simplificando la descripción, además de ser siempreplanos. • Diversospaquetes de software permitendefinir superficies curvas, pero al final lasconvierten en mallapoligonalesparadespliegue. • Los poliedros se definenpor los vértices de cadacarapoligonal.
Superficies Cuadráticas • Superficies 3D descritasmedianteecuacionescuadráticas: • Esferas • Elipsoides (o esferoides) • Cilindros (hiperboloidesdegenerados) • Toros (donas) y toroides • Conos • Paraboloides • Hiperboloides • Son un caso especial de las superficies polinomiales o algebraicas, a suvez un caso de las superficies analíticas.
Superficies Cuadráticas - Esferas • Unasuperficieesférica, con radio r y centro en (x0, y0, z0) se define como el conjunto de puntos(x, y, z) quesatisfacen: • En forma paramétrica, con ángulos de latitud y longitud:
Superficies Cuadráticas: Esferas (cont…) Z Centro en el origen Coordenadas esféricas P =( x, y, z ) r φ θ X Y
Representaciones por barrido • Generanobjectos con simetríastranslationales, rotacionales y otrostipos. • Los objetos son especificadoscomounacurva o forma bidimensionaly un barrido(regla de desplazamiento en 3D) quemuevedicha forma a través de unaregión del espacio. • Cuando el barridoes angular (giro de la forma alrededor de un eje), se forma unasuperficie de revolución. • La regla de desplazamientopuede ser unacurva en 3D. • Puedeagregarse un cambio gradual de la forma, a lo largo del barrido (escala, rotación, o cambio de forma). • Si la forma esunarecta, se obtienensuperficies regladas. • Si la forma y la curva son cerradas y la forma inicialcoincidpunto a punto con la forma final, se obtiene un objetocerrado.
RepresentacionesporBarrido– 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).
RepresentacionesporBarrido– 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) • CSGrealizamodelado de sólidos al generar un objeto a partir de operaciones de conjuntos (o lógicas): • Unión U (equivalentementeoperbooleana OR, )* • Intersección(equivantemente AND, ) • Complementoc “negativo” de una forma (cavidades). • Diferencia \ : A\B= A Bc(también se usa “-”) • Otrasoperacionespuedenobtenerse de combinaciones: • Diferenciasimétrica: • *Nota:recordarque U U
Métodos de Geometría Sólida Constructiva (CSG) Diferencia “quitar al cubo lo que tiene del cilindro” Intersección
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…) Objecto CSG oper1 oper3 obj1 obj2 obj4 oper2 obj2 obj3 • Los modelos CSG son representados como árbolesCSG
Ray-Casting • El Ray casting (cast = molde) esunaprueba de intersecciónyse aplicadeterminando los objectosintersectadospor un conjunto de lineasparalelas, emanando del planoXY a lo largo del ejeZ, porcada pixel en XY. Nota: no essinónimo de ray-tracing, aunquepuedeconsiderarsecomovariante de trazado de rayos no recursivo, o de orden “0”, e incluyeotrasfunciones, no siemprerelacionadas con renderizado. • ElRay Castingse usatípicamenteparaimplementaroperadoresCSGcuando los objectos son descritos con representaciones de frontera (boundary) o superficie. • El planoXY se denominaplano de disparo (firing plane). • Ray casting tambien se refiere a técnicas de remoción de superficieoculta, registrandolasinterseccionesmáscercanas. Esto define unaimagen en XYdenominadaZ-buffer.
Ray-Casting (cont…) • Intersecciones a lo largo de cadarayo son calculadas y reordenadas de acuerdo a la distancia al plano de disparo. • Los límites de la superficies para el objetocompuesto son determinadosporlasoperaciones de conjuntoespecificadas. • Los nodos de un árbolCSGpuedenindicarcomponentes (primitivas o piezas), operadores (unión,…) entre lasmismas, o propiedadesmateriales y otras, tales comogrados de libertadparapermitirmovimientosarticulados, porejemplo. • Puedenhaber en la escenadiferentes superficies: poliedros, cuadráticas, funcionesimplí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 (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.
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) = udefine 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 Mapa del espesor del cráneo n
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.