sábado, 12 de octubre de 2013

Unidad 3

Introducción

¿Qué es un gráfico en 3D?




Se llaman gráficos 3D a todos los objetos que se pueden dibujar en un espacio R3: puntos, segmentos, curvas, superficies y varios cuerpos formados por caras poligonales, así como textos y macros.

Gráficos 3D por computadora

El término gráficos 3D por computadora (o por ordenador) se refiere a trabajos de arte gráfico que son creados con ayuda de computadoras y programas especiales. En general, el término puede referirse también al proceso de crear dichos gráficos, o el campo de estudio de técnicas y tecnología relacionadas con los gráficos tridimensionales.
Un gráfico 3D difiere de uno bidimensional principalmente por la forma en que ha sido generado. Este tipo de gráficos se originan mediante un proceso de cálculos matemáticos sobre entidades geométricas tridimensionales producidas en un ordenador, y cuyo propósito es conseguir una proyección visual en dos dimensiones para ser mostrada en una pantalla o impresa en papel.

Creación de gráficos 3D

Fases para la creación de elementos o gráficos tridimensionales:
Modelado

La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena. Existen diversos tipos de geometría para modelador con NURBS y modelado poligonal o subdivisión de superficies. Además, aunque menos usado, existe otro tipo llamado "modelado basado en imágenes" o en inglés image based modeling (IBM). Consiste en convertir una fotografía a 3D mediante el uso de diversas técnicas, de las cuales, la más conocida es la fotogrametría cuyo principal impulsor es Paul Debevec. Modelado de superficies este no tiene curvas en calculadas en cada linea ejemplo SketchUp.




Iluminación
Creación de luces de diversos tipos puntuales, direccionales en área o volumen, con distinto color o propiedades. Esto es la clave de una animación.
Gran parte de la iluminación en 3D requiere del entendimiento físico de la luz en la realidad, este entendimiento puede ir desde lo más básico en el tema como por ejemplo el concepto de iluminación global hasta comportamientos complejos y extraños de la luz como la dispersión en superficies y subsuperficies.



Iluminación global
En Graficos por computadora, la Iluminación Global, Iluminación indirecta, o GI (Global Ilumination), se conoce a un conjunto de algoritmos que tratan de simular o aproximar, como la luz emitida por alguna fuente, rebota en cada superficie de la escena iluminando espacios que la luz directa producida por la fuente no alcanzaría a iluminar. Los primeros Algoritmos de Iluminación indirecta buscaban simular la luz como fotones, de ahi uno de los algoritmos mas implementados es el llamado Photon Map, existen otros algoritmos como el de Quasi Montecarlo, o algoritmos basados en Irradiance Caching, que dependiendo del motor de render con el que se trabaja tienen nombres diferentes e implementaciónes propias.




Animación
Los objetos se pueden animar en cuanto a:
Transformaciones básicas en los tres ejes (XYZ), rotación, escala y traslación.
Forma:
Mediante esqueletos: a los objetos se les puede asignar un esqueleto, una estructura central con la capacidad de afectar la forma y movimientos de ese objeto. Esto ayuda al proceso de animación, en el cual el movimiento del esqueleto automáticamente afectará las porciones correspondientes del modelo.
Mediante deformadores: ya sean cajas de deformación (lattices) o cualquier deformador que produzca, por ejemplo, una deformación sinusoidal.
Dinámicas: para simulaciones de ropa, pelo, dinámicas rígidas de objeto.
La animación es muy importante dentro de los gráficos porque en estas animaciones se intenta imitar a la realidad misma; por esto es un trabajo que usualmente requiere muchas horas.

