UNIDAD 3


GRAFICACION EN 3D

3.1 REPRESENTACION DE OBJETOS EN TRES DIMENSIONES

La representación de los objetos en tres dimensiones sobre una
Superficie plana, de manera que ofrezcan una sensación de volumen se llama
Perspectiva. Se representan los objetos sobre tres ejes XYZ. En el eje Z,
Se representa la altura. En el eje Y, se representa la anchura y en el eje X,
Se representa la longitud.
Los distintos tipos de perspectivas dependen de la inclinación de los
Planos Los sistemas más utilizados son la isométrica, la caballera y la cónica.
Estudiaremos en este curso las dos primeras.

Perspectiva Isométrica. En ella los ejes quedan separados por un mismo
Ángulo (120º). Las medidas siempre se refieren a los tres ejes que tienen su
Origen en un único punto.

 
 
Perspectiva Caballera. En ella los ejes X y Z tienen un ángulo de 90º y el
Eje Y con respecto a Z tiene una inclinación de 135º. En es te caso las
Medidas en los ejes X y Z son las reales y las del eje Y tiene un coeficiente
De reducción de 0.5.
DIBUJAR EN PERSPECTIVA
En ambas perspectivas, el sistema más sencillo es llevar las tres
Vistas principales sobre los planos formados por los ejes:
Alzado en el plano XZ.
Planta en el plano XY.
Perfil en el plano YZ.

Cada una de las aristas que forman las vistas se prolonga paralelamente
Al eje que corresponda:
Horizontal paralelo al eje de las X.
Vertical paralelo al eje de las Z.
Profundidad paralelo al eje de las Y.


 

 
 
3.2  VISUALIZACION DE OBJETOS
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.

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.
 
 
 
 
 
3.3 TRANSFORMACIONES TRIDIMENSIONALES
 
 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éneas1
Nos será útil sustituír las coordenadas (x, y) por las coordenadas (xh, yh, h), llamadas coordenadas homogéneas, donde
x = xh/h, y = yh/h (2.1)
De donde
(xh, yh, h) = (h. x, h. y, h) (2.2)
 
 
 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:
 
P’ = T. R. T2 . P (2.4)
 
Donde P’ es el vector columna que representará al punto resultante y T, R y T2 son las matrices de transformación correspondientes

     T      =

1 0 tx

0 1 ty

0 0 1

R

=

cos θ - sen θ 0

sen θ cos θ 0

0 0 1

T2

=

1 0 -tx

0 1 -ty

0 0 1

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

 
Matrices de transformación en 3D más comunes
 
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 .
 
 
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).
 
 
RZ
  cos θ -sen θ 0 0
  sen θ cos θ 0 0
  0 0 1 0
  0 0 0 1
La matriz de rotación respecto al eje x se especifica como (3.12)
RX
1 0 0 0
0 cos θ -sen θ 0
0 sen θ cos θ 0
0 0 0 1
Y la matriz de rotación respecto al eje y se especifica como (3.13)
RY
cos θ 0 sen θ 0
0 1 0 0
-sen θ 0 cos θ 0
0 0 0 1
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.
 
Rotaciones tridimensionales generales
Es posible establecer una matriz de rotación para cualquier eje que no coincide con un eje de coordenadas como una transformación compuesta que implica combinaciones de traslaciones y rotaciones de los ejes de coordenadas.
Primero se desplaza el eje de rotación seleccionado a uno de los ejes de coordenadas, después se establece la matriz de rotación con respecto del eje de coordenadas para el ángulo de rotación específico y por último se obtiene la secuencia de transformación inversa para regresar al eje de rotación a su posición original.
 
Propiedad de las matrices de rotación
Dada la matriz de rotación en 2D
Considérense los primeros dos renglones de la submatriz superior izquierda de 2 x 2 como vectores. Se obtiene:
A = cos θ i – sin θ j
B = sin θ i + cos θ j
Puede mostrarse que estos vectores tienen 3 propiedades:
1. Cada uno es un vector unitario.
2. Cada uno es perpendicular al otro (su producto punto es cero).
3. El primero y segundo vectores pueden rotarse con R(θ) y quedarán en el eje x positivo y y positivo, respectivamente (esto equivale a que el determinante sea uno).
 
Estas propiedades también son válidas para las columnas de la submatriz de 2x2. Las 2 direcciones son aquellas en las que los vectores en el eje x y y son rotados.
Una matriz con estas propiedades se llama especial ortogonal.
Las 3 propiedades se extienden a las matrices de rotación en 3D que vimos anteriormente.
Retomemos el ejemplo anterior. La matriz resultante que obtuvimos después de multiplicar las matrices de transformación y las rotaciones en los 3 ejes, se puede obtener directamente si pensamos en una matriz de rotación general como
R= r1x r2x r3x
     r1y r2y r3y
    r1z r2z r3z
