Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción...
-
Upload
evita-alberto -
Category
Documents
-
view
44 -
download
1
Transcript of Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción...
![Page 1: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/1.jpg)
Curvas y superficies en 2D y 3D
![Page 2: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/2.jpg)
Índice• Curvas en 2D y 3D
– Curva Spline
– Introducción
– Interpolación lineal
– Curvas de Bézier
– Curvas B-Spline
• Superficies en 3D– Interpolación bilineal
– Parches bicúbicos
![Page 3: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/3.jpg)
Curva Spline• En dibujo mecánico, spline es una banda flexible que se
usa para producir una curva suave a través de un conjunto de puntos designados.
• Curva de spline originalmente se refería a una curva trazada de esta manera.
• Se puede describir en forma matemática con una función cúbica polinómica cuyas primera y segunda derivada son continuas a través de las distintas secciones de la curva.
• Actualmente curva spline se aplica a cualquier curva compuesta que se forma con secciones polinómicas que satisfacen condiciones específicas de continuidad en la frontera de las piezas.
![Page 4: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/4.jpg)
Curva Spline• Una superficie de spline se puede describir con dos
conjuntos ortogonales de spline.
• se utiliza en las aplicaciones gráficas – para diseñar formas curvas y de superficie, – para digitalizar trazos para el almacenamiento en la computadora y– especificar trayectorias de animación para los objetos o la cámara
de una escena.
• Las aplicaciones típicas incluyen:– el diseño de carrocerías de automóviles, – superficies de aeronaves, – naves espaciales, – cascos de embarcaciones.
![Page 5: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/5.jpg)
Introducción• Representación paramétrica vs implícita o
explícita– define familias de objetos usando un número finito de
parámetros.– es más flexible – curvas componentes: C(t) = (x(t), y(t))– independiente de los ejes coordenados– evita valores de pendiente infinita con respecto a
algún sistema de ejes arbitrario– compatible con el uso de transformaciones de
coordenadas homogéneas tridimensionales
![Page 6: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/6.jpg)
Introducción• Interpolación vs. aproximación: puntos de
control – interpolación: curva ha de pasar por una serie de
puntos (importancia de los puntos) – aproximación: curva según unos puntos de control
(importancia de curva)– Una curva se define, modifica y manipula con
operaciones en los puntos de control. – La curva se puede trasladar, girar o escalar con las
transformaciones que se aplican a los puntos de control.
![Page 7: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/7.jpg)
Introducción• La frontera de polígono convexo que encierra un
conjunto de puntos de control se conoce como casco convexo.
• El casco convexo proporciona una medida de la desviación de una curva o superficie desde la región que limita los puntos de control. Es útil para definir el área de recorte.
• El conjunto de segmentos de línea que conectan la secuencia de puntos de control se conoce como gráfica de control, polígono de control y polígono característico.
![Page 8: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/8.jpg)
Continuidad
• Paramétrica: – Orden cero: C0, sólo implica que las curvas se unen.
– Primer orden: C1, las primeras derivadas paramétricas son iguales en su punto de unión
– Segundo orden: C2, tanto la primera como la segunda derivada paramétrica de las curvas son las mismas en la intersección.
![Page 9: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/9.jpg)
Continuidad
• En continuidad C2, los índices de cambio de los vectores tangente para las secciones que se conectan son equivalentes, la línea tangente realiza una transición suave de una sección de la curva a otra.
• En continuidad C1, los índices de cambio de los vectores tangente para las secciones son muy diferentes, es posible que las formas generales de las dos secciones adyacentes presenten un cambio abrupto.
![Page 10: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/10.jpg)
Continuidad
• Geométrica:– Orden cero: G0, sólo implica que las curvas se unen.– Primer orden: G1, las primeras derivadas paramétricas
son proporcionales en su punto de unión– Segundo orden: G2, tanto la primera como la segunda
derivada paramétrica de las curvas son proporcionales en su frontera.
• derivadas paramétricas proporcionales– La dirección del vector tangente es igual, pero no
necesariamente su magnitud.
![Page 11: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/11.jpg)
Introducción
• Propiedades deseables: – representación paramétrica
– suave: Cn, en curvas componentes
– sin oscilaciones (wiggles)
– control local: cambio de un punto afecta a entorno reducido
– fácil de calcular: poco coste computacional
![Page 12: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/12.jpg)
Interpolación lineal
• Dado un conjunto de puntos se interpolan usando rectas entre ellos.
• Sencillo.
• La curva es continua pero no sus derivadas.
• Curva local: la modificación de un punto afecta a dos intervalos.
![Page 13: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/13.jpg)
Interpolación linealEntre dos puntos se define una línea recta.
X(t) = mx t + bx
Con las condicionesX(t=0) = X0X(t=1) = X1
Para el primer intervalo y la primera coordenada.
![Page 14: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/14.jpg)
Curvas de Bezier
• Es un sistema desarrollado hacia los años setenta del siglo XX, para el trazado de dibujos técnicos, en el diseño aeronáutico y de automóviles.
• Su denominación es en honor a Pierre Bezier quien ideó un método de descripción matemática de las curvas que se comenzó a utilizar con éxito en los programas de CAD.
• Posteriormente, los inventores del PostScript, introdujeron en ese código el método de Bezier para la generación del código de las curvas y los trazados.
![Page 15: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/15.jpg)
• Se denomina curva Bézier asociada a (n + 1) puntos P0, P1,...,Pn a la curva parametrizada, definida para t [0,1], ∈cuyos puntos vienen dados mediante la siguiente expresión
• en la que los Bi,n(t) son los polinomios de Bernstein de grado n.
• Los puntos P0, P1, ..., Pn que determinan una curva de Bézier se denominan puntos de control, y la poligonal que los une es el polígono Bézier o B-polígono.
ini
n
i
PtBtytx )())(),((,0
![Page 16: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/16.jpg)
• Los polinomios de Bernstein de grado n, que denotamos por B0,n(t), B1,n(t), ..., Bn,n(t), son
iinni tt
ini
ntB
)1(
)!(!
!)(,
![Page 17: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/17.jpg)
• B0,1(t) = (1 - t), B1,1(t) = t;• B0,2(t) = (1-t)2, B1,2(t) = 2(1-t)t, B2,2(t) = t2;• B0,3(t) = (1-t)3, B1,3(t) = 3(1-t)2t, B2,3(t) = 3(1-
t)t2, B3,3(t) = t3.• A medida que aumenta el número de
puntos, aumenta el grado de la curva.• Se limita a 4 el número de puntos de control
y el polinomio es de grado 3.
![Page 18: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/18.jpg)
• Dibujamos una curva:
• Dados los puntos P0=(1, 1), P1=(2, 4), P2=(5, 3), la curva Bézier asociada tiene las siguientes ecuaciones paramétricas
• x(t) = B0,2(t) + 2B1,2(t) + 5B2,2(t) = 1+2t+2t2
• y(t) = B0,2(t) + 4B1,2(t) + 3B2,2(t) = 1+6t-4t2
![Page 19: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/19.jpg)
![Page 20: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/20.jpg)
• La curva de Bezier empieza en P0 y termina en Pn-1
• El vector tangente a la curva P(t) en el punto P0 tiene la dirección del vector P0P1
• El vector tangente a la curva P(t) en el punto Pn tiene la dirección del vector Pn-1Pn.
• La modificación de un punto de control afecta a toda la curva que define.
![Page 21: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/21.jpg)
![Page 22: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/22.jpg)
Splines Cúbicos
• Interpolan entre dos puntos utilizando un polinomio de grado 3
• Los polinomios de grado 3 son los de menor grado que permiten la existencia de un punto de inflexión.
• Intentan evitar oscilaciones y complejidad de interpolación polinómica, al aumentar el número de puntos
• Si el polinomio es de grado m, 3 en este caso, se puede imponer que la curva global sea continua hasta el orden m-1 (Cm-1), en este caso: grado 2. Es decir, podemos imponer que sea continua la curva, la primera y la segunda derivada, es decir, curvas suaves.
![Page 23: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/23.jpg)
Splines Cúbicos
• Spline cúbico (x(u), y(u)) que pasa por los n+1 puntos P0, P1, ... Pn
para los valores del parámetro {u0, u1, ... un} • Se buscan n polinomios cúbicos (grado 3) para cada coordenada,
(qi(u), pi(u)), definidos en intevalo [ui,ui+1] , que empalmen con continuidad C2 (2ª derivada) en cada valor del parámetro ui
• Condiciones: 2n + n-1 + n-1 = 4n-2qi(ui) = xi ; qi(ui+1) = xi+1 i=0,1,...,n-1 2n condiciones Continuidad curva
• qi'(ui+1) = qi+1'(ui+1)i=0,1,...,n-2 n-1 condiciones Cont. prim. Deriv.• qi''(ui+1) = qi+1''(ui+1)i=0,1,...n-2 n-1 condiciones Cont. Seg. Deriv.• Incógnitas: 4n
qi(u) = ai + biu + ciu2 + diu3 • Faltan 2 condiciones extra
![Page 24: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/24.jpg)
• Natural Cubic Splines: – Condiciones extra: derivada segunda nula en
los extremos, u0 , un
![Page 25: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/25.jpg)
Splines cúbicos
• Curva interpolante, con segmentos polinómicos (curvas componentes)
• Representación paramétrica • Suave: C2 (curvas componentes) • Sin oscilaciones: grado cúbico de los polinomios evita
oscilaciones • No local: el cambio de un punto afecta a los polinomios de todos
segmentos (ver el sistema (n+1) x (n+1)) • Relativamente fácil de calcular: el sistema de ecuaciones es
tridiagonal • Se ha sacrificado la suavidad (no mucho) para evitar las
oscilaciones • Para hacer las curvas locales, hay que eliminar el requerimiento
de que interpole
![Page 26: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/26.jpg)
Curvas B Spline
• Igual que Bézier, dado un conjunto de puntos P0, ., Pn, determinamos una curva compuesta de varios tramos, tal que se aproxime al polígono de control, y que las ecuaciones de cada tramo estén influenciadas solamente por k vértices del polígono de control siendo k un parámetro elegido a voluntad por el diseñador y, lógicamente, k ≤ n + 1
iki
n
i
PtNtP )()(,0
![Page 27: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/27.jpg)
Curvas B Spline
Fórmula de cálculo de Cox - de Boor: (indeterminación 0/0, si hay nodos repetidos, se resuelve como 0)
![Page 28: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/28.jpg)
• Obsérvese que hay que definir un vector T de nodos, que suele ser un conjunto de números naturales separados por una unidad (aunque puede hacer cualquier otra elección).
![Page 29: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/29.jpg)
Propiedades
• No interpolan • Paramétricas • Suavidad Cm-2: m es orden de B-spline • No oscilan • Locales • Difíciles de calcular salvo casos especiales con
fórmula matricial: B-Splines uniformes, Bézier • Mayor flexibilidad: elección de nodos permite
más tipos de curvas
![Page 30: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/30.jpg)
Calculo de B splines
• http://www.pdipas.us.es/e/esplebrue/ampcap5a_0506.pdf
![Page 31: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/31.jpg)
Superficies 3D. Interpolación Bilineal
• La interpolación bilineal calcula los puntos intermedios mediante la siguiente ecuación:
• V (x, y) = ax +by+cxy+ d • donde x e y representan la distancia al punto o esquina
superior izquierda del entorno. • Los coeficientes a,b,c,d deben calcularse de modo que se
cumplan las siguientes igualdades:• V(x = 0,y = 0) = P(i, j) • V(x=1,y=0) = P(i+1, j)• V(x = 0,y = 1) = P(i, j + 1) • V(x=1,y=1) = P(i + 1, j + 1)
![Page 32: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/32.jpg)
Superficies en 3D
• Concepto de parche (patch)
• Superficie como curva con puntos de control en una curva
![Page 33: Curvas y superficies en 2D y 3D. Índice Curvas en 2D y 3D –Curva Spline –Introducción –Interpolación lineal –Curvas de Bézier –Curvas B-Spline Superficies.](https://reader033.fdocuments.us/reader033/viewer/2022061223/54c3d82e497959244c8b4b54/html5/thumbnails/33.jpg)
• Funciones base son producto de funciones base de curvas: bij(s,t)=bi(s)bj(t)
• Matriz (malla) mxn de puntos de control: Pij, i=0,....m; j=0,...n