sábado, 12 de octubre de 2013
CONCLUSIÓN UNIDAD 3.
El estudio de este tema nos ha revelado mucho sobre las bases de los gráficos en 3D, y ver como es posible la formación de imágenes 3D parte de imágenes bidimensionales. También vemos que el proceso de modelado de imágenes tridimensionales trata, fundamentalmente, de la creación de la estructura geométrica de los objetos en la memoria del ordenador y la subsiguiente construcción de superficies.
Y sobre todo en la actualidad varias tecnologías han tenido un gran cambio gracias a los graficos 3D ya que lo podemos ver ampliamente utilizado para la generación de imágenes, llegando a su máximo exponente en diseño, animaciones, realidad virtual, el cine y los videojuegos.
Transformaciones en 2D con multiplicaciones de matrices (Escalación, Traslación, Rotación y Reflexión).
El siguiente programa muestra las transformaciones que se le pueden dar a un dibujo en 2D utilizando coordenadas homogéneas. En el siguiente programa se manipula un triangulo, un gato y un helicóptero. Las transformaciones se llevan a cabo utilizando matrices de coordenadas y matrices de transformación dependiendo de la transformación(escalación, traslación, rotación y reflexión) que se vaya a hacer.
Programa En C++ Para Transformaciones.
LINEAS Y SUPERFICIES CURVAS.
Líneas.
La recta es una sucesión infinita o continua de puntos a lineados en una sola dirección. Es una de las primitivas gráficas en computación gráfica viene dada por la ecuación y= m.x+b , donde m es la pendiente de la recta y v es el corte con el eje y.
Como los pixeles se grafican en posiciones enteras, la línea trazada solo puede aproximar posiciones de línea reales entre los puntos extremos especificados.
Una línea recta debe dibujarse como una sucesión de pixeles.
Efecto de escalera que se produce cuando se genera una línea como una serie de pixeles .
Trasformar primitivas en pixeles.
Las coordenadas de los pixeles deben estar lo más cerca posible de una línea recta real.
Un algoritmo debe cumplir con:
*La secuencia de pixeles debe ser lo más recta que se pueda.
*Las líneas deben tener el mismo grosor e intensidad sin importar el grado de inclinación.
*Las líneas deben dibujarse lo más rápido posible.
Algoritmos para trazo de líneas
Algoritmo DDA,
El analizador diferencial digital(DDA) es un algoritmo que sirve para calcular posiciones de pixeles a lo largo de una línea, mediante el uso de la ecuación.
Las coordenadas de los pixeles deben estar lo más cerca posible de una línea recta real.
Un algoritmo debe cumplir con:
*La secuencia de pixeles debe ser lo más recta que se pueda.
*Las líneas deben tener el mismo grosor e intensidad sin importar el grado de inclinación.
*Las líneas deben dibujarse lo más rápido posible.
Algoritmos para trazo de líneas
Algoritmo DDA,
El analizador diferencial digital(DDA) es un algoritmo que sirve para calcular posiciones de pixeles a lo largo de una línea, mediante el uso de la ecuación.
∆y=m.∆x
Ecuación básica de la recta y=m.x+b
m es la pendiente y v es la intersección con el eje y.
Algoritmo de bresenham
Calcula cual de dos pixeles es el mas cercano a la trayectoria de una linea.
El pixel x(i),y(i) se divide en (xi+1,yi)(xi+1,yi+1) hay que decidir cual pintar calculando la distancia vertical entre el centro de cada pixel y la linea real.
Las posiciones de los pixeles se representan por las áreas rectangulares numeradas.
Sección de una retícula de la pantalla donde se desplegara una linea que pasara por:
(Xi,Yi)
Atributos de las primitivas de salida
Estilo de líneas
*Los atributos de estilo de linea determinan la forma en que se desplegara una linea por medio de una rutina de trazo de lineas. Los atributos de linea son su tipo,su anchura y su color.
Superficies curvas
Los despliegues tridimensionales de las superficies curvas pueden generarse a partir de un conjunto de entrada de las funciones matemáticas que define la superficies o bien a partir de un conjunto de puntos de datos especificados por el usuario. Cuando se especifican funciones de curvas, un paquete puede emplear las ecuaciones definidoras para localizar y gráfica posiciones de pixeles a lo largo de la trayectoria de la curva, casi igual como sucede con las curvas en dos dimensiones. Un ejemplo de la clase de superficies que pueden generarse a partir de una definición funcional seda en la figura. A partir de un conjunto de datos de entrada, un paquete determina las descripciones funcionales de la curva que mejor se ajusta a los puntos de datos según las restricciones de la aplicación En la figura 1.7 se muestra un objeto cuya superficies curvas pueden ser definidas por un conjunto de entrada de punto de datos.
Podemos representar una linea curva tridimensional en forma analítica con la pareja de funciones.
y=f(x), z=g(x)
Con la coordenada x seleccionada como variable independiente, los valores de las variables dependientes y,z se determinan después a partir de las ecuaciones 1.6 a medida que se avanza a través de valores de x de un extremo de la línea al otro. Esta representación tiene algunas desventajas. Si se desea una gráfica alisada, se debe cambiar la variable independiente siempre que la primera derivada (pendiente) de f(x) o bien g (x) se vuelve mayor que 1.Esto significa que se debe verificar continuamente los valores de las derivadas, que pueden volverse infinitas en algunos puntos. Así mismo, las ecuaciones anteriores ofrecen un formato desproporcionado para representar funciones con valores múltiples. Una representación más propicia de las curvas para las aplicaciones de las gráficas es en términos de ecuaciones paramétricas.
Ecuaciones parametricas.
Mediante la introducción de un curto parámetro, u, en la descripción coordenada de una curva, se puede expresar cada una de las tres coordenadas cartesianas en forma paramétrica. Cualquier punto de la curva puede representarse entonces por medio de la función vectorial.
p(u)=(x(u),y(u),z(u))
Por lo general, las ecuaciones paramétricas se constituyen de manera que el parámetro se define en el intervalo de 0 a 1.
También son posibles otras formas paramétricas para describir circunferencias y arcos circulares.
En el caso de una curva arbitraria, puede ser difícil idear un conjunto de ecuaciones paramétricas que definen completamente la forma de la curva. Pero cualquier curva puede aproximarse utilizando diferentes conjuntos de funciones paramétricas, sobre partes diferentes de la curva. Por lo general estas aproximaciones se forman con funciones polinomiales. Dicha construcción por partes de una curva debe implantarse cuidadosamente para asegurar de que haya transición sencilla de una sección de la curva a la siguiente. La uniformidad de una curva puede describirse a partir de la continuidad de la curva entre las secciones. La continuidad de orden 0 se refiere simplemente a que las curvas se interceptan. Continuidad de primer orden significa que las líneas tangentes (primeras derivadas) de dos secciones adyacentes de la curva son la misma en el punto de adyacencia.
Continuidad de segundo orden quiere decir que las curvaturas (segundas derivadas) de las dos secciones de la curva son la misma en la intersección. La figura 1.8 muestra ejemplos de los tres órdenes de continuidad.
En aplicaciones de diseño, una curva o superficie a menudo se define especificando interactivamente un conjunto de puntos de control, los cuales indican la forma de la curva. Estos puntos de control son usados por el paquete para formal ecuaciones paramétricas polinomiales para desplegar la curva definida, cuando la curva desplegada pasa a través de los punto de control, como en la figura 1.10 se dice que interpola los puntos de control.
Por otro lado, se dice que los puntos de control se aproximan si la curva desplegada pasa cerca de ellos (fig 1.11).Existen muchas técnicas para constituir ecuaciones paramétricas polinomiales de curvas y superficies, dada las coordenadas de los puntos de control. Entre los métodos básicos para desplegar curvas específicas con punto de control se incluyen las formulaciones de Bezier y "Spline".
Un spline es una curva diferenciable definida en porciones mediante polinomios. Para el ajuste de curvas, los splines se utilizan para aproximar formas complicadas.
La simplicidad de la representación y la facilidad de cómputo de los splines los hacen oculares para la representación de curvas en informática particularmente en el terreno de los gráficos por ordenador.
Curvas y Superficies De BEZIER.
Pierre Bezier, ingeniero francés desarrollo este método de aproximación de spline para utilizarlo en el diseño de carrocerías de los automóviles Renault. Las spline de Bezier tienen varias propiedades que hacen que sean muy útiles y convenientes para el diseño de curvas y superficies. Así mismo,es fácil implementarla.Por esos motivos las splines de Bezier están disponibles en forma común en varios sistemas de CAD, en paquetes generales de gráficas y en paquetes seleccionados de dibujo y pintura.
Curvas de Bezier
En general,es posible ajustar una curva de bezier para cualquier numero de puntos de control.el numero de puntos de control que se debe aproximar y su posición relativa determina el grado de polinomio de Bezier.
La idea de definir geometricamente las formas no es demasiado compleja:un punto del plano puede definirse por coordenadas.Por ejemplo, un conjunto A tiene unas coordenadas(x1, y1) y aun punto B le corresponde (x2, y2).para trazar una recta entre ambos basta con conocer su posición.
Si en lugar de unir dos puntos con una recta se unen con una curva,surgen los elementos esenciales de una curva Bezier: los puntos se denominan puntos de anclaje o nodos.La forma de la curva se define por unos puntos invisibles en el dibujo,denominados puntos de control,manejadores o manecillas.
La simplicidad de la representación y la facilidad de cómputo de los splines los hacen oculares para la representación de curvas en informática particularmente en el terreno de los gráficos por ordenador.
Curvas y Superficies De BEZIER.
Pierre Bezier, ingeniero francés desarrollo este método de aproximación de spline para utilizarlo en el diseño de carrocerías de los automóviles Renault. Las spline de Bezier tienen varias propiedades que hacen que sean muy útiles y convenientes para el diseño de curvas y superficies. Así mismo,es fácil implementarla.Por esos motivos las splines de Bezier están disponibles en forma común en varios sistemas de CAD, en paquetes generales de gráficas y en paquetes seleccionados de dibujo y pintura.
Curvas de Bezier
En general,es posible ajustar una curva de bezier para cualquier numero de puntos de control.el numero de puntos de control que se debe aproximar y su posición relativa determina el grado de polinomio de Bezier.
La idea de definir geometricamente las formas no es demasiado compleja:un punto del plano puede definirse por coordenadas.Por ejemplo, un conjunto A tiene unas coordenadas(x1, y1) y aun punto B le corresponde (x2, y2).para trazar una recta entre ambos basta con conocer su posición.
Si en lugar de unir dos puntos con una recta se unen con una curva,surgen los elementos esenciales de una curva Bezier: los puntos se denominan puntos de anclaje o nodos.La forma de la curva se define por unos puntos invisibles en el dibujo,denominados puntos de control,manejadores o manecillas.
Desventajas de las curvas de Bezier.
Para grafos de control complejos(formados por muchos puntos)
1. El grado de la base es elevado
2. Tienden a suavizar demasiado la geometría del grafo de control
3. Se tornan insensibles a pequeños cambios locales.El desplazamiento de un solo punto de control casi no produce efecto en la curva
4. El control global provoca que el desplazamiento de un solo punto de control modifique a toda la curva.
Aplicaciones de la curva de Bezier.
Las curvas de Bezier han sido ampliamente usadas en los gráficos generados por ordenador para modelado de curvas suaves. como la curva está completamente contenida en la envolvente convexa de los puntos de control, dichos puntos pueden ser suavizados gráficamente sobre el área de trabajo y usados para manipular la curva de una forma muy intuitiva. Las transformaciones afines tales como traslación y rotación pueden ser aplicadas con gran facilidad a las curvas, aplicando las transformaciones respectivas sobre los puntos de control.
Bibliografía.
CREAR UNA IMAGEN 3D MEDIANTE UNA ÚNICA LENTE Y SIN MOVER LA CÁMARA.
Se ha conseguido desarrollar una asombrosa técnica que permite a fotógrafos y microscopistas crear una imagen 3D usando una sola lente y sin mover la cámara.
Esta nueva tecnología se basa sólo en computación y matemáticas, y no en un hardware inusual o en lentes de complejidad extrema. El efecto sería equivalente a ver con un ojo cerrado una imagen con la percepción de profundidad que se lograría con los dos ojos abiertos.
Captar detalles tridimensionales mirando con solo un ojo, es muy difícil, tal como expone, a modo de ejemplo, Kenneth B. Crozier, del equipo de investigación. Se hace difícil percibir la profundidad con un ojo cerrado. El ojo se puede enfocar en una cosa u otra, pero a menos que también se mueva la cabeza de un lado a otro, es difícil percibir correctamente las distancias relativas de los objetos. Si la visión está fija en un punto, como cuando se realiza una observación mediante un microscopio, resulta un problema difícil.
Una vía alternativa para esquivar este obstáculo es la que ha seguido el equipo de Crozier y Antony Orth, de la Escuela de Ingeniería y Ciencias Aplicadas (SEAS), adscrita a la Universidad de Harvard, y ubicada en Cambridge, Massachusetts, Estados Unidos. En esencia, se trata de calcular, mediante un software especial, cómo la imagen se vería si hubiera sido tomada desde un ángulo diferente. Para ello, el equipo se basa en las pistas que quedan codificadas en los haces de luz que entran en la cámara.
La luz que llega a cada píxel viene en un cierto ángulo, y ello brinda información importante. Las cámaras más avanzadas poseen todo tipo de nuevo hardware que puede registrar la dirección de la luz, lo cual permite hacer algunas cosas muy interesantes, como tomar una foto y enfocarla luego, o cambiar un poco la perspectiva visual. Eso está muy bien, pero la pregunta que los investigadores se plantearon fue: ¿Podemos obtener parte de esa funcionalidad con una cámara común, sin añadir ningún tipo de hardware adicional?
La clave, según encontraron, es inferir el ángulo de la luz en cada píxel, en vez de medirlo directamente (algo que los sensores de imagen convencionales no serían capaces de hacer). La solución del equipo es tomar con la cámara dos imágenes desde la misma posición, pero enfocadas a profundidades diferentes. Las ligeras diferencias entre estas dos imágenes proporcionan información suficiente para que un ordenador cree matemáticamente una imagen completamente nueva, como si se hubiera movido la cámara hacia un lado.
Combinando estas dos imágenes en una animación, Crozier y Orth bridan una vía mediante la cual fotógrafos aficionados y microscopistas pueden crear la impresión de una imagen con profundidad, sin tener que usar un hardware costoso.
Esta nueva tecnología se basa sólo en computación y matemáticas, y no en un hardware inusual o en lentes de complejidad extrema. El efecto sería equivalente a ver con un ojo cerrado una imagen con la percepción de profundidad que se lograría con los dos ojos abiertos.
Captar detalles tridimensionales mirando con solo un ojo, es muy difícil, tal como expone, a modo de ejemplo, Kenneth B. Crozier, del equipo de investigación. Se hace difícil percibir la profundidad con un ojo cerrado. El ojo se puede enfocar en una cosa u otra, pero a menos que también se mueva la cabeza de un lado a otro, es difícil percibir correctamente las distancias relativas de los objetos. Si la visión está fija en un punto, como cuando se realiza una observación mediante un microscopio, resulta un problema difícil.
Kenneth Crozier. (Foto: Eliza Grinnell, Harvard SEAS)
Una vía alternativa para esquivar este obstáculo es la que ha seguido el equipo de Crozier y Antony Orth, de la Escuela de Ingeniería y Ciencias Aplicadas (SEAS), adscrita a la Universidad de Harvard, y ubicada en Cambridge, Massachusetts, Estados Unidos. En esencia, se trata de calcular, mediante un software especial, cómo la imagen se vería si hubiera sido tomada desde un ángulo diferente. Para ello, el equipo se basa en las pistas que quedan codificadas en los haces de luz que entran en la cámara.
La luz que llega a cada píxel viene en un cierto ángulo, y ello brinda información importante. Las cámaras más avanzadas poseen todo tipo de nuevo hardware que puede registrar la dirección de la luz, lo cual permite hacer algunas cosas muy interesantes, como tomar una foto y enfocarla luego, o cambiar un poco la perspectiva visual. Eso está muy bien, pero la pregunta que los investigadores se plantearon fue: ¿Podemos obtener parte de esa funcionalidad con una cámara común, sin añadir ningún tipo de hardware adicional?
La clave, según encontraron, es inferir el ángulo de la luz en cada píxel, en vez de medirlo directamente (algo que los sensores de imagen convencionales no serían capaces de hacer). La solución del equipo es tomar con la cámara dos imágenes desde la misma posición, pero enfocadas a profundidades diferentes. Las ligeras diferencias entre estas dos imágenes proporcionan información suficiente para que un ordenador cree matemáticamente una imagen completamente nueva, como si se hubiera movido la cámara hacia un lado.
Combinando estas dos imágenes en una animación, Crozier y Orth bridan una vía mediante la cual fotógrafos aficionados y microscopistas pueden crear la impresión de una imagen con profundidad, sin tener que usar un hardware costoso.
VISUALIZACIÓN DE OBJETOS.
Las acciones para la navegación por una escena tridimensional son más complejas que las necesarias para la navegación en un plano. Cada aplicación de software ha resuelto de manera distinta, la manera de controlar la elevación, rotación y cabeceo del punto de vista, lo que requiere un aprendizaje por parte del usuario. Además, el tiempo real de las escenas exige más cantidad de recursos, tanto de cálculo como de datos.
La representación tridimensional es conveniente cuando la visualización de una tercera magnitud, típicamente la elevación del terreno, resulta útil para la interpretación de los datos que se quieren mostrar. Se presentan a continuación algunos de los usos más comunes.
GRAFICACION 3D
Proyecciones.
Existen dos métodos básicos para proyectar objetos tridimensionales sobre una superficie de visión bidimensional. Todos los puntos del objeto pueden proyectarse sobre la superficie a lo largo de líneas paralelas o bien los puntos pueden proyectarse a lo largo de las líneas que convergen hacia una posición denominada centro de proyección. Los dos métodos llamados proyección en paralelo y proyección en perspectiva, respectivamente, se ilustran. En ambos casos, la intersección de una línea de proyección con la superficie de visión determinada las coordenadas del punto proyectado sobre este plano de proyección. Por ahora, se supone que el plano de proyección de visión es el plano z = 0 de un sistema de coordenadas del izquierdo.
Proyección en paralelo.
Una proyección en paralelo preserva dimensionar relativas de los objetos y esta es la técnica que se utiliza en dibujo mecánico para producir trazos a escala de los objetos en las dimensiones. Este método sirve para obtener vistas exactas de varios lados de un objeto, pero una proyección en paralelo no ofrece una presentación realista del aspecto de un objeto tridimensional.
Las vistas formadas con proyecciones en paralelo se pueden caracterizar de acuerdo con el ángulo que la dirección de proyección forma con el plano de proyección. Cuando la dirección de proyección es perpendicular al plano de proyección, se tiene una proyección ortogonal. Una proyección que no es perpendicular al plano se denomina proyección oblicua.
Proyección ortogonal.
La Proyección ortogonal es aquella cuyas rectas proyectantes auxiliares son perpendiculares al plano de proyección (o a la recta de proyección), estableciéndose una relación entre todos los puntos del elemento proyectante con los proyectados.
Existen diferentes tipos:
Vista A: Vista frontal o alzado
Vista B: Vista superior o planta
Vista C: Vista derecha o lateral derecha
Vista D: Vista izquierda o lateral izquierda
Vista E: Vista inferior
Vista F: Vista posterior
Las ecuaciones de transformación parea efectuar una proyección paralela ortogonal son directas. Para cualquier punto (x, y, z), el punto de proyección (Xp, Yp, Zp) sobre la superficie de visión se obtiene como Xp=X, Yp=y, Xp=0.
Proyección oblicua.
Es aquella cuyas rectas proyectantes auxiliares son oblicuas al plano de proyección, estableciéndose una relación entre todos los puntos del elemento proyectante con los proyectados.
Una proyección Oblicua se obtiene proyectando puntos a lo largo de líneas paralelas que no son perpendiculares al plano de proyección. La figura muestra una proyección oblicua de un punto (x, y, z) por una línea de proyección a la posición (xp, Yp).
Proyecciones perspectiva.
Para obtener una proyección en perspectiva de un objeto tridimensional, se proyectan puntos a lo largo de líneas de proyección se interceptan en el de centro de proyección.
En el centro de proyección está en el eje z negativo a una distancia d detrás del plano de proyección. Puede seleccionarse cualquier posición para el centro de proyección, pero la elección de una posición a lo largo del eje z simplifica los cálculos en las ecuaciones de transformación.
Podemos obtener las ecuaciones de transformaciones de una proyección en perspectiva a partir de las ecuaciones paramétricas que describen la línea de proyección de esta línea.
X’ = x –xu
Y’ = y- yu
Z’ = z-(z + d) u
El parámetro u toma los valores de 0 a 1 y las coordenadas (x’, y’, z’) representan cualquier posición situada a lo largo de la línea de proyección. Cuando u = 0.
Las ecuaciones producen el punto P en las coordenadas (x, y, z). En el otro extremo de la línea u = 1 y se tienen las coordenadas del centro de proyección, (0, 0,-d). Para obtener las coordenadas en el plano de proyección. Se hace z’ = 0 y se resuelven para determinar el parámetro u:
Este valor del parámetro u produce la interacción de la línea de proyección con el plano de proyección en (xp, yp, 0). Al sustituir las ecuaciones, se obtienen las ecuaciones de transformación de perspectiva.
Mediante una representación en coordenadas homogéneas tridimensionales, podemos escribir la transformación de la perspectiva en forma matricial.
Las coordenadas de proyección en el plano de proyección se calculan a partir de las coordenadas homogéneas como:
[xp yp zp 1] = [xh/w yh/w zh/w 1]
Cuando un objeto tridimensional se proyecta sobre un plano mediante ecuaciones de transformaciones de perspectiva, cualquier conjunto de líneas paralelas del objeto que no sean paralelas al plano se proyectan en líneas convergentes.
La representación tridimensional es conveniente cuando la visualización de una tercera magnitud, típicamente la elevación del terreno, resulta útil para la interpretación de los datos que se quieren mostrar. Se presentan a continuación algunos de los usos más comunes.
GRAFICACION 3D
Proyecciones.
Existen dos métodos básicos para proyectar objetos tridimensionales sobre una superficie de visión bidimensional. Todos los puntos del objeto pueden proyectarse sobre la superficie a lo largo de líneas paralelas o bien los puntos pueden proyectarse a lo largo de las líneas que convergen hacia una posición denominada centro de proyección. Los dos métodos llamados proyección en paralelo y proyección en perspectiva, respectivamente, se ilustran. En ambos casos, la intersección de una línea de proyección con la superficie de visión determinada las coordenadas del punto proyectado sobre este plano de proyección. Por ahora, se supone que el plano de proyección de visión es el plano z = 0 de un sistema de coordenadas del izquierdo.
Proyección en paralelo.
Una proyección en paralelo preserva dimensionar relativas de los objetos y esta es la técnica que se utiliza en dibujo mecánico para producir trazos a escala de los objetos en las dimensiones. Este método sirve para obtener vistas exactas de varios lados de un objeto, pero una proyección en paralelo no ofrece una presentación realista del aspecto de un objeto tridimensional.
Las vistas formadas con proyecciones en paralelo se pueden caracterizar de acuerdo con el ángulo que la dirección de proyección forma con el plano de proyección. Cuando la dirección de proyección es perpendicular al plano de proyección, se tiene una proyección ortogonal. Una proyección que no es perpendicular al plano se denomina proyección oblicua.
Proyección ortogonal.
La Proyección ortogonal es aquella cuyas rectas proyectantes auxiliares son perpendiculares al plano de proyección (o a la recta de proyección), estableciéndose una relación entre todos los puntos del elemento proyectante con los proyectados.
Existen diferentes tipos:
Vista A: Vista frontal o alzado
Vista B: Vista superior o planta
Vista C: Vista derecha o lateral derecha
Vista D: Vista izquierda o lateral izquierda
Vista E: Vista inferior
Vista F: Vista posterior
Las ecuaciones de transformación parea efectuar una proyección paralela ortogonal son directas. Para cualquier punto (x, y, z), el punto de proyección (Xp, Yp, Zp) sobre la superficie de visión se obtiene como Xp=X, Yp=y, Xp=0.
Proyección oblicua.
Es aquella cuyas rectas proyectantes auxiliares son oblicuas al plano de proyección, estableciéndose una relación entre todos los puntos del elemento proyectante con los proyectados.
Una proyección Oblicua se obtiene proyectando puntos a lo largo de líneas paralelas que no son perpendiculares al plano de proyección. La figura muestra una proyección oblicua de un punto (x, y, z) por una línea de proyección a la posición (xp, Yp).
Proyecciones perspectiva.
Para obtener una proyección en perspectiva de un objeto tridimensional, se proyectan puntos a lo largo de líneas de proyección se interceptan en el de centro de proyección.
En el centro de proyección está en el eje z negativo a una distancia d detrás del plano de proyección. Puede seleccionarse cualquier posición para el centro de proyección, pero la elección de una posición a lo largo del eje z simplifica los cálculos en las ecuaciones de transformación.
Podemos obtener las ecuaciones de transformaciones de una proyección en perspectiva a partir de las ecuaciones paramétricas que describen la línea de proyección de esta línea.
X’ = x –xu
Y’ = y- yu
Z’ = z-(z + d) u
El parámetro u toma los valores de 0 a 1 y las coordenadas (x’, y’, z’) representan cualquier posición situada a lo largo de la línea de proyección. Cuando u = 0.
Las ecuaciones producen el punto P en las coordenadas (x, y, z). En el otro extremo de la línea u = 1 y se tienen las coordenadas del centro de proyección, (0, 0,-d). Para obtener las coordenadas en el plano de proyección. Se hace z’ = 0 y se resuelven para determinar el parámetro u:
Este valor del parámetro u produce la interacción de la línea de proyección con el plano de proyección en (xp, yp, 0). Al sustituir las ecuaciones, se obtienen las ecuaciones de transformación de perspectiva.
Mediante una representación en coordenadas homogéneas tridimensionales, podemos escribir la transformación de la perspectiva en forma matricial.
Las coordenadas de proyección en el plano de proyección se calculan a partir de las coordenadas homogéneas como:
[xp yp zp 1] = [xh/w yh/w zh/w 1]
Cuando un objeto tridimensional se proyecta sobre un plano mediante ecuaciones de transformaciones de perspectiva, cualquier conjunto de líneas paralelas del objeto que no sean paralelas al plano se proyectan en líneas convergentes.
Bibliografía.
TRANSFORMACIONES TRIDIMENSIONALES.
Qué son las transformaciones tridimensionales.
Tres dimensiones. En computación, las tres dimensiones son el largo, el ancho y la profundidad de una imagen. Técnicamente hablando el único mundo en 3D es el real, la computadora sólo simula gráficos en 3D, pues, en definitiva toda imagen de computadora sólo tiene dos dimensiones, alto y ancho (resolución).
En la computación se utilizan los gráficos en 3D para crear animaciones, gráficos, películas, juegos, realidad virtual, diseño, etc.
Creación de gráficos en 3d.
El proceso de la creación de gráficos tridimensionales comienza con un grupo de fórmulas matemáticas y se convierte en un gráfico en 3D. Las fórmulas matemáticas (junto con el uso de objetos externos, como imágenes para las texturas) describen objetos poligonales, tonalidades, texturas, sombras, reflejos, transparencias, translucidez, refraxiones, iluminación (directa, indirecta y global), profundidad de campo, desenfoques por movimiento, ambiente, punto de vista, etc. Toda esa información constituye un modelo en 3D.
Para la visualización de un objeto 3D, se requieren 3 pasos:
• En primer lugar se necesita una base de datos con las coordenadas (x,y,z) de los vértices y además los polígonos que forman el objeto.
• En segundo lugar el objeto primero se rota y luego se traslada hasta la localización adecuada, con lo que se obtienen unas nuevas coordenadas (x,y,z) para los vértices.
• Finalmente, se eliminan los polígonos que no son visibles por el observador, se aplica la perspectiva y se dibuja el objeto en la pantalla.
Sistemas de coordenadas.
• Una escena 3D se define por los puntos, líneas y planos que la componen
• Necesitamos un sistema para poder referenciar las coordenadas, al igual que ocurría en 2 dimensiones
• Hace falta un tercer eje, Z, perpendicular al
X y al Y
• Cualquier punto se describe entonces como una terna de valores (x, y, z)
• Para el sentido del eje Z se usa la regla de la mano derecha.
Transformaciones 3-d.
· Son extensiones de las transformaciones en dos dimensiones.
·
En el caso 2D teníamos inicialmente matrices 2x2, pero eso sólo nos permitía operaciones del tipo.
Por eso pasamos a matrices 3x3, utilizando coordenadas homogéneas.
Por tanto, en 3-D, aplicando la misma regla, habrá que pasar a matrices 4x4
Representación matricial de transformaciones tridimensionales.
Las transformaciones geométricas tridimensionales permiten construir escenarios en tres dimensiones a partir de primitivas geométricas simples (esfera, cubo, cono, cilindro, etc). En concreto, las transformaciones de traslación, escalado y rotación son indispensables para esta tarea y constituyen un punto muy importante en la materia.
El tema pretende mostrar una traslación, un escalado o una rotación sobre una primitiva geométrica en tres dimensiones. Por ejemplo, si se desea hacer algo tan simple como girar un cubo un ángulo dado alrededor de un eje de coordenadas resulta muy complicado de explicar mediante dibujos 2D que sólo muestren la situación inicial y final del cubo, y que no muestran como el cubo sufre dicha transformación y porqué la situación final es la que es.
Las transformaciones geométricas 3D que se estudian son tres en concreto: traslación, escalado y rotación.
Así como las transformaciones bidimensionales se pueden representar con matrices de 3 X 3 usando coordenadas homogéneas, las transformaciones tridimensionales se pueden representar con matrices de 4 X 4, siempre y cuando usemos representaciones de coordenadas homogéneas de los puntos en el espacio tridimensional.
Es por eso que las transformaciones geométricas tridimensionales que se estudian son tres en concreto: traslación, escalado y rotación.
Traslación.
Nos permitirá cambiar la posición de un objeto, moviéndolo en línea recta desde una posición inicial a la posición final.
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. Consiste en cambiar el tamaño de un objeto.
Rotación.
Para generar una transformación de rotación, debemos designar un eje de rotación respecto del cual girara 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.
Tres dimensiones. En computación, las tres dimensiones son el largo, el ancho y la profundidad de una imagen. Técnicamente hablando el único mundo en 3D es el real, la computadora sólo simula gráficos en 3D, pues, en definitiva toda imagen de computadora sólo tiene dos dimensiones, alto y ancho (resolución).
En la computación se utilizan los gráficos en 3D para crear animaciones, gráficos, películas, juegos, realidad virtual, diseño, etc.
Creación de gráficos en 3d.
El proceso de la creación de gráficos tridimensionales comienza con un grupo de fórmulas matemáticas y se convierte en un gráfico en 3D. Las fórmulas matemáticas (junto con el uso de objetos externos, como imágenes para las texturas) describen objetos poligonales, tonalidades, texturas, sombras, reflejos, transparencias, translucidez, refraxiones, iluminación (directa, indirecta y global), profundidad de campo, desenfoques por movimiento, ambiente, punto de vista, etc. Toda esa información constituye un modelo en 3D.
Para la visualización de un objeto 3D, se requieren 3 pasos:
• En primer lugar se necesita una base de datos con las coordenadas (x,y,z) de los vértices y además los polígonos que forman el objeto.
• En segundo lugar el objeto primero se rota y luego se traslada hasta la localización adecuada, con lo que se obtienen unas nuevas coordenadas (x,y,z) para los vértices.
• Finalmente, se eliminan los polígonos que no son visibles por el observador, se aplica la perspectiva y se dibuja el objeto en la pantalla.
Sistemas de coordenadas.
• Una escena 3D se define por los puntos, líneas y planos que la componen
• Necesitamos un sistema para poder referenciar las coordenadas, al igual que ocurría en 2 dimensiones
• Hace falta un tercer eje, Z, perpendicular al
X y al Y
• Cualquier punto se describe entonces como una terna de valores (x, y, z)
• Para el sentido del eje Z se usa la regla de la mano derecha.
Transformaciones 3-d.
· Son extensiones de las transformaciones en dos dimensiones.
·
En el caso 2D teníamos inicialmente matrices 2x2, pero eso sólo nos permitía operaciones del tipo.
Por eso pasamos a matrices 3x3, utilizando coordenadas homogéneas.
Por tanto, en 3-D, aplicando la misma regla, habrá que pasar a matrices 4x4
Representación matricial de transformaciones tridimensionales.
Las transformaciones geométricas tridimensionales permiten construir escenarios en tres dimensiones a partir de primitivas geométricas simples (esfera, cubo, cono, cilindro, etc). En concreto, las transformaciones de traslación, escalado y rotación son indispensables para esta tarea y constituyen un punto muy importante en la materia.
El tema pretende mostrar una traslación, un escalado o una rotación sobre una primitiva geométrica en tres dimensiones. Por ejemplo, si se desea hacer algo tan simple como girar un cubo un ángulo dado alrededor de un eje de coordenadas resulta muy complicado de explicar mediante dibujos 2D que sólo muestren la situación inicial y final del cubo, y que no muestran como el cubo sufre dicha transformación y porqué la situación final es la que es.
Las transformaciones geométricas 3D que se estudian son tres en concreto: traslación, escalado y rotación.
Así como las transformaciones bidimensionales se pueden representar con matrices de 3 X 3 usando coordenadas homogéneas, las transformaciones tridimensionales se pueden representar con matrices de 4 X 4, siempre y cuando usemos representaciones de coordenadas homogéneas de los puntos en el espacio tridimensional.
Es por eso que las transformaciones geométricas tridimensionales que se estudian son tres en concreto: traslación, escalado y rotación.
Traslación.
Nos permitirá cambiar la posición de un objeto, moviéndolo en línea recta desde una posición inicial a la posición final.
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. Consiste en cambiar el tamaño de un objeto.
Rotación.
Para generar una transformación de rotación, debemos designar un eje de rotación respecto del cual girara 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.
Bibliografía.
REPRESENTACIÓN DE OBJETOS EN TRES DIMENSIONES.
Ambigüedad del modelo de alambres
• La representación de un objeto 3D a través de un modelo de alambres puede ser visualmente ambiguo.
Heterogeneidad de los objetos 3D.
Representación geométrica.
La representación geométrica en 3D es el pilar de:
· La computación gráfica.
· Visualización.
· Robótica.
· CAD.
· VRML, X3D, OpenInventor son algunos de los lenguajes que definen una representación 3D de la geometría.
· Estructuras de datos v/s algoritmos.
Tipos de representación:
· Datos brutos.
· Nube de puntos.
· Rango imagen.
· Conjunto de polígonos.
Superficies:
· Mallas.
· Subdivisión.
· Paramétricas.
· Implícitas
Sólidos:
· Voxeles.
· Árboles BSP.
· CSG.
· Sweep.
Estructuras de alto nivel:
· Modelo jerárquico.
· Esqueleto.
· Específico a la aplicación.
Nube de puntos.
Conjunto de puntos no estructurados.
Rango Imagen.
· Conjunto de puntos 3D que mapean los pixeles y la profundidad de la imagen.
· Scanner 3D.
Conjunto de polígonos.
· Conjunto no estructurado de polígonos.
· Creados de un modelador interactivo.
Mallas.
Conjunto de polígonos conectados:
· Por lo general son triángulos.
· La superficie puede estar abierta.
Subdivisión de la superficie.
• Refinamiento de la malla, manteniendo la suavidad.
Superficies paramétricas.
• Generalización de las curvas de spline a superficies.
Voxels.
• El objeto es representado por un conjunto uniforme de celdas.
– Paralelepípedos (cubos unitarios)
– Tetraedros
– pirámides
(Un paréntesis).
• Geometría: Información que contiene los parámetros que definen el objeto:
– Ejemplo: Los vértices
• Topología: Describe la conectividad entre las componentes, esto es, la información que relaciona las distintas partes del objeto.
Árboles BSP:
· División recursiva del espacio en sub-espacios separados por un plano de posición y orientación arbitrarias.
Termina cuando los sub-espacios son homogéneos (se convierten en hojas del árbol).
Constructive Solid Geometry: CSG.
· Composición jerárquica de objetos (simples) a través de operaciones de:
– Unión
– Intersección
– Diferencia
Sweep:
· Término usado para crear objetos 3D mediante el barrido de una forma (objeto) 2D en el espacio.
– Extrude: barrido de la forma en una sola dirección
– Lathe: barrido en un arco alrededor de un eje
– Path Extrude/Sweep: barrido de la forma por un camino arbitrario
Extrude:
· Ejemplo de extrude de un circulo.
· Ejemplo de Lathe.
Sweeping:
· Similar a Lathe, donde además se definen otros parámetros:
– Número de rotaciones
– Escalamiento
– Movimiento vertical.
Modelos jerárquicos.
Conjunto de objetos, llamados nodos, almacenados en un árbol.
Skeleton:
· Grafo de curvas con radio/volumen.
Bibliografía:
Suscribirse a:
Entradas (Atom)