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