Donde cada uno de los renglones es un vector ortogonal a los otros dos. Todo lo que tenemos que hacer es “asignar” cada uno de estos “ejes” a la figura (ejes que, después de la transformación, quedarán sobre los ejes x, y y z).
Por ejemplo, Rz es el vector unitario sobre R1R2 que rotará al eje positivo de la z.
Rz = [r1z r2z r3z]T = P1P2 / |P1P2|
El vector unitario Rx es perpendicular al plano de P1, P2, y P3 y rotará al eje positivo de las x, así que Rx debe ser el producto cruz normalizado de 2 vectores en el plano:
Rz = [r1x r2x r3x]T = P1P3 x P1P2 / |P1P3 x P1P2|
Finalmente,
Ry = [r1y r2y r3y]T = Rz x Rx
Rotará al eje positivo de las y. La matriz compuesta está dada por

r1x r2x r3x 0

r1y r2y r3y 0

r1z r2z r3z 0

0 0 0 1

. T(-x1, -y1, -z1) =

R . T
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)
S=   ex 0 0 0
        0 ey 0 0
         0 0 ez 0
         0 0 0 1
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.
 
 
Las matrices de reflexión tridimensional se establecen de manera similar a aquellas para dos dimensiones. Las reflexiones con respecto a un eje dado son equivalentes a rotaciones de 180º sobre ese eje. Las reflexiones con respecto de un plano equivalen a rotaciones de 180º en un espacio cuatridimensional.
 
Por ejemplo, para obtener una reflexión con respecto del plano xy (cambio de sistema de lado derecho a lado izquierdo), cambiando el signo de las coordenadas de z sin alterar las coordenadas x y y, se utiliza la siguiente matriz de transformación:
 Las matrices de reflexión para invertir x y y se definen de manera similar. Es posible efectuar las reflexiones con respecto de otros planos como una combinación de rotaciones y reflexiones del plano de las coordenadas.
 
Recortes
Las transformaciones de recorte se pueden utilizar para modificar las formas de los objetos, también son útiles para obtener transformaciones de proyección general.
Por ejemplo, la siguiente transformación produce un recorte del eje de las z:
Asignando cualquier valor real a a y b. El efecto es la alteración de los valores de las coordenadas de x y y en una cantidad proporcional al valor de z, mientras que z permanece sin cambios.
 
 
 
Transformaciones compuestas
Se realiza una transformación tridimensional compuesta al multiplicar las representaciones matriciales para las operaciones individuales en la secuencia de transformación. Esta concatenación se lleva a cabo de derecha a izquierda, donde la matriz del extremo derecho es la primera transformación que se aplica a un objeto y la matriz del extremo izquierdo es la última transformación.
(Lean 11.7 further: Foley 5?)
(final, ya cuando hayan entendido los conceptos, decirles que es mucho más fácil manejar ejes de coordenadas dentro de cada uno de los objetos que estarlos llevando al origen para cada transformación: CAMBIO DE COORDENADAS)
 
Cambio de sistemas de coordenadas
Cuando se manejan varios objetos al mismo tiempo, una manera alternativa de manejar las transformaciones es pensar que cada objeto tiene su propio sistema de coordenadas.
 
 
 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 línea trazada solo puede aproximar posiciones de lineas 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 linea 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 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 más 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 cuál 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 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 líneas. Los atributos de linea son su tipo, su anchura y su color.
 
Tipo de linea
 
Los atributos de linea incluye las líneas sólidas, líneas punteadas con líneas y punteadas.
 
El método setStrokeStyle permite cambiar el estilo de linea.
 
Este método acepta los siguientes valores:
a)  Graphics.SOLID - linea solida
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 transformación por defecto.
BASICSTROKE SOPORTA 3 ESTILOS DE UNIÓN:
 
*JOIN_BEVEL
*JOIN_MITER
*JOIN_ROUND
 
El estilo de finales es la decoración que se aplica cuando un segmento de linea termina.                      
BASICSTROKE soporta 3 estilos de finalización:
 
*CAP_BUTT
*CAP_ROUND
*CAP_SQUARE
 
El elemento 0 representa el primer punteado, el elemento 1 el primer espacio , etc. La fase de punteado es un desplazamiento en el patrón de punteado, también especificado en unidades de coordenadas de usuario. La fase de punteado indica que parte del patrón de punteado se aplica al principio de la linea.
 
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 setPaint.
 
