Unidad 3





El término gráficos 3D por computadora (o por ordenador) se refiere a trabajos de arte gráfico que son creados con ayuda de computadoras y programas especiales. En general, el término puede referirse también al proceso de crear dichos gráficos, o el campo de estudio de técnicas y tecnología relacionadas con los gráficos tridimensionales.
Un gráfico 3D difiere de uno bidimensional principalmente por la forma en que ha sido generado. Este tipo de gráficos se originan mediante un proceso de cálculos matemáticos sobre entidades geométricas tridimensionales producidas en un ordenador, y cuyo propósito es conseguir una proyección visual en dos dimensiones para ser mostrada en una pantalla o impresa en papel.
En general, el arte de los gráficos tridimensionales es similar a la escultura o la fotografía, mientras que el arte de los gráficos 2D es análogo a la pintura. En los programas de gráficos por computadora esta distinción es a veces difusa: algunas aplicaciones 2D utilizan técnicas 3D para alcanzar ciertos efectos como iluminación, mientras que algunas aplicaciones 3D primarias hacen uso de técnicas 2D.

Creación de gráficos 3D

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

Modelado


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



Iluminación


Creación de luces de diversos tipos puntuales, direccionales en área o volumen, con distinto color o propiedades. Esto es la clave de una animación.

Gran parte de la iluminación en 3D requiere del entendimiento físico de la luz en la realidad, este entendimiento puede ir desde lo más básico en el tema como por ejemplo el concepto de iluminación global hasta comportamientos complejos y extraños de la luz como la dispersión en superficies y subsuperficies


Iluminación global

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

Animación

Los objetos se pueden animar en cuanto a:

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




















Renderizado

Se llama renderización al proceso final de generar la imagen 2D o animación a partir de la escena creada. Esto puede ser comparado a tomar una foto o en el caso de la animación, a filmar una escena de la vida real. Generalmente se buscan imágenes de calidad fotorrealista, y para este fin se han desarrollado muchos métodos especiales. Las técnicas van desde las más sencillas, como el rénder de alambre (wireframe rendering), pasando por el rénder basado en polígonos, hasta las técnicas más modernas como el scanline rendering, el trazado de rayos, la radiosidad o el mapeado de fotones.

El software de rénder puede simular efectos cinematográficos como el lens flare, la profundidad de campo, o el motion blur (desenfoque de movimiento). Estos artefactos son, en realidad, un producto de las imperfecciones mecánicas de la fotografía física, pero como el ojo humano está acostumbrado a su presencia, la simulación de dichos efectos aportan un elemento de realismo a la escena. Se han desarrollado técnicas con el propósito de simular otros efectos de origen natural, como la interacción de la luz con la atmósfera o el humo. Ejemplos de estas técnicas incluyen los sistemas de partículas que pueden simular lluvia, humo o fuego, el muestreo volumétrico para simular niebla, polvo y otros efectos atmosféricos, y las cáusticas para simular el efecto de la luz al atravesar superficies refractantes.
El proceso de rénder necesita una gran capacidad de cálculo, pues requiere simular gran cantidad de procesos físicos complejos. La capacidad de cálculo se ha incrementado rápidamente a través de los años, permitiendo un grado superior de realismo en los rénders. Los estudios de cine que producen animaciones generadas por ordenador hacen uso, en general, de lo que se conoce como render farm (granja de rénder) para acelerar la producción de fotograficas.

API de gráficos tridimensionales


Los gráficos 3D se han convertido en algo muy popular, particularmente en videojuegos, al punto que se han creado interfaces de programación de aplicaciones (API) especializadas para facilitar los procesos en todas las etapas de la generación de gráficos por computadora. Estas interfaces han demostrado ser vitales para los desarrolladores de hardware para gráficos por computadora, ya que proveen un camino al programador para acceder al hardware de manera abstracta, aprovechando las ventajas de tal o cual placa de video.

Las siguientes interfaces para gráficos por computadora son particularmente populares:

  • OpenGL
  • Direct3D (subconjunto de DirectX para producir gráficos interactivos en 3D)
  • RenderMan



  • 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

