UNIDAD 3


3.1.-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 POLÍGONO
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






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.


3.2 VISUALIZACIÓN DE OBJETOS  

No cabe duda de que la representación tridimensional del territorio abre nuevas posibilidades en el ámbito geográfico. Pero el 3D por sí solo no está justificado. 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 2D                                         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 angulo 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:
[xpyp  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.




3.3 TRANSFORMACIONES TRIDIMENSIONALES


MÉTODO DE TRASLACIÓN

En una representación coordenada homogénea tridimensional, un punto es trasladado (fig.11.1) de la posición (x,y,z) a la posición  (x’,y’,z’) con la Operación matricial.

 
[x´,y´,z´,1]=[x, y, z, 1]

               (11.1) 

Los parámetros Tx, Ty, Tz, que especifican distancias de traslación para las coordenadas, reciben la asignación  de cualquier valor real. La representación matricial de la ecuación 11.1 es equivalente a las tres ecuaciones

        x’ =x + Tx,   y’ = y + Ty,  z’ =z + Tz

Un objetivo se traslada en tres dimensiones transformando cada punto definidor del objeto. La traslación de un objeto representada como un conjunto de superficies poligonales se efectúa trasladando los valores coordenados para cada vértice de cada superficie. El conjunto de posiciones coordenadas trasladadas de los vértices define entonces la nueva posición del objeto.






MÉTODO DE ESCALACIÓN

Operación matricial.

 [x´,y´,z´,1]=[x, y, z, 1]  




Los parámetros de escalaciónSx,  Sy,  Sz, se les asigna asignación cualquier valor positivo.

Cuando la transformación 11-3 se aplica para definir puntos en un objeto, el objeto se escala y se desplaza en relación con el origen coordenado. 





MÉTODO DE ROTACIÓN

Para especificar una transformación de rotación de un objeto, se debe designar un eje de rotación (en torno al cual se hará girar el objeto) y la cantidad de rotación angular. En aplicaciones bidimensionales, el eje de rotación siempre es perpendicular al plano xy. En tres dimensiones, un eje de rotación puede tener cualquier orientación espacial.los ejes de rotación más fáciles de manejar son aquellos que son paralelos a los ejes coordenados. Asimismo, podemos valernos de las rotaciones en torno a los tres ejes coordenados con el fin de producir una rotación en torno a cualquier eje de rotación especificado en forma arbitraria.
Las direcciones de rotación positivas en torno a los ejes coordenados son en sentido contrario al del reloj, como se observa a lo largo de la posición positiva de cada eje en dirección del origen.

Operación matricial de rotación en el eje Z
El parámetro Ѳ especifica el ángulo de rotación.

[x´,y´,z´,1]=[x, y, z, 1]




Imagen que muestra la rotación de un objeto en torno al eje Z.



Operación matricial de rotación en el eje X

[x´,y´,z´,1]=[x, y, z, 1]



  





Operación matricial de rotación en el eje y

[x´,y´,z´,1]=[x, y, z, 1]









  






REPRESENTACIÓN EN UN GRÁFICA 3D DE LOS TRES MÉTODOS ANTERIORES:




3.4 LINEAS Y SUPERFICIES CURVAS


LINEAS

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 linea trazada solo puede aproximar posiciones de lineas reales entre los puntos extremos especificados.

Una linea recta debe dibujarse como una sucesión de pixeles.

Efecto de escalera que se produce cuando se genera una linea como una serie de pixeles .













TRASFORMAR PRIMITIVAS EN PIXELES

Las coordenadas de los pixeles deben estar lo mas cerca posible de una linea recta real.

Un algoritmo debe cumplir con:
*La secuencia de pixeles debe ser lo mas recta que se pueda.
*Las lineas deben tener el mismo grosor e intensidad sin importar el grado de inclinación.
*Las lineas deben dibujarse lo mas rápido posible.


ALGORITMOS PARA TRAZO DE LINEAS

ALGORITMO DDA

El analizador diferencial digital(DDA) es un algoritmo que sirve para calcular posiciones de pixeles a lo largo de una linea, 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.




  
ATRIBUTOS DE LAS PRIMITIVAS DE SALIDA

Estilo de lineas
*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.

Tipo de linea

Los atributos de linea incluye las lineassolidas,lineas punteadas con lineas y punteadas.

El método setStrokeStyle permite cambiar el estilo de linea.

Este método acepta los siguientes valores:
a)  Graphics.SOLID - lineasolida
b)  Graphics.DOTTED- linea de puntos

                                                       GRAPHICS 2D SETSTROKE