ANCHURA DE LINEA
La implementacion de las opciones de anchura de lineas dependen del tipo de dispositivo de salida que se utilice  Una linea ancha en un monitor de vídeo podría trazarse como lineas paralelas adyacentes, mientras que una graficadora de pluma podría requerir cambios de pluma. Como sucede con otros atributos puede usarse como comando de anchura de linea para fijar la anchura regular de la linea.
 
 
 
Color de linea
 
Cuando un sistema ofrece sistemas de color (o bien de intensidad) un parámetro que da el índice de color regular se incluye en la lista de valores de atributos del sistema.
 
Método para cambiar color
*set Color (int color)
*setColor(int rojo,int verde,int azul)

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.
 
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 parametrica. 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 parametricas se constituyen de manera que el parámetro se define en el intervalo de 0 a 1.Por ejemplo una circunferencia en el plano xy con centro en el origen coordenado podría definirse en forma parametrica como:
 

 
También son posibles otras formas parametrícas para describir circunferencias y arcos circulares.
 
 
En el caso de una curva arbitraria, puede ser difícil idear un conjunto de ecuaciones parametrícas que definen completamente la forma de la curva.Pero cualquier curva puede aproximarse utilizando diferentes conjuntos de funciones parametrícas,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 lineas tangentes(primeras derivadas) de dos secciones adyacentes de la curva son la misma en el punto de adyacencia. 
Las ecuaciones parametricas de las superficies se formulan con dos parámetros u y v. Una posición coordenada de una superficie se representa entonces por medio de la función vectorial parametrica.
 
p(u,v)= (x(u,v),y(u,v),z(u,v))
 
Las ecuaciones de las coordenadas x,y,z a menudo se acomodan de modo de que los parámetros u y v estén definidos dentro del intervalo de 0 a 1.Por ejemplo una superficie esférica puede describirse con las ecuaciones.
 

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 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 B-spline
 
Son las más utilizadas en la práctica:
 
1.-b-splines cuadráticos: fuentes True Type.
 
2.-b-splens cúbicos: los más comunes en programas de diseño gráfico.
 
En general, no pasa por ningún punto de control (ni siquiera los extremos) , aunque se pude forzar que lo haga.
 
Principales ventajas sobre las curvas de Bézier:
 
1. Es de grado acotado (aun definida por n puntos)
 
2. Sobre todo, más apropiada para el diseño interactivo: más "suaves", control local
Dado un conjunto de puntos P0,...Pn, obtenemos una curva de aproximación compuesta por varios tramos, y las ecuaciones de cada tramo están influenciadas solamente por K vértices del polígono de control siendo K (orden de la B-spline ) un parámetro elegido a voluntad por el diseñador y lógicamente, K <n+1:
 
 
Los parametros que intervienen en una curva B-spline se enumeran a continuación:
 
·        P0,...Pn,n+1 vertices o puntos de control.
·        Ni,K: funciones B-spline basica de orden K.
·        d: grado de las B-spline basicas (eleccion usual, d=3).
·        K:orden de la B-spline: K=d+1.
·        N° de tramos:n-d+1.
·        suavidad global de la curva: CK-2=Cd-1.
Propiedades
 
·        No interpolen (salvo en P0,Pn, si así se especifica).
·        Parametricas P(t)=(x(t),y(t)).
·        Suavidad Ck-2:K es el orden de la B-spline.
·        No oscilan.
·        Locales
·        Difíciles de calcular salvo casos especiales con formula matricial: B-spline uniformes, Bezier.
·        Mayor flexibilidad: elección de nodos permiten más tipos de curva.
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 número de puntos de control.el número de puntos de control que se debe aproximar y su posición relativa determina el grado de polinomio de Bezier.
 
La idea de definir geométricamente 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 parámetro  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  cuán lejos está 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 varía 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 contruye 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 varía 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) varía 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 último 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 último segmento del grafo de control respectivamente.
4.     Él 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.
 
 
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 esta 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.
 
 
CONCLUSION:
Como pudimos observar en esta unidad tenemos más herramientas a aplicar en cuanto a la graficación 3d y que se componen por tres ejes x, y, z ya dándole un modelado diferente al visto en 2d que podemos ver que sirven para diferentes aplicaciones en un video juego el panorama que nos da el que por medio de matrices también puede ser aplicado la visualización de los objetos.
                              
Bibliografía
Graficación por computadora
Autor: donald heran /m.pauline baker
graficacionporcomputadora.blogspot.com/2013/05/3_7.html
ignorantisimo.free.fr/.../3D2005_APT02_-_Capitulo_II_Transformacion
 
 
 
 
 





 


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

No hay comentarios:

Publicar un comentario