Renderizado
Mediante el renderizado se consiguen imágenes realistas.
Se llama renderización al proceso final de generar la imagen 2D o animación a partir de la escena creada. Esto puede ser comparado a tomar una foto o en el caso de la animación, a filmar una escena de la vida real. Generalmente se buscan imágenes de calidad fotorrealista, y para este fin se han desarrollado muchos métodos especiales. Las técnicas van desde las más sencillas, como el rénder de alambre (wireframe rendering), pasando por el rénder basado en polígonos, hasta las técnicas más modernas como el scanline rendering, el trazado de rayos, la radiosidad o el mapeado de fotones.
El software de rénder puede simular efectos cinematográficos como el lens flare, la profundidad de campo, o el motion blur (desenfoque de movimiento). Estos artefactos son, en realidad, un producto de las imperfecciones mecánicas de la fotografía física, pero como el ojo humano está acostumbrado a su presencia, la simulación de dichos efectos aportan un elemento de realismo a la escena. Se han desarrollado técnicas con el propósito de simular otros efectos de origen natural, como la interacción de la luz con la atmósfera o el humo. Ejemplos de estas técnicas incluyen los sistemas de partículas que pueden simular lluvia, humo o fuego, el muestreo volumétrico para simular niebla, polvo y otros efectos atmosféricos, y las cáusticas para simular el efecto de la luz al atravesar superficies refractantes.
El proceso de rénder necesita una gran capacidad de cálculo, pues requiere simular gran cantidad de procesos físicos complejos. La capacidad de cálculo se ha incrementado rápidamente a través de los años, permitiendo un grado superior de realismo en los rénders. Los estudios de cine que producen animaciones generadas por ordenador hacen uso, en general, de lo que se conoce como render farm (granja de rénder) para acelerar la producción de fotograficas.



Representación de objetos en tres dimensiones




Objeto tridimensional
Cualquier objeto tridimensional puede representarse como un conjunto de superficies poligonales planas. Una representación de un polígono ofrece a una descripción aproximada del objeto.
Cada polígono de un objeto puede especificarse en paquetes de gráficas mediante comando de líneas o de llenado de área para definir las coordenada del vértice. Los paquetes CAD a menudo permiten a los usuarios introducir posiciones para el vértice conjunto con frontera de polígonos con métodos interactivos.

Tabla de poligono
Una vez que el usuario haya definido cada superficie de polígono, el paquete de gráfica organiza los datos de entrada en las tablas que se utilizaran en el procesamiento y despliegue de las superficies. Los datos de la tabla contiene las propiedades geométricas y de atributos del objeto, organizadas para facilitar el procedimiento. Las tablas de datos geométricos contienen coordenada y parámetros de fronteras para identificar la orientación en el espacio de las superficies poligonales.
Un método adecuado para almacenar información de coordenadas consiste en crear 3 listas:
Tabla de vértices
Tabla de aristas
Tabla de polígonos

Tabla de vertices
V1:  X1,Y1,Z1
V2:  X2,Y2,Z2
V3:  X3,Y3,Z3
V4:  X4,Y4,Z,4
V5:  X5,Y5,Z5,

Tabla de aristas
E1:  V1,V2
E2:  V2,V3
E3:  V3,V4
E4:  V4,V5
E5:  V4,V5
E6:  V5,V6

Tabla de poligonos
       S1:  E1,E2,E3
       S2:  E2,E4,E5,E6

Algunas de las pruebas que podría realizar un paquete de gráficas son:

1.- Que todos y cada uno de los vértices se en listen como un extremo de cuanto menos 2 líneas
2.- Que toda línea sea parte cuando menos de un polígono.
3.- Que todo polígono sea cerrado
4.- Que cada polígono tenga al menos una arista compartida.
5.- Si la tabla de aristas contiene apuntadores a polígonos, que toda arista referenciada por un  apuntador de polígonos que tenga un apuntador recíproco hacia el polígono.
   
Ecuaciones de planos
Los parámetros que especifican la orientación espacial de cada polígono se obtienen de los valore ordenados de los vértices y de las ecuaciones que se definen de los planos poligonales. Estos parámetros de planos se utilizan en transformaciones de visión, modelo de sombreado, algoritmos de superficies ocultas que determinan líneas y planos que se traslapan a lo largo de la línea de visión.
La ecuación de una superficie plana puede expresarse así:

Ax  + By + Cz + D = 0

Donde (x,y,z) es cualquier punto del plano. Los coeficientes A,B,C,D son constantes que pueden calcularse utilizando los valores coordenados de tres puntos no colineales en el plano.