Un objeto basicstroke contiene información sobre la anchura de la linea, estilo de uniones, estilos finales, y estilo de punteado.Esta información se usa cuando se dibuja una Shape  con el método DRAW.

La anchura de linea es la longitud de la linea medida  perpendicularmente a su trayectoria. La anchura de la linea se especifica como un valor float en las unidades de coordenadas de usuario, que es equivalente 1/72 pulgadas cuando se utiliza la tranformacion por defecto.

Nota:
Para rellenar o puntear un gráfico primitivo,necesitamos hacer dos llamadas separadas a métodos  fill o drawString para rellenar el interior y draw para dibujar el exterior.

PATRÓN DE RELLENO
Los patrones de relleno están definidos por el atributo Paint en el contexto Graphics2d. Para seleccionar el atributo paint, se crea un ejemplar de un objecto que implemente el interface paint y eso pasa dentro del método Graphics2d .


Cuando un sistema ofrece sistemas de color (o bien de intensidad) un parámetro que da el indice de color regular se incluye en la lista de valores de atributos del sistema.




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 linea 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 mas propicia de las curvas para las aplicaciones de las gráficas es en términos de ecuaciones parametricas.








REPRESENTACIONES DE "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 computo 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 B-spline

Son las mas utilizadas en la practica:

1.-b-splines cuadraticos: fuentes True Type.

2.-b-splens cubicos: los mas comunes en programas de diseño gráfico.

En general, no pasa por ningun punto de control (ni siquiera los extremos) , aunque se pude forzar que lo haga.

Principales ventajas sobre las curvas de Bezier:

1.Es de grado acotado (aun definida por n puntos)

2. Sobre todo, mas apropiada para el diseño interactivo: mas "suaves", control local.



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.


Curvas lineales( grado 1)

·                     Solo dos puntos de control (P0,P1).
·                     Son lineas rectas.
·                     Podemos recorrer la curva con un parametro  t є [0,1] que recorre la recta de P0 a P1.

La curva viene dada por la expresión: 

 B(t)=P0+(P1-P0) t=(1-t) P0+tP1, t  є  [0,1] .


La t en la función para curva lineal de Bezier se puede considerar como un descriptor de  cuan lejos esta B(t) de P0 a P1. Por ejemplo cuando T= 0.25, B(t) es un cuarto de la longitud entre el punto P0 y el punto P1. Como t varia entre 0 y 1 , B(t) describe una linea recta de P0 a P1.







Curvas cuadráticas (grado 2)
·                     Tres puntos de control (P0, P1 y P2).
·                     Se construyen dos curvas lineales de Bezier entre P0-P1 y P1-P2.
·                     Se construye una tercera curva lineal de Bezier entre las dos anteriores.
·                     El t que recorre esta tercera recta, forma nuestra curva.

Una curva cuadrática de Bezier es el camino trazado por función  B(t), dado los puntos: P0,P1 y  P2, 

B(t)=(1-t)^2  P0 +2t (1-t) P1+t^2 P2,t є  [0,1] .


Para curvas cuadráticas se pueden construir puntos intermedios desde Q0 a Q1  tales que t varia de 0 a 1:

·                     Punto Q0 varia de P0 a P1 y describe una curva lineal de Bezier.
·                     Punto Q1 varia de P1 a P2 y describe una curva lineal de Bezier.
·                     Punto B(t) varia de Q0 a Q1 y describe una curva cuadrática de Bezier.










Propiedades de Bezier.

1.           El grado de la base de polinomios es uno menos que la cantidad de puntos de control.
2.           El primer y ultimo punto de la curva coincide con  el primer y ultimo punto del grafo de control.
3.           El vector tangente en los extremos de la curva tiene la misma dirección que el primer y ultimo segmento del grafo de control respectivamente.
4.           El tiene control global.


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.



No hay comentarios:

Publicar un comentario