Presentacion Splines

48
Splines: Generaciones de Curvas y Superficies Por: José moreno

Transcript of Presentacion Splines

Page 1: Presentacion Splines

Splines: Generaciones de

Curvas y SuperficiesPor: José moreno

Page 2: Presentacion Splines

Todo este desarrollo comenzó en 1950 por ingenieros que necesitaban la representación matemática precisa de superficies de forma libre como las usadas en carrocerías de automóviles, superfices de exteriores aeroespaciales y cascos de barcos, que pudieran ser reproducidos exacta y técnicamente en cualquier momento.

INTRODUCCION

Page 3: Presentacion Splines

Los pioneros en estas investigaciones fueron Pierre Bézier quien trabajaba como ingeniero en Renault, y Paul de Casteljau quien trabajaba en Citroën, ambos en Francia.

Bézier y Casteljau trabajaron casi en paralelo, aunque ninguno de los dos conoció el trabajo que el otro desarrollaba.

INTRODUCCION

Page 4: Presentacion Splines

Dado que el trabajo de Bezier fue publicado primero y por esta razón tradicionalmente se le ha asociado a las splines - que son representadas con puntos de control describiendo a la curva misma - como Bézier splines, mientras que el nombre de Casteljau solo es conocido por los algoritmos que desarrollo para la evaluación de superficies paramétricas.

INTRODUCCION

Page 5: Presentacion Splines

Es una curva definida en porciones mediante polinomios.

Se utilizan para aproximar formas complicadas.

La mayoría son utilizadas en graficas de 3D.

Pero se pueden dibujar en 2D, en cuatro o más dimensiones.

SPLINES

Page 6: Presentacion Splines

Se denomina interpolación a la construcción de nuevos puntos, partiendo del conocimiento de que existe un conjunto discreto de puntos.

La interpolación es el arte de aproximar valores intermedios desde un conjunto de una data incompleta.

INTERPOLACION

Page 7: Presentacion Splines

Un ejemplo sencillo; supongamos que queremos encontrar el punto medio de dos puntos en el plano cartesiano, A (4,-2,10) y B (12, 14,6) sabemos que en algebra (x1 + x2)/2 = al punto medio, o sea el punto medio de A y B es (8, 6,8).

Esto puede representarse como

INTERPOLACION

Page 8: Presentacion Splines

El factor 1/2 fue aplicado a los dos componentes A y B, vamos a encontrar el punto 1/4 para la línea desde A a B donde hay mas A que B. La combinación seria:

Esto es fácil de justificar porque la diferencia de A y B es el vector de A a B

INTERPOLACION

Page 9: Presentacion Splines

Entonces una cuarta parte de la diferencia es (2,4,-1), así que el punto requerido es

Por lo tanto utilizaremos los puntos A y B para la posición de los vectores de los puntos A y B y los puntos entre ellos.

Consideremos como caso general lo siguiente: supongamos que queremos encontrar un punto P en algún lugar entre A y B

INTERPOLACION

Page 10: Presentacion Splines

Donde P(u) es el punto fraccional de (u) entre A y B cuando (u) es un numero entre 0 y 1.

Cuando (u) cambia de 0 a 1, el punto P(u) se mueve a un ritmo constante de A hacia B.

Esto indica que (u) utiliza un tiempo (t). Esta forma de interpolación la llamamos

interpolación lineal. El punto P(u) se va a mover en línea recta, pero el movimiento es uniforme según el cambio en (u).

INTERPOLACION

Page 11: Presentacion Splines

La formula para P(u) se puede escribir:

Donde, Las funciones lineales no contienen

radicales o potencias mayores en (u). Estas son conocidas como funciones de

mezclas, de la sumatoria de A y B obtenemos los resultados P(u), independientemente del valor de (u).

INTERPOLACION

Page 12: Presentacion Splines

También ; Si las masas de están en el lugar de A y B respectivamente entonces la posición de P(u) es el centro de la masa.

P(0) P(0.2) P(0.4) P(0.6) P(0.8) P(1)

A Q(0.2 ) Q(0.4) Q(0.6) Q(0.8) Q(1) B

considere donde

También esta entre A y B, no es lineal, se utiliza cuando (u) es muy pequeño y para funciones que envuelven radicales.

Page 13: Presentacion Splines

Este proceso se puede extender para crear curvas suaves, estas curvas son controladas por unos puntos de control en secuencias.

Nosotros nos vamos a concentrar en las curvas cubicas de Bézier, que son general -mente las más utilizadas.

Las funciones de mezclas envuelven términos cúbicos y esta definida en términos de cuatro puntos de control: P0, P1,P2 y P3