Transformaciones en 3D



La manera más fácil de conseguir las transformaciones básicas (traslación, rotación,  escalación, en general las transformaciones afines) es utilizando matrices de  transformación.

Con ligeros cambios a las matrices, se pueden combinar para conseguir que una sola matriz resultante nos sirva para varias de estas transformaciones.

El utilizar coordenadas homogéneas nos ayudará a obtener este efecto. Comenzaremos explicando cómo se utilizan para conseguir transformaciones en 2 dimensiones y, posteriormente, veremos las transformaciones en 3 dimensiones.

Coordenadas homogéneas 1

Nos será útil sustituír las coordenadas (x, y) por las coordenadas (xh, yh, h), llamadas coordenadas homogéneas, donde


Existe un número finito de representaciones homogéneas equivalentes para cada punto de coordenadas (x, y) seleccionando un valor no cero para h.

Por conveniencia, escogeremos h = 1, con lo que cada posición bidimensional se representará con las coordenadas homogéneas (x, y, 1).

Expresar posiciones en coordenadas homogéneas nos permite representar todas las ecuaciones de transformación geométrica como multiplicaciones de matriz. Se representan las coordenadas con vectores de columna de 3 elementos y las operaciones de transformación se expresan como matrices de 3 por 3. Para la traslación de un punto (x, y, 1) una distancia tx en x y una distancia ty en y, obtenemos:



Transformaciones compuestas

Esta representación nos permite “combinar” varias transformaciones en una, multiplicando las diferentes matrices de transformación, por ejemplo, el efecto de trasladar un objeto cierta distancia T (tx1, ty1), girarlo un cierto ángulo R(θ) y volverlo a trasladar a su posición inicial T2 (-tx1, -ty1), se consigue multiplicando cada uno de sus puntos P (x, y, 1) de la manera siguiente:

donde P’ es el vector columna que representará al punto resultante y T, R y T2 son las matrices de transformación correspondientes:

Lo que sería lo mismo que multiplicar al punto P por la matriz M obtenida el combinar las tres matrices:



Traslación

En la representación homogénea tridimensional de las coordenadas, se traslada un punto de la posición P = (x, y, z) a la posición P’ = (x’, y’, z’) con la operación de matriz

P’ = T x P (2.8)

donde P y P’ son vectores columna como matrices, la matriz


y tx, ty y tz especifican las distancias de traslación en x, y y z

x’ = x + tx
y’ = y + ty
z’ = z + tz

Rotación


Para generar una transformación de rotación, debemos designar un eje de rotación respecto del cual girará el objeto, y la cantidad de rotación angular, es decir, un ángulo
(θ). Una rotación tridimensional se puede especificar alrededor de cualquier línea en el espacio. Los ejes de rotación más fáciles de manejar son aquellos paralelos a los ejes de coordenadas.

Los ángulos de rotación positiva producen giros en el sentido opuesto a las manecillas del reloj con respecto al eje de una coordenada, si el observador se encuentra viendo a lo largo de la mitad positiva del eje hacia el origen de coordenadas.

La matriz de rotación respecto al eje z se especifica como (3.11)

La matriz de rotación respecto al eje x se especifica como (3.12)
Y la matriz de rotación respecto al eje y se especifica como (3.13)


Se forma una matriz de rotación inversa al sustituír el ángulo de rotación θ por –θ. Los valores negativos para los ángulos de rotación generan rotaciones en una dirección en el sentido del reloj, de modo que se produce la matriz identidad cuando se multiplica cualquier matriz de rotación por su inverso2.

Escalación

La matriz para la transformación de escalación de una posición P = (x, y, z) con respecto del origen de las coordenadas se puede escribir como (3.14)

Donde ex, ey, y ez pueden tener cualquier valor positivo (valores de escalación en cada uno de los ejes, si estos no son iguales, se cambian las dimensiones relativas en el objeto).

La escalación con respecto a una posición fija seleccionada se puede obtener con la siguiente secuencia de transformación:

1. Se traslada el punto fijo al origen.
2. Se escala el objeto con respecto al origen.
3. Se traslada el punto fijo a su posición original.