TABLA DE VÉRTICES
V1:  X1,Y1,Z1
V2:  X2,Y2,Z2
V3:  X3,Y3,Z3
V4:  X4,Y4,Z,4
V5:  X5,Y5,Z5,
TABLA DE ARISTAS
E1:  V1,V2
E2:  V2,V3
E3:  V3,V4
E4:  V4,V5
E5:  V4,V5
E6:  V5,V6

TABLA DE POLIGONOS
       S1:  E1,E2,E3
       S2:  E2,E4,E5,E6

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

1.- Que todos y cada uno de los vértices se en listen como un extremo de cuanto menos 2 líneas
2.- Que toda línea sea parte cuando menos de un polígono.
3.- Que todo polígono sea cerrado
4.- Que cada polígono tenga al menos una arista compartida.
5.- Si la tabla de aristas contiene apuntadores a polígonos, que toda arista referenciada por un  apuntador de polígonos que tenga un apuntador recíproco hacia el polígono.
    

  • ECUACIONES DE PLANOS





Los parámetros que especifican la orientación espacial de cada polígono se obtienen de los valore ordenados de los vértices y de las ecuaciones que se definen de los planos poligonales. Estos parámetros de planos se utilizan en transformaciones de visión, modelo de sombreado, algoritmos de superficies ocultas que determinan líneas y planos que se traslapan a lo largo de la línea de visión.
La ecuación de una superficie plana puede expresarse así:

Ax  + By + Cz + D = 0

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


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:
[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.






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ón Sx,  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:










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.






Sección de una retícula de la pantalla donde se desplegara una linea que pasara por:

(Xi,Yi)


De aquí se tiene y=m(xi+1)+b

Definimos: 
d1=y-yi
=m(xi+1)+b-yi

d2=(y1+1)-y
=y1+1-m(xi+1)-b

la diferencia es :

definimos pi como:
donde c es:
obtenemos pi+1 de pi
como:



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 lineas solidas,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 - 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 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.

Los 3 estilos de linea usados en este ejemplo ancho, estrecho y punteado son ejemplares de:
BasicStroke:

// Sets the Stroke.
...
case 0 : g2.setStroke(new BasicStroke(3.0f)); break;
case 1 : g2.setStroke(new BasicStroke(8.0f)); break;
case 2 : float dash[] = {10.0f};
g2.setStroke(new BasicStroke(3.0f,
BasicStroke.CAP_BUTT,
BasicStroke.JOIN_MITER,
10.0f, dash, 0.0f));
break;

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 indice de color regular se incluye en la lista de valores de atributos del sistema.

Método para cambiar color
*setColor(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. 


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 ordenes de continuidad.




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.


Donde r es el radio de la esfera.el parámetro u describe lineas de latitud constante sobre la superficie, mientras que el parámetro v describe lineas de longitud constante.Al mantener uno de estos parámetros fijo mientras que se varia el otro sobre cualquier valor dentro del intervalo 0 a 1, se podrían trazar lineas de latitud y longitud de cualquier sección esférica (fig 1.9).





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 parametricas 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 parametricas polinomiales de curvas y superficies, dada las coordenadas de los puntos de control.entre los métodos básicos para desplegar curvas especificas con punto de control se incluyen las formulaciones de Bezier y "Spline".





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.



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
  • Dificiles de calcular salvo casos especiales con formula matricial: B-spline uniformes, Bezier.
  • Mayor flexibilidad: elección de nodos permiten mas 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 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 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 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.


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.










En la unidad 3 fuimos apreciando las diferentes faces por la que debe de pasar cualquier animación que este en 3D ya  son varias como el modelado,la animación  la iluminación y de mas efectos que se necesitan para cumplir todo esto, también estas tienen diferentes proyecciones y representaciones pero aun así todas las figuras en 3D tiene en común que deben de cumplir con sus tres dimensiones características ya que sin ella definitivamente no seria 3D.







No hay comentarios.:

Publicar un comentario