BEZIER SPLINES “ DIBUJO DE CURVAS”

Page 14: Presentacion Splines

Puntos de control:(P)Primera

interpolación:(P’)

P1’ (u) P2

P1 P2’(u)

P0’(u) P3

P0

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 15: Presentacion Splines

Puntos, segunda interpolación: (P’’)

Puntos, tercera interpolación:(P’’’)

P1’’(u)

P0’’’(u) P0’’(u)

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 16: Presentacion Splines

Curva Lineal Interpolación

Segmentaria Lineal: P(x) = ax + b

Por ejemplo cuando t=0.25, B(t) es un cuarto de la dirección de P0 a P1. Y t varia de 0 a 1, B(t) describe la línea de la curva P0 a P1.

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 17: Presentacion Splines

Curva cuadrática Interpolación Segmentaria Cuadrática:

P(x) = ax² + bx + c Para la curva cuadrática de Bézier se puede

construir un punto intermedio Q0 y Q1 de tal modo que t varié de 0 a 1:

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 18: Presentacion Splines

El punto Q0 varía desde P0 hasta P1 y describe la curva linear de Bézier.

El punto Q1 varía desde P1 hasta P2 y describe la curva linear de Bézier.

El punto B(t) varía desde Q0 hasta Q1 y describe la curva cuadrática de Bézier.

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 19: Presentacion Splines

Curva cubica Para una curva

cubica podemos construir puntos intermedios Q0, Q1 & Q2 que describan la curva lineal de Bézier , y los puntos R0 & R1 que describen la curva cuadrática:

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 20: Presentacion Splines

Curvas de cuarto orden

Para las curvas de cuarto orden podemos construir una donde, Q0, Q1, Q2 & Q3 describen la curva linear, los puntos R0, R1 & R2 describen la curva cuadrática, y los puntos S0 & S1 describen la curva cubica.

BEZIER SPLINES “DIBUJOS DE CURVAS”

Page 21: Presentacion Splines

Para crear animaciones convincentes necesitamos crear continuidad en el tiempo.

Un objeto animado para que simule un movimiento natural, es importante que la velocidad no tenga saltos, sino que las curvas tengan continuidad.

Consideremos dos curvas, con u representando el tiempo; la velocidad del punto en la primera curva es y la velocidad en la segunda es donde

Control de animación mediante curvas Bézier cúbicos

Page 22: Presentacion Splines

Donde, es el segmento desde a y es el segmento desde a . Para obtener continuidad y velocidad constante,

el punto de transferencia de una curva a la próxima, y tienen que coincidir y los segmentos de las líneas y tienen que tener la misma medida y la misma dirección, la segunda curva

Control de animación mediante curvas Bézier cúbicos

Page 23: Presentacion Splines

comienza en los parámetros;donde, para la primera curva. es el cambio de 0 – 1 para la curva (P) es el cambio de 0 – 1 para la curva (Q)Para obtener el tiempo de un objeto que pasa

por un punto a un tiempo definido.Por definición:

Control de animación mediante curvas Bézier cúbicos

Page 24: Presentacion Splines

Para la velocidad en que el objeto llega a Esta velocidad tiene que ser igual para P y Q Por definición:

Las medidas también tienen que ser iguales. Por definición:

Control de animación mediante curvas Bézier cúbicos

Page 26: Presentacion Splines

Excelente herramienta para generar y controlar curvas en el espacio.

Nos permite crear un sistema interactivo para los cambios de posición de los puntos de control y poder ver los efectos de las curvas.

Para esto se utilizan las tangentes de la curva, las tangentes definen la dirección de la curva y la medida de esta.

INTERPOLACION “SPLINE” PARA GENERAR CURVAS

Page 27: Presentacion Splines

Para determinar exactamente los puntos de control cuando la curva pasa atreves de ellos, utilizamos la formula de tangente que esta dada: , los valores constantes positivos para i = 1 y para n – 1.

INTERPOLACION “SPLINE” PARA GENERAR CURVAS

Page 28: Presentacion Splines

INTERPOLACION “SPLINE” PARA GENERAR CURVAS

Page 29: Presentacion Splines
Page 30: Presentacion Splines
Page 31: Presentacion Splines

B - SPLINES El término B-spline se refiere con frecuencia

a una curva spline paramétrica por funciones spline que se expresan como combinaciones lineales de B-splines .

Una B-spline es simplemente una generalización de una curva de Bézier, que puede ser evaluada de una manera estable sin necesidad de aumentar el grado de la B-spline.

Page 32: Presentacion Splines

Es el caso más general de Bézier.

Las curvas de Bézier son un tipo de B-Splines.