Líneas y Superficies Curvas


La necesidad de representar curvas y superficies proviene de modelar objetos representar objetos reales. Normalmente no existe un modelo matemático previo del objeto, y el objeto se aproxima con “pedazos” de planos, esferas y otras formas simples de modelar, requiriéndose que los puntos del modelo sean cercanos a los correspondientes puntos del objeto real.

Los despliegues de líneas y superficies curvas tridimensionales se pueden generar a partir de un conjunto de entrada de funciones matemáticas que definen los objetos o de un conjunto de untos de datos específicos para el usuario. Cuando las funciones se especifican, un paquete puede proyectar las ecuaciones de definición para una curva hacia el plano de despliegue y trazar las posiciones de pixel a lo largo de la trayectoria de la función proyectada.

La representación no paramétrica de una curva puede ser implícita y = f(x) o bien explícita, f(x, y) = 0

La forma implícita no puede ser representada con curvas multivaluadas sobre x, mientras que la forma explícita puede requerir utilizar criterios adicionales para especificar la curva cuando la ecuación tiene más soluciones de las deseadas.

De igual manera la representación paramétrica tiene la forma P(t) = ( x(t), y(t) )T t1 <= t <= t2
La derivada o vector tangente es P’ (t) = ( x’(t), y’(t) )T

El parámetro t puede reemplazarse mediante operaciones de cambio de variable, y frecuente se normaliza de modo que t1 = 0 y t2 = 1. Aunque geométricamente la curva aparece equivalente, una operación de este tipo normalmente modifica el comportamiento de la curva.

Los métodos más eficientes para determinar la visibilidad de objetos con superficies curvas son la proyección de rayos y los métodos vasados en el árbol octal.



 Método de proyección de rayos
Si consideramos la línea de cisión que atraviesa la escena partiendo de una posición de pixel en el plano de visualización. Podemos determinar que objeros de una escena intersectan dicha línea (si es que hay alguna). Después de calcular todas las intersecciones entre el rayo y las superficies, identificaremos la superficie visible como aquella cuyo punto de intersección este más próximo al pixel.

Métodos de árboles octales
Cuando se utiliza una representación de árbol octal para el volumen de visualización, la identificación de las superficies visibles se lleva a acabo explorando los nodos del árbol octal en orden de parte frontal a parte trasera.

Líneas
Los gráficos de líneas se muestran una serie como conjunto de puntos conectados mediante una línea. Los valores se representan por el alto de los puntos con relación al eje Y. las etiquetas de las categorías se representan en el eje X. los gráficos de líneas suelen utilizarse para comparar valores a lo largo del tiempo. Existen dos tipos de líneas: líneas  y líneas suavizadas.

Un gráfico de líneas muestra las series como líneas rectas individuales, como punto de datos por cada categoría. El valor determina el alto de cada punto de datos.

Un gráfico de líneas suavizadas presenta las series como líneas separadas. Las líneas son curvas, en lugar de rectas. El valor determina el alto de cada columna.






Conclusión:
La graficación en 2D y en 3D tienen las mismas bases en común los dos tipos de graficación utilizan como medios de transformación, a la escalación, la rotación y la traslación estos son básicamente las formas en las que podemos manipular este tipo de imágenes y objetos.

También esta unidad nos sirvió para conocer nuevos conceptos como los paso para crear una imagen en 3D empezando desde el modelado, la luz, la luz global, animación, y como paso final la renderización la cual puede ser en tiempo real y en no tiempo real.
En conclusión toda imagen que sea creada  por medio de un ordenar  y tenga características de volumen se considera como una imagen en 3D ademas de las formas en la  que se generan las lineas y las curvas en la graficación en 3D así como las distintas formas en las que se puede generar como lo son el metodo de proyección de rayos y octales.

El objetivo de crear imágenes en 3D es crear una realidad virtual en donde se logre crear imágenes lo mas reales posible lo mas acercados a la realidad para poder crear con ellas, videojuegos por ejemplo, videoclips, cortometrajes etc.






Bibliografía:

No hay comentarios:

Publicar un comentario