Ventaja sobre Bézier: los puntos de control no se alejan tanto de la forma que queremos modelar, por lo que podemos asemejarnos más al modelo sin necesidad de utilizar muchos puntos de control.

B-SPLINES

Page 33: Presentacion Splines

Dado m valores reales ti, llamados nudos,

con Una B-spline de grado n es una curva

paramétrica

Compuesta por una combinación lineal de B-splines básicas bi,n de grado n

B - SPLINES

Page 34: Presentacion Splines

B-SPLINES

Page 35: Presentacion Splines

Los Nurbs son muy populares en las graficas de computadoras y en los sistemas CAD.

Son más complicados de evaluar y de entender que los Bézier y B-Splines, pero te proveen una representación exacta de los círculos, figuras cónicas, elipses, parábolas e hipérbolas.

Una curva NURBS se define mediante cuatro elementos: grados, puntos de control, nodos y regla de cálculo.

NURBS = Non Uniform Rational B-Splines

Page 36: Presentacion Splines

Un grado es un número entero positivo. Este número normalmente es 1, 2, 3 o 5 pero

puede ser cualquier número entero positivo. Las líneas y polilíneas NURBS son grado 1, los círculos son grado 2 y la mayoría de las formas libres son grado 3 o 5.

Los puntos de control son una lista de puntos de grado+1 como mínimo. Una de las maneras más sencillas de cambiar la forma de una curva NURBS es mover los puntos de control

NURBS = Non Uniform Rational B-Splines

Page 37: Presentacion Splines

Los nodos son una lista de números de grado+N-1, donde N es el número de puntos de control. A veces esta lista de números se denomina vector nodal.

En este contexto, la palabra vector no significa una dirección 3D.

NURBS pueden representar con precisión objetos geométricos estándar tales como líneas, círculos, elipses y esferas, así como formas geométricas libres como carrocerías de coches y cuerpos humanos

NURBS = Non Uniform Rational B-Splines

Page 38: Presentacion Splines

Los B-Splines y las curvas de Bézier son casos particulares de NURBS.

No son simples polinomios, sino cocientes de polinomios.

NURBS = Non Uniform Rational B-Splines

Page 39: Presentacion Splines
Page 40: Presentacion Splines

Una superficie de producto tensorial es la superficie obtenida al mover cada uno de los puntos de control de una curva del tipo

P(t)=i bi Ni(t) a lo largo de otra curva de expresión similar.

La superficie viene controlada por una malla rectangular.

Las superficies de Bézier de producto tensorial que se llaman parches de Bezier ó Bezier “patches”.

SUPERFICIES

Page 41: Presentacion Splines

Los puntos {bij / i=0…m, j=0…n} son los puntos de control de la superficie, y forman la malla de control

Ejemplo: puntos de control

malla de control

SUPERFICIES “Parches de Bezier”

Page 42: Presentacion Splines
Page 43: Presentacion Splines
Page 44: Presentacion Splines

El circulo y otras figuras conicas Los nurbs tienen la habilidad de darnos

exactamente la representación de círculos, elipses, parábolas e hipérbolas.

Los arcos y los círculos son creados con dos poderosos nurbs y tres puntos de control.

Se emplean siete nodos que al multiplicarlos por tres al final de los nodos, se mantiene el balance en el punto final y las tangentes de control. La secuencia de balance de nodos es {0,0,0,0.5,1,1,1}

Page 45: Presentacion Splines

Con los puntos de control P0, P1, P2 organizados, entonces P0P1 = P1 P2 = a y

b = P0P2 /2, el arco menor entre P0 y P2, donde

P0P1 y P2P1 son tangentes que se encuentran dentro del casco convexo de P0, P1, P2 esta dada por la potencia 2 (cuadrática) Nurbs con un peso de w0 = 1 para P0 y w1 = b/a para P1 y w2 = 1 para P2. P1,b/a

a P0, 1 P2, 1

b

El circulo y otras figuras conicas

Page 46: Presentacion Splines

Para construir una circunferencia, los puntos de control son ,…, = . El grado k=2. Se necesitan los nodos [ ,x1,…, ]=[ ,…, ]. Entonces,

= = =0, = = =1 La curva se dibuja en 3 tiempos iguales así que

habrá nodos interiores 1/3, 2/3. La curva pasa por y en esos tiempos. Por el algoritmo de De Boor, son nodos que aparecen 2 veces cada uno, es decir,

= =1/3, = =2/3.

Page 47: Presentacion Splines

El circulo y otras figuras cónicas

Page 48: Presentacion Splines

El circulo y otras figuras cónicasHélice cónica Esfera