Professional Documents
Culture Documents
universittsverlag karlsruhe
La versin en ingls del libro de texto "Mtodos de Bzier y B-splines" fue publicada por la editorial Springer Verlag Berlin Heidelberg 2002.
Impressum Universittsverlag Karlsruhe c/o Universittsbibliothek Strae am Forum 2 D-76131 Karlsruhe www.uvka.de Universittsverlag Karlsruhe 2005 Print on Demand
ISBN 3-937300-47-3
Prefacio
Las t ecnicas de modelaci on asistidas por computadoras surgen con el advenimiento de las m aquinas fresadoras con control num erico en los nales de la d ecada de los cuarenta. A partir de los principios de los a nos sesenta, las t ecnicas de B ezier y B-splines ya se perlan como herramientas de importancia fundamental para el tratamiento de curvas y supercies polin omicas. Su ventaja principal radica en que posibilitan la construcci on de algoritmos ecientes num ericamente robustos. El prop osito de este texto es dar una base s olida y unicada para las propiedades mas u tiles de las representaiones de B ezier y B-splines. El enfasis del libro es sobre las nociones centrales del Dise no Geom etrico Asistido por Computadora (CAGD por su nombre en ingl es, Computer Aided Geometric Design) y cubre tanto las nociones b asicas como tambi en algunas m as avanzadas, como por ejemplo: splines multivariados, t ecnicas de subdivisi on y dise no a mano alzada con supercies con alto grado de suavidad. Con la nalidad de no extender el libro demasiado, hemos excluido algunos temas que podr an considerarse fundamentales en CAGD. En particular, no estudiamos t ecnicas racionales de B ezier y B-splines. El libro se fue ensamblando a trav es del dictado de varios cursos, dictados repetidamente por los autores, en el Rensselear Polytechnic Institute de Nueva York, las Universidades de Braunschweig y de Karlsruhe en Alemania y en la Universidad Central de Venezuela. Estos cursos forman parte de los curr cula de pre y postgrado de las carreras de Matem aticas e Inform atica y tambi en fueron atendidos por estudiantes de Ingenier a, Geof sica y Arquitectura. Queremos agradecer la lectura del manuscrito a Stefan Bischo, Bernhard Garz, Georg Umlauf, Claudia Bangert, Norbert Luscher, Marianela Lentini, Giovanni Figueroa y especialmente a Javier S anchez-Reyes por su revisi on exhaustiva de los primeros diez cap tulos del libro. Queremos tambi en expresar nuestro agradecimiento a Christoph Pennekamp, Natalie Spinner, Dayana Tabare, Elizabeth Miquilena, Gabriel Arcos y Mildred Graterol, por la preparaci on de los archivos LaTex. Caracas, Karlsruhe, Wolfenb uttel, Marco Paluszny Hartmut Prautzsch Wolfgang Boehm
Contenido
Curvas
1 Nociones b asicas 1.1 1.2 1.3 1.4 1.5 Espacios anes Combinaciones anes Aplicaciones anes Curvas y supercies param etricas Ejercicios 3 4 5 6 7
2 Representaci on de B ezier 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 Polinomios de Bernstein Curvas de B ezier Algoritmo de de Casteljau Derivadas Parametrizaci on singular Un algoritmo tetra edrico Integraci on Conversi on a la representaci on de B ezier Conversi on a la forma monomial Ejercicios 9 11 13 15 17 18 19 20 22 22
3 T ecnicas de B ezier 3.1 3.2 3.3 3.4 3.5 Polinomios sim etricos El teorema fundamental Subdivisi on Convergencia con la subdivisi on Generaci on de curvas por subdivisi on 25 27 27 29 30
X 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 Generaci on de curvas por diferencias hacia adelante Intersecci on La propiedad de variaci on decreciente El polinomio sim etrico de la derivada Conexiones C simples Elevaci on de grado Convergencia por elevaci on de grado Ejercicios
r
Contenido 31 32 34 35 36 38 39 40
4 Interpolaci on y aproximaci on 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Interpolaci on Interpolaci on de Lagrange Interpolaci on de Newton Interpolaci on de Hermite Interpolaci on de Hermite c ubica por trozos Aproximaci on Ajustes por m nimos cuadrados Mejoras en el par ametro Ejercicios 43 44 46 48 50 52 53 55 56
5 Representaci on por B-splines 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 Splines B-splines Una denici on recursiva de los B-splines El algoritmo de de Boor El teorema fundamental Derivadas y suavidad Propiedades de los B-splines Conversi on a la representaci on B-spline El algoritmo de de Boor extendido Conversi on entre las representaciones de de Boor y de B ezier B-splines como diferencias divididas Ejercicios 59 60 62 63 65 67 68 69 70 72 74 75
Contenido 6 T ecnicas de B-splines 6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 Inserci on de nodos El algoritmo de Oslo Convergencia por inserci on de nodos Un algoritmo para la elevaci on de grado Una f ormula de elevaci on de grado Convergencia por elevaci on de grado Interpolaci on Interpolaci on con splines c ubicos Ejercicios
XI
77 79 80 81 82 83 84 86 88
7 Curvas suaves 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 7.13 Contacto de orden r Parametrizaci on por longitud de arco Gamma splines B-splines gamma Nu-splines El marco de Frenet Continuidad de Frenet Osculantes y polinomios sim etricos Interpretaci on geom etrica del teorema fundamental Splines con matrices de conexi on arbitraria Inserci on de nodos Bases de splines Ejercicios 92 94 94 96 97 98 99 101 102 104 105 106 107
8 Subdivisi on uniforme 8.1 8.2 8.3 8.4 8.5 8.6 8.7 B-splines uniformes Subdivisi on uniforme Subdivisi on iterada La matriz de subdivisi on Derivadas Subdivisi on estacionaria Teoremas de convergencia 109 110 112 114 114 115 116
XII 8.8 8.9 8.10 8.11 C alculo del esquema de diferencias El esquema de los cuatro puntos An alisis del esquema de los cuatro puntos Ejercicios
II
Supercies
9 Supercies producto tensorial 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 Productos tensoriales Supercies producto tensorial de B ezier Formas polares del producto tensorial Conversi on entre las formas monomial y de B ezier Algoritmo de de Casteljau Derivadas Conexiones simples C
1 r
125 127 130 131 132 133 135 136 136 137 138 140
Interpolaci on C bic ubica por trozos Supercies de topolog a arbitraria Parametrizaci on singular Splines bic ubicos C de topolog a arbitraria Ejercicios
1
10 Representaciones de B ezier de parches triangulares 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 Polinomios de Bernstein multivariados Simples de B ezier Precisi on lineal El algoritmo de de Casteljau Derivadas Convexidad de supercies funcionales Limitaciones de la convexidad Ejercicios 141 143 145 146 147 148 150 152
11 T ecnicas de B ezier para parches triangulares 11.1 11.2 Polinomios sim etricos El teorema fundamental 155 157
Contenido 11.3 11.4 11.5 11.6 11.7 11.8 11.9 Subdivisi on y reparametrizaci on Convergencia bajo subdivisi on Generaci on de supercies El polinomio sim etrico de la derivada Conexiones C simples Elevaci on de grado Convergencia por elevaci on de grado
r
XIII 157 159 160 161 162 163 164 166 167 168
11.10 Conversi on a la representaci on tensorial de B ezier 11.11 Conversi on a la representaci on triangular de B ezier 11.12 Ejercicios 12 Interpolaci on 12.1 12.2 12.3 12.4 12.5 12.6 12.7 Interpolaci on de Hermite El interpolador de Clough-Tocher El interpolador de Powell-Sabin Supercies de topolog a arbitraria Parametrizaci on singular Splines C 1 de grado cinco de topolog a arbitraria Ejercicios
13 Construcci on de supercies suaves 13.1 13.2 13.3 13.4 13.5 13.6 La conexi on general C 1 Conexi on de dos parches triangulares c ubicos Un interpolador triangular G El problema de la paridad Ejercicios
1
14 Construcciones - Gk 14.1 14.2 14.3 14.4 14.5 La conexi on general C k Conexiones G usando curvas transversales Conexiones G usando la regla de la cadena Supercies G de topolog a arbitraria Parches suaves de n lados
k k k
15 Subdivisi on estacionaria para mallas regulares 15.1 15.2 15.3 15.4 15.5 15.6 15.7 15.8 15.9 Esquemas de producto tensorial Subdivisi on estacionaria en general y m ascaras Teoremas de convergencia Promedios crecientes C alculos con esquemas de diferencias C alculos con esquemas de promedios Subdivisi on de mallas triangulares Box splines sobre mallas triangulares Subdivisi on de mallas hexagonales 205 207 209 211 212 214 215 217 219 221 222
15.10 Half-box splines sobre mallas triangulares 15.11 Ejercicios 16 Subdivisi on estacionaria para mallas arbitrarias 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 16.9 El esquema del punto medio La supercie l mite La parametrizaci on standard La matriz de subdivisi on Continuidad de supercies obtenidas por subdivisi on La aplicaci on caracter stica Suavidad de orden superior Mallas triangulares y hexagonales Ejercicios
III
Splines Multivariados
17 Box splines 17.1 17.2 17.3 17.4 Denici on de box splines Box splines como sombras Propiedades de los box splines Derivadas de un box spline 239 240 242 243
Contenido 17.5 17.6 17.7 17.8 17.9 Propiedades de las supercies box spline Subdivisi on de supercies box spline Convergencia bajo subdivisi on Half-box splines Supercies half-box
17.10 Ejercicios 18 Simplex splines 18.1 18.2 18.3 18.4 18.5 18.6 18.7 Sombras de simples Propiedades de los simplex splines Simplex splines normalizados Inserci on de nodos Una relaci on de recurrencia Derivadas Ejercicios
19 Splines multivariados 19.1 19.2 19.3 19.4 19.5 19.6 19.7 19.8 19.9 Generalizaci on del algoritmo de de Casteljau B-polinomios y B-parches Precisi on lineal Derivadas de un B-parche B-splines multivariados Combinaciones lineales de B-splines Una relaci on de recurrencia Derivadas de un spline El teorema fundamental 269 271 272 273 275 277 279 280 281 282 285 295
XVI
Contenido
Parte I
Curvas
1 Nociones b asicas
1.1 Espacios anes 1.2 Combinaciones anes 1.3 Aplicaciones anes 1.4 Curvas y supercies param etricas 1.5 Ejercicios
El espacio tridimensional se puede ver como un conjunto de puntos; un vector describe la direcci on y la longitud del segmento entre dos puntos. La interpretaci on del espacio tridimensional como un espacio de puntos y no como un espacio vectorial tiene la ventaja de que no es necesario designar un punto especial como origen. Este hecho se reeja en la simetr a de las coordenadas baric entricas. Como este libro presenta conceptos que ocurren en el espacio tridimensional de puntos, en este primer cap tulo presentamos una breve introducci on a las propiedades del espacio de puntos, denominado espacio af n.
1.1
Espacios anes
Denotamos con A al espacio af n sobre un espacio vectorial V. En este texto consideramos solamente espacios vectoriales de dimensi on nita sobre I R , lo cual signica que tanto los puntos de A, como tambi en los vectores de V, pueden representarse por elementos de I Rn . Por lo tanto x I Rn representa un punto o un vector dependiendo del contexto. Dados dos puntos p y q, el vector de p a q se obtiene como la diferencia de sus coordenadas v =qp otese que podemos sumar un vector y un como se ilustra en la Figura 1.1. N punto, pero la suma de dos puntos no est a denida. Podemos distinguir entre puntos y vectores utilizando coordenadas extendidas:
x e
representa un
punto vector
si e = 1 si e = 0
1. Nociones b asicas
La representaci on anterior de puntos y vectores depende de un sistema de coordenadas: dado un punto p de A y n vectores v1 , v2 , . . . vn que forman una base V; entonces cada punto q de A tiene una u nica representaci on q = p + v1 x1 + + vn xn . Esto es, la columna x = [x1 . . . xn ]t I Rn representa al punto q con respecto al sistema de coordenadas anes p; v1 , . . . , vn . El punto p se denomina origen, del sistema de coordenadas. La columna coordenada del origen es [0 . . . 0]t y se denota por o. La dimensi on de A se dene como la dimensi on n del espacio vectorial subyacente V.
1.2
Combinaciones anes
Los m + 1 puntos p0 , . . . , pm de un espacio af n A se llaman anmente independientes si los m vectores p1 p0 , . . . , pm p0 son linealmente independientes. N otese que esta denici on no depende de la ordenaci on de los puntos pi . V ease el Ejercicio 1. Sea n la dimensi on de A, si p0 , , . . . , , pn son n + 1 puntos anmente independientes entonces cada q en A se puede expresar como q = p0 + (p1 p0 )x1 + + (pn p0 )xn = p0 x0 + + pn xn , donde 1 = x0 + +xn . Los coecientes xi son las coordenadas baric entricas de q con respecto al marco p0 . . . pn . La secuencia ordenada p0 , . . . , pn se denomina marco. N otese que x0 , . . . , xj 1 , xj +1 , . . . , xn son las coordenadas anes de q con respecto al origen pj y los n vectores pi pj , i = j .
En particular, si n = 1 el punto q = p0 (1 x) + p1 x traza la interpolaci on lineal de p0 y p1 . La raz on x : 1 x se denomina la raz on simple de q con otese que en nuestra notaci on 1 x = x0 respecto a p0 y p1 , ver Figura 1.2. N y x = x1 .
Figura 1.2: Interpolaci on lineal y raz on. baric entricas de cualesquiera m puntos de A. Entonces la suma ponderada a= ai i representa un punto vector si si i = 1 i = 0
Si los pesos i suman 1, entonces a = ai i se denomina una combinaci on af n . Si adem as, los pesos son no negativos, entonces a es una combinaci on convexa. En este caso se tiene que a yace en la c apsula convexa de los puntos ai , vea el Ejercicio 4.
1.3
Aplicaciones anes
Sean A y B espacios anes, U y V sus espacios vectoriales subyacentes, de dimensi on m y n, respectivamente. Una funci on : A B se denomina aplicaci on af n si se puede representar, con respecto a alguno de nuestros sistemas de coordenadas, a trav es de una matriz A, de dimensi on n m tal que y = (x) = a + Ax, donde a es la imagen del origen. La aplicaci on lineal : U V dada por v = (u) = Au se denomina la aplicaci on lineal subyacente de . Usando coordenadas extendidas, ambas aplicaciones tienen la misma representaci on matricial y 1 = A ot a 1 x , 1 v 0 = A ot a 1 u 0 ,
= A
= A
1. Nociones b asicas Una aplicaci on af n conmuta con las combinaciones anes, es decir ( ai i ) = (ai )i .
Adem as, Una aplicaci on af n est a completamente determinada por un marco de dimensi on dimA + 1 p0 . . . pm y su marco imagen q0 . . . qm . La primera propiedad tambi en caracteriza las aplicaciones anes, ver el Ejercicio 5. La segunda propiedad se puede expresar esquem aticamente
-1
m+1
n+1
q0
...
qm
p0
...
pm
1.4
Una columna x de I Rd cuyas coordenadas dependen de un par ametro t recorre una curva param etrica x1 (t) . x(t) = . . . xd (t) Usualmente pensamos en x(t) como una curva de puntos. En particular si las funciones coordenadas xi (t) son polinomios de grado menor o igual que n entonces x(t) es una curva polin omica de grado n en t. El gr aco de una funci on x(t) es una curva que tiene una forma especial. x(t) = t . x(t)
1.5. Ejercicios
Las curvas descritas por gr acos de funciones se denominan curvas funcionales. La Figura 1.3 presenta dos ejemplos de curvas param etricas que no son funcionales. En la izquierda est a la parabola de Neil x = [t2 t3 ]t y, a la derecha, la curva x = [t2 t3t]t .
Figura 1.3: Curvas param etricas con c uspide y lazo. An alogamente, una columna x que depende de dos par ametros, s y t, describe una supercie param etrica (note que la supercie podr a degenerar a un punto o a una curva). x1 (s, t) . . x(s, t) = . . xd (s, t)
La supercie se denomina polin omica de grado total n si los xi son polinomios de grado total menor o igual que n en s y t, y por lo menos uno de los xi tiene grado total n. El gr aco de una funci on x(s, t) de dos variables determina una supercie polin omica que tiene una forma especial: s x(s, t) = t . x(s, t) Estas supercies se denominan supercies funcionales.
1.5
Ejercicios
1 Demostrar que m + 1 puntos p0 , . . . , pm son independientes si y s olo si sus coordenadas extendidas 0 , . . . , m son linealmente independientes. 2 Las soluciones de un sistema lineal hom ogeneo forman un espacio vectorial. Verique que el conjunto de soluciones de un sistema lineal no hom ogeneo forma un espacio af n.
8 3 Considere la combinaci on af n p = a + b + c 1= ++
1. Nociones b asicas
de tres puntos independientes. Muestre que las coordenadas baric entricas , , determinan las razones ilustradas en la Figura 1.4.
Figura 1.4: Razones en un tri angulo. 4 La c apsula convexa de r puntos a1 , . . . , ar de un espacio af n A es el subconjunto minimal que contiene los puntos a1 , . . . , ar , y satisface que para cualesquiera dos puntos contenidos en este subconjunto, el segmento que los une tambi en pertenece al subconjunto. Pruebe que la c apsula convexa consiste en todas las combinaciones convexas de los ai . 5 Demuestre que una aplicaci on entre dos espacios anes que preserva combinaciones anes es una aplicaci on af n. 6 Demuestre que una aplicaci on entre dos espacios anes que preserva combinaciones anes de dos puntos preserva tambi en combinaciones anes de cualquier n umero nito de puntos. 7 Demuestre que el conjunto de combinaciones anes de r + 1 puntos independientes de un espacio A forma un subespacio af n r-dimensional de A.
2 Representaci on de B ezier
2.1 Polinomios de Bernstein 2.2 Curvas de B ezier 2.3 El algoritmo de on singular 2.6 Un de Casteljau 2.4 Derivadas 2.5 Parametrizaci algoritmo tetra edrico 2.7 Integraci on 2.8 Conversi on a la representaci on on a la forma monomial 2.10 Ejercicios de B ezier 2.9 Conversi
Toda curva polin omica admite una representaci on mediante su pol gono de B ezier. Existe una estrecha relaci on geom etrica cercana entre una curva polin omica y su pol gono de B ezier. Ambos tienen los mismos puntos extremos y las tangentes en estos puntos coinciden; la curva yace en la c apsula convexa del pol gono. Es m as, los algoritmos m as r apidos y num ericamente m as estables para desplegar gr acamente una curva polin omica se basan en su representaci on de B ezier.
2.1
Polinomios de Bernstein
n
i=0
n i u (1 u)ni , i
i = 0, . . . , n ,
representadas en la Figura 2.1 para n = 4. Las siguientes propiedades de los polinomios de Bernstein de grado n son importantes para nuestros prop ositos: Son linealmente independientes. De hecho, dividiendo
10
2. Representaci on de B ezier
obtenemos
n i i=0 bi s
1 0
para
i=0 i>0
para todo u I R .
para u (0, 1) .
11
Observaci on 1: El c alculo de los polinomios de Bernstein de grado n se puede organizar en un esquema triangular tal como se muestra en la recursi on dada por la regla de la derecha:
0 1 = B0 1 B0 1 B1 2 B0 2 B1 2 B2
.. .
n B0 n B1 n B2 . . . n Bn
regla * *
u PP q P 1u
2.2
Curvas de B ezier
n Los polinomios de Bernstein Bi de grado n forman una base para el espacio vectorial de polinomios de grado menor o igual que n. Por lo tanto toda curva polin omica b(u) de grado n tiene una u nica representaci on de B ezier n
b(u) =
i=0
n ci Bi (u).
deja invariante el grado de b, por lo tanto b(u(t)) tambi en tiene una u nica n representaci on de grado n, en t erminos de los Bi (t)
n
b(u(t)) =
i=0
n bi Bi (t).
Los coecientes bi en I Rd se denominan puntos de B ezier y son los v ertices del pol gono de B ezier de b(u) sobre el intervalo [a, b]. Nos referimos a t como el par ametro local y a u como el par ametro global de b, ver la Figura 2.2. La representaci on de B ezier de la curva polin omica hereda las propiedades de los polinomios de Bernstein listadas en 2.1
12
2. Representaci on de B ezier
Figura 2.2: Una curva c ubica con su pol gono de B ezier sobre [a, b]. La simetr a de los polinomios de Bernstein implica
n n n bi Bi (t) = i=0 i=0 n bni Bi (s),
b(u) = donde
u = a(1 t) + bt = b(1 s) + as Nos referimos a la primera y segunda suma como las representaciones de B ezier de b sobre [a, b] y [b, a], respectivamente; o sea que usamos intervalos orientados para distinguir las dos curvas polin omicas. Los extremos del segmento de curva b[a, b] son b(a) = b0 y b(b) = bn .
Como los polinomios de Bernstein suman uno, b(u) es una combinaci on af n de sus puntos de B ezier. En consecuencia, la representaci on de B ezier es anmente invariante, es decir, dada una aplicaci on af n , la curva imagen (b) tiene a los (bi ) como puntos de control, sobre [a, b]. Como los polinomios de Bernstein son no negativos en [0, 1], se tiene que para todo u [a, b], b(u) es una combinaci on convexa de los bi . Por lo tanto el segmento de curva b[a, b] yace en la c apsula convexa de los bi , tal como se ilustra en la Figura 2.3.
13
Figura 2.3: La c apsula convexa de un pol gono de B ezier. Observaci on 2: Usando la propiedad de la c apsula convexa, para cada coordenada b(u) se obtiene una caja de acotaci on para el segmento de curva b[a, b]. Esto es b[a, b] [min bi , max bi ] ,
i=0 i=0 n n
u [a, b] ,
2.3
Algoritmo de de Casteljau
n
n (t) se puede evaluar usando el algoritmo de de Una curva b(u) = i=0 bi Bi Casteljau [Casteljau 59]. Esto usualmente se hace para t [0, 1]. El proceso es como sigue: usando las relaciones de recurrencia para los polinomios de Bernstein y agrupando t erminos repetidamente se obtiene n n1 n b0 i Bi (t) = i=0 i=0 n1 (t) = = b1 i Bi 0 0 n bn i Bi (t) = b0 , i=0
b(u) = donde
+1 k bk = (1 t)bk i + t bi+1 . i
14
2. Representaci on de B ezier
La Figura 2.5 ilustra dos ejemplos de evaluaci on de la curva b(u), en los puntos t = 0.4 (izquierda) y t = 1.4 (derecha). Los puntos intermedios bk i del algoritmo de de Casteljau pueden organizarse en un esquema triangular, el cual sugiere su generaci on recursiva:
Figura 2.5: La construcci on de de Casteljau para puntos dentro y fuera de [0, 1]. b0 b1 b2 . . . bn b1 0 b1 1 regla b2 0 . .. a b
1-t P PP q t
2 b1 n1 bn2
bn 0
c = a(1 t) + bt
Observaci on 3: Si t yace en [0, 1], entonces la construcci on de de Casteljau involucra solamente combinaciones convexas, lo que garantiza la estabilidad num erica del algoritmo. Observaci on 4: El m etodo de Horner es un algoritmo optimo, desde el punto de vista del n umero de operaciones, para evaluar polinomios en forma monomial. Este m etodo tambi en se puede usar para evaluar una curva n b(t) = bi Bi (t), en su representaci on de B ezier. Despu es de expresar b(t) como:
n
b(t) = (1 t)n
bi
i=0
n i
t 1t
primero se eval ua la expresi on en par entesis usando el m etodo de Horner para el valor t/(1 t) y posteriormente se multiplica el resultado por (1 t)n . Sin embargo esta t ecnica falla cuando t est a cerca de 1. En este caso se usa la expresi on:
2.4. Derivadas
15
b(t) = tn
i=0
bni
n i
1t t
2.4
Derivadas
La derivada de un polinomio de Bernstein de grado n es f acil de calcular. De la denici on de los polinomios de Bernstein se obtiene: d n n1 n1 B (t) = n(Bi (t)) 1 (t) Bi dt i para i = 0, . . . , n.
n1 n1 Para unicar la notaci on hemos supuesto, como antes, que B 0. 1 Bn Luego dada una curva n
b(u) =
i=0
n bi Bi (t) ,
t=
ua , ba
obtenemos d n b(u) = du ba
n1 n1 bi Bi (t) , i=0
donde bi = bi+1 bi denota la primera diferencia hacia adelante, ver la Figura 2.6.
Figura 2.6: Curva de B ezier y su hod ografo. Si b(u) se considera un punto, entonces b (u) es un vector. Al sumarle un punto a b (u) se obtendr a un punto. En particular o + b (u) se denomina el primer hod ografo de b.
16
2. Representaci on de B ezier
Aplicando repetidamente la f ormula para la derivada, obtenemos la r esima derivada de b, b(r) (u) = n! (n r)!(b a)r
nr nr r bi Bi (t) , i=0
donde r bi = r1 bi+1 r1 bi es la r esima diferencia hacia adelante de bi . De modo an alogo se obtiene el segundo hod ografo y otros de orden superior. A partir de las f ormulas de las derivadas y de la propiedad de interpolaci on de los puntos de control en los extremos obtenemos el siguiente resultado observado por Pierre B ezier: Las derivadas r esimas hasta orden n, de b(u) en t = 0(t = 1) dependen de los primeros ( ultimos) r + 1 puntos de B ezier. El rec proco de esta observaci on tambi en es cierto. Geom etricamente, esto signica que las rectas tangentes de b en t = 0 y en t = 1 pasan por b0 , b1 y bn1 , bn , respectivamente. Los planos osculadores de b en t = 0 y t = 1 son generados por b0 , b1 , b2 y bn2 , bn1 , bn , respectivamente. La Figura 2.7 ilustra esta propiedad.
Figura 2.7: Tangentes y planos osculadores en los extremos. Observaci on 5: Si consideramos el pol gono de control de una curva de n B ezier b(u) = bi Bi (t), donde u = (1 t)a + t b, como una funci on lineal por trozos p(u) denida sobre [a, b], entonces la derivada p (u) del pol gono de B ezier son los puntos de B ezier de b (u). Esto se ilustra en la Figura 2.8 para una curva funcional.
17
2.5
Parametrizaci on singular
n
y su derivada
n1
(t) = n b
i=0
n1 bi Bi (t) ,
donde el punto indica derivaci on con respecto al par ametro t. (t) es cero en t = 0. Si b0 = o, entonces b Sin embargo, en t erminos de la reparametrizaci on singular t = s se obtiene d b(t(0)) = n.b1 ds Entonces, si b0 = o y b1 = o, la recta tangente de b(t) en t = 0 pasa por b0 y b2 , como se ilustra en la Figura 2.9.
18
2. Representaci on de B ezier
2.6
El c alculo de las diferencias y las combinaciones anes del algoritmo de de Casteljau se pueden combinar. Concretamente, la r- esima derivada de una curva b(u) =
n b0 i Bi (t),
t=
ua , ba
en un punto u puede ser calculada aplicando el algoritmo de de Casteljau a m ultiplos de las diferencias k bi . Como el c alculo de combinaciones anes es conmutativo, i j Pij = j i Pij ,
se tiene que el operador de diferencias hacia adelante conmuta con los pasos del algoritmo de de Casteljau. Por lo tanto, se puede calcular la derivada r esima en u calculando primero n r pasos del algoritmo de de Casteljau, seguido por r diferencias y posteriormente multiplicando por el factor n (n r + 1)/(b a)r . Entonces resulta: b(r) (u) = n (n r + 1) (b a)r
r r bn . 0
En particular esta f ormula nos dice que la tangente y el plano osculador de 1 1 2 2 2 b en u est an generados por bn , bn y bn , bn , bn , respectivamente, 0 1 0 1 2 ubica. tal como se ilustra en la Figura 2.10 para una c
2.7. Integraci on
19
ubicar espacialmente en un esquema tetra edrico, tal como se ilustra en la Figura 2.11 para n = 2, en la cual la regla recursiva est a dada por: c = a(1 t) + bt y d=ba .
Figura 2.11: El algoritmo tetra edrico. La recursi on anterior no es la u nica forma para calcular los k bj i . Otras posiblidades se obtienen eliminando a o b. Esto es: c = b + d(t 1) respectivamente. Cuando usamos una de estas reglas, en vez del paso correspondiente a la diferencia, entonces es suciente calcular solamente los puntos de los dos esquemas triangulares dados por los puntos del lado inferior izquierdo (o derecho) del tetraedro. Observaci on 7: N otese que tomar diferencias en general no es un proceso num ericamente estable. En consecuencia el c alculo de derivadas tampoco es estable. y c = a + dt.
2.7
Integraci on
n
t=
ua , ba
2. Representaci on de B ezier
b(u)du =
i=0
n+1 ci Bi (t) ,
i = n + 1, . . . , 1 ,
A partir de la f ormula anterior y de que b(u) interpola los extremos b0 y bn se deduce la siguiente igualdad
b
b(u)du =
a
ba (b0 + + bn ) n+1
y en particular,
1 0 n Bi (t)dt =
1 n+1
i = 0,...,n
2.8
Algunos sistemas antiguos de dise no asisitido por computadora (computer aided design - CAD) utilizan la base monomial para representar curvas. Por lo tanto es importante disponer de formas ecientes para transformar la presentaci on monomial de una curva a su representaci on de B ezier. Sea
n
b(t) =
i=0
ai
n i t i
=
k=0 ni
n i
=
k=0 n
i+k n Bi +k i j n Bj , i
=
j =0
21
n n bj Bj (t) ,
donde bj =
n i=0
j ai i
j i
= 0 para j < i.
La f ormula para convertir de la representaci on de B ezier a la monomial se obtiene de manera similar, expandiendo los polinomios de Bernstein, ver Ejercicio 4. En 2.9 presentaremos una deducci on diferente de esta f ormula de conversi on. Observaci on 8: Si a2 = = an = o, pero a1 = o, b(t) es un polinomio lineal y sus puntos de B ezier sobre [0, 1] son bj = a0 + j a1 . Tal como se ilustra en la Figura 2.12.
Figura 2.12: Distribuci on uniforme de puntos de B ezier sobre una recta. Observaci on 9: Rec procamente, si los n + 1 puntos de B ezier bi est an uniformemente distribuidos sobre una recta, entonces b(t) es un polinomio lineal y se puede escribir, b(t) = (1 t)b0 + tbn . Esta propiedad se denomina precisi on lineal de la representaci on de B ezier. Observaci on 10: Se desprende de la Observaci on 8 que la curva de B ezier funcional t n b(t) = , b(t) = bi Bi (t) , b(t) tiene puntos de B ezier [i/n bi ]t como se ilustra en la Figura 2.13. Los coecientes bi se denominan las ordenadas de B ezier de b(t) mientras que los puntos i/n, las abscisas de B ezier.
22
2. Representaci on de B ezier
2.9
Dada una curva polin omica en su representaci on de B ezier se obtiene su forma monomial utilizando la expansi on de Taylor,
n
b(u)
=
i=0 n
n bi Bi
ua ba (u a)i i!
=
i=0 n
b(i) (a)
=
i=0
n (u a)i . i b0 (b a)i i
Como i b0 = como
i i k=0 k
b(u) =
i=0 k=0
(1)ik
n i
i k
bk t i
Observaci on 11: Usando el algoritmo tetra edrico de 2.6 se puede calcular la expansi on de Taylor en u:
n
b(u + h) =
i=0
1 i n i bn hi . 0 (b a)i i
2.10
Ejercicios
n (t) tiene un s olo m aximo en 1 Muestre que el polinomio de Bernstein Bi [0, 1], en concreto en t = i/n.
2.10. Ejercicios
23
B [f ] =
i=0
n f (i/n)Bi (t).
Si f es un polinomio de grado m n, muestre que B [f ] tambi en lo es. Vea el Ejercicio 2 de 3.13 3 Demuestre que
i
i b0 =
k=0
i (1)ik bk . k
4 Encuentre la f ormula de conversi on de la presentaci on de B ezier a la monomial por medios algebraicos elementales como en 2.8. 5 Verique la identidad
n
n . . . (n k ) t
k+1
=
i=0
n i . . . (i k ) Bi (t).
6 Verique que una c ubica plana b(t) tiene una c uspide en t = 0, esto es: (0) = o y ambas t = 0 es un punto donde b(t) invierte su direcci on si b (0) son diferentes de cero (los puntos indican derivaci coordenadas de b on respecto a t). 7 Demuestre que una c ubica plana b(t) = si b3 yace en la par abola
3 i=0 3 bi Bi (t) tiene una c uspide
[Pottmann & DeRose 91]. 8 Para qu e escogencia de b3 , tiene b(t) un lazo? 9 Sea tiene
n i=0
ai
n i
ti =
n i=0
y 1 =
i j
3 T ecnicas de B ezier
3.1 Polinomios sim etricos 3.2 El teorema fundamental 3.3 Subdivisi on 3.4 Convergencia con la subdivisi on 3.5 Generaci on de curvas por subdivisi on 3.6 Generaci on de curvas por diferencias hacia adelante 3.7 Intersecci on 3.8 La propiedad de variaci on decreciente 3.9 El polinomio sim etrico asociado on de grado a la derivada 3.10 Conexiones C r simples 3.11 Elevaci 3.12 Convergencia por elevaci on de grado 3.13 Ejercicios
Muchos algoritmos para curvas de B ezier pueden ser considerados en el contexto de los polinomios sim etricos. En el presente cap tulo estudiamos la relaci on entre un polinomio de una variable y el polinomio sim etrico, de varias variables, que se le asocia. Presentamos tambi en los algoritmos b asicos del dise no geom etrico asistido por computadora (Computer Aided Geometric Design-CAGD) en t erminos de esta relaci on. El m as importante de estos algoritmos es el de de Casteljau, el cual es muy u til tanto en implementaciones pr acticas como en el contexto te orico.
3.1
A cada curva polin omica b(u) de grado n se le puede asociar un u nico polinomio sim etrico b[u1 . . . un ] con las siguientes tres propiedades: b[u1 . . . un ] coincide con b(u) sobre la diagonal, esto es b[u . . . u] = b(u) . b[u1 . . . un ] es sim etrico lo cual signica que, para cualquier permutaci on (v1 , . . . , vn ) de (u1 , . . . , un ) b[v1 . . . vn ] = b[u1 . . . un ], . b[u1 . . . un ] es af n en cada variable, esto es: b[(u + (1 )v ) u2 . . . un ] = b[u u2 . . . un ] + (1 )b[v u2 . . . un ] .
26
3. T ecnicas de B ezier
Cl asicamente, el polinomio sim etrico b[u1 . . . un ] se denomina forma polar asociada a b(u). M as recientemente se ha venido denominando blossom de b(u) [Ramshaw 87]. Para demostrar que cualquier polinomio de una variable tiene una forma polar es suciente encontrar las formas polares de los elementos de una base del espacio vectorial de polinomios. De hecho, dada cualquier combinaci on lineal
n
b(u) =
i=0
ci Ci (u)
donde cada Ci (u) tiene grado n y denotando sus formas polares por Ci [u1 . . . un ] se tiene que su forma polar est a dada por
n
b[u1 . . . un ] =
i=0
ci Ci [u1 . . . un ] .
N otese que la diagonal b[u . . . u] puede tener grado menor que n a pesar de que b[u1 . . . un ] depende de n variables. En el caso de que los Ci son los monomios An i = obtienen los polinomios sim etricos elementales An i [u1 . . . un ] =
1j1 < < ji n n i
ui , i = 0, . . . , n, se
uj1 . . . uji
los cuales satisfacen las tres propiedades de arriba. N otese que la suma en la productos de i variables. f ormula anterior se extiende sobre n i En el caso de que los Ci sean los polinomios de Bernstein
n (u) = Bi
n i u (1 u)ni i
se obtiene:
n Bi [u1 . . . un ] = k1 <<kni
j1 <<ji
donde (j1 , . . . , ji , k1 , . . . , kni ) es una permutaci on de (1, . . . , n). Como antes, las propiedades anteriores son f aciles de vericar.
n [u1 . . . un ] satisfacen la relaci on Observaci on 1: Los polinomios sim etricos Bi de recurrecia n+1 n n [u0 . . . un ] = u0 Bi Bi 1 [u1 . . . un ] + (1 u0 )Bi [u1 . . . un ] .
27
3.2
El teorema fundamental
La unicidad del polinomio sim etrico y su relaci on con la representaci on de B ezier est a dada por el siguiente teorema, el cual se generaliza en varias direcciones en este texto: Para cada curva polin omica b(u) de grado n existe un u nico polinomio sim etrico de n variables b[u1 . . . un ], el cual es multiaf n y su diagonal satisface b[u . . . u] = b(u). Es m as, los puntos bi = b[a n . . .i a b . i . . b] , i = 0, . . . , n , son los puntos de B ezier de b(u) sobre [a, b]. Demostraci on: En 3.1 demostramos la existencia de la forma polar b[u1 . . . un ] para un curva b(u). Por lo tanto podemos considerar los puntos:
j k i bk i = b[a . . . a u1 . . . uk b . . . b] ,
i+j+k =n .
Como bn etrico y multiaf n, puede calcularse a partir 0 = b[u1 . . . un ] es sim por medio de la siguiente relaci o n de recurrencia de los b0 i (1) donde tk =
+1 k = bk bk i (1 tk+1 ) + bi+1 tk+1 , i
uk a . ba
La Figura 3.1 ilustra este proceso, los puntos b[u1 . . . un ] se denotan por sus argumentos u1 . . . un . Es m as, si todos los uk son iguales a u, entonces la relaci on de recurrencia (1) se reduce al algoritmo de de Casteljau para la evaluaci on de b(u). En consecuencia, como la representaci on de B ezier es u nica, los puntos bi son los puntos de B ezier de b(u) sobre [a, b]. Por lo tanto, dos polinomios sim etricos que coinciden sobre la diagonal, coinciden tambi en sobre todos los argumentos enticos. Por lo tanto [a n . . .i a b . i . . b], y por la relaci on de recurrencia (1) son id b(u) tiene una u nica forma polar. 3
3.3
Subdivisi on
La relaci on de recurrencia (1) tal como se ilustra en la Figura 3.2 revela una importante propiedad del algoritmo de Casteljau.
28
3. T ecnicas de B ezier
1 n1
. bn 0 = b(c).
..
Figura 3.2: Subdivisi on. utilizado para calcular b(c), los puntos de B ezier
ni i bi 0 = b[a . . . a c . . . c]
i bn = b[c n . . .i c b . i . . b] i
29
de la curva sobre [a, c] y [c, b] se encuentran en la diagonal superior y la la inferior respectivamente. El c alculo de los puntos de B ezier sobre [a, c] y [c, b] se denomina subdivisi on. Al subdividir repetidamente una curva polin omica b(u) se genera una partici on [a0 , a1 ], [a1 , a2 ], . . . , [ak1 , ak ] de su dominio. La uni on de los pol gonos de B ezier sobre los subintervalos se denomina el pol gono de B ezier compuesto de b sobre [a0 , a1 , . . . , ak ]. En general el pol gono compuesto consta de kn + 1 v ertices.
3.4
El pol gono de B ezier de un segmento corto de una curva de B ezier es una buena aproximaci on a este segmento. En concreto, sean b0 , . . . , bn los puntos de B ezier de una curva b(u) sobre un subintervalo [c, c + nh] del intervalo [a, b] y sean ci = c + ih para i = 0, . . . , n. Entonces existe una constante M que no depende de c tal que max b(ci ) bi M h2 .
i
Demostraci on: Expandimos el polinomio sim etrico b[u1 . . . un ] alrededor de [ci . . . ci ] y evaluando en [u1 . . . un ] = [c n . . .i c c+nh . i . . c+nh] obtenemos bi = b[c n . . .i c c+nh . i . . c+nh] ih = b[ci . . . ci ] (n i)h b[ci . . . ci ] + b[ci . . . ci ] u u j j j =1 j =ni+1 +O(h2 ) , lo cual demuestra nuestra armaci on pues todas las derivadas parciales son iguales. En las pr oximas secciones se presentar an aplicaciones de esta propiedad. Una versi on m as general puede encontrarse en 6.3 para splines. Observaci on 2: En caso de la norma , el m nimo valor posible para la constante M, para el cual la estimaci on anterior es v alida para cualquier curva, est a dada por
i=0,...,n2 ni n
max
2 bi
n/2 n/2/2n .
Ver [Nairn et al. 99] y [Reif 00] Observaci on 3: La convergencia cuadr atica no puede ser mejorada, lo que se puede vericar para la par abola p(u) = u2 , cuyo punto de B ezier intermedio sobre [0, 2h] es cero y p(h) = h2 .
30
3. T ecnicas de B ezier
3.5
La t ecnica de subdivisi on provee un m etodo muy r apido para generar una aproximaci on a una curva de B ezier. De 3.4 se desprende que los pol gonos de B ezier sobre 1 2 [0, k , k , . . . , 1] 2 2 de una curva n b(t) = bi Bi (t) convergen al segmento de curva b[0, 1] con orden 1/4h . Esto sugiere el siguiente programa de gracaci on [Lane & Riesenfeld 80]: zier (b0 , . . . , bn ; k ) Plot Be if then else k=1 dibujar el pol gono b0 , . . . , bn calcular el pol gono de B ezier compuesto a0 , . . . , a2n n de bi Bi (t) sobre [0, 0.5, 1]. Plot B ezier (a0 , . . . , an , k 1) Plot B ezier (an , . . . , a2n , k 1)
La Figura 3.3 se obtuvo con el programa anterior aplicado al pol gono de control de una c ubica para k = 3.
Figura 3.3: Subdivisi on de un pol gono de B ezier. Adem as del n umero de iteraciones se pueden usar otros criterios de nalizaci on. Por ejemplo, se podr a parar cuando el pol gono de B ezier es aproximadamente un segmento de recta. Una medida simple de linealidad se basa en segundas diferencias hacia adelante. As , en el programa anterior se podr a
3.6. Generaci on de curvas por diferencias hacia adelante cambiar la primera l nea a si k=0 o max{ 2 bi | i = 0, . . . , n 2} < .
31
En vez de dibujar el pol gono de B ezier tambi en se podr a simplemente dibujar el segmento b0 bn si la condici on se satisfaciese. Una cota para la desviaci on con respecto a la curva est a dada por el siguiente teorema: Sea l(t) = b0 (1 t) + bn t el interpolante lineal de b(t) entonces se tiene 1 (t) sup b(t) l(t) sup b 8 0t1 0t1 1 n(n 1) max 2 bi , i=0,...,n2 8 donde denota la norma uno, la norma innito o la norma Eucl dea de vectores. ag. 39] y [Filip et al. 86]. Para la demostraci on consultar [de Boor 78, p Observaci on 4: Si b(u) tiene puntos de B ezier bi sobre [a, b] y puntos de B ezier ci sobre un subintervalo [c, c + h], entonces las diferencias 2 ci est an acotadas por (h/(b a))2 max 2 bi , vea el Ejercicio 3. Entonces, con respecto a h la aproximaci on por el interpolante lineal es cuadr atica. El orden de aproximaci on es cuadr atico en general. Entonces por la Observaci on 3, el pol gono de B ezier compuesto sobre [0, 21 m , . . . , 1] es una aproximaci on asint oticamente tan buena como la poligonal resultante de conectar los v ertices i , i = 0, 1, . . . , n2m b (n2m ) Observaci on 5: Desde el punto de vista num erico el programa anterior s olo hace evaluaciones de la forma (a + b)/2. Por lo tanto el proceso se puede acelerar si las divisiones se realizan como desplazamientos de bits. Luego hay aproximadamente (n + 1)/2 sumas vectoriales y una divisi on por cada v ertice del pol gono dibujado por el programa.
3.6
Otro m etodo r apido para calcular puntos sobre una curva de B ezier est a basado en la t ecnica de diferencias hacia adelante. Sea b(u) una curva polin omica y sean pi = b(a + ih) , i = 0, . . . , m ,
32
3. T ecnicas de B ezier
puntos sobre esta curva correspondientes a valores uniformemente distribuidos del par ametro. Si b(u) tiene grado n entonces se tiene que la diferencia hacia adelante n+1 pi es cero y n pi es constante (independientemente de i). Ver el Ejercicio 1. Este hecho se puede utilizar para calcular los puntos pi , i = n + 1, . . . , m, a partir de los puntos p0 , . . . , pn . En primer lugar se calcula la constante n p0 , tomando diferencias hacia adelante y luego se determinan los puntos pi , i > n por sumas repetidas hacia atr as. Este c alculo se puede organizar en una forma conveniente por medio del siguiente esquema: p0 p1 . . . pn
1 p0
..
1 pn1 n p0
regla Z ~ Z -
+
1 pn+1 pn
n p1 . . .
. . .
1 pm pm1 n pmn
recursi on + ?
+
Observaci on 6: Exceptuando el c alculo de los primeros n + 1 puntos p0 , . . . , pn y de las posiciones de la parte triangular del arreglo anterior, se requieren n sumas vectoriales por cada punto de la curva. Por lo tanto la generaci on de curvas por subdivisi on es casi dos veces m as r apida que por diferencias hacia adelante. Adem as el m etodo de subdivisi on es num ericamente m as estable, ver la Observaci on 5.
3.7
Intersecci on
La subdivisi on tambi en es u til para el c alculo de las intersecciones de dos curvas de B ezier b(s) = y c(t) =
n ci Bi (t) , m bi Bi (s) ,
s [0, 1] , t [0, 1] .
La idea fundamental para encontrar (o aproximar) la intersecci on de dos curvas de B ezier consiste en considerar los pol gonos de control de las curvas b(s) y c(t) y sus subdivisiones. Si la intersecci on de las c apsulas convexas
3.7. Intersecci on
33
Figura 3.4: Curvas intersecantes y curvas disjuntas. de los pol gonos de control es vac a entonces las curvas no se cortan. Si las c apsulas tienen intersecci on no vac a entonces estas podr an cortarse. En este caso subdividimos ambas curvas (por simplicidad) en s = 1/2 y t = 1/2 y vericamos si las c apsulas convexas de cada una de las mitades b[0, 1/2] y b[1/2, 1] tienen intersecci on con las c apsulas convexas de c[0, 1/2] y c[1/2, 1]. Este proceso se repite para todos los pares de segmentos de curvas cuyas c apsulas convexas se intersecan. Si nalmente, las c apsulas convexas se hacen peque nas y alargadas entonces las curvas se pueden aproximar por segmentos de recta cuyas intersecciones son f aciles de calcular. En vez de c apsulas convexas, es mucho m as f acil usar cajas de acotaci on [min bi , max bi ] y [min ci , max ci ]. Vea la Observaci on 1 en 2.2. Esta idea sugiere el siguiente programa para calcular la intersecci on de dos segmentos de B ezier:
INTERSECTAR(b0 , . . . , bm ; c0 , . . . , cn ; ) if then [min bi , max bi ] [min cj , max cj ] = if m(m 1) max 2 bi > then calcular el pol gono de B ezier compuesto b 0 , . . . , b2m m de bi Bi (s) sobre [0, 0.5, 1], INTERSECTAR (b 0 , . . . , bm ; c0 , . . . , cn ; ) INTERSECTAR(bm , . . . , b2m ; c0 , . . . , cn ; ) else if n(n 1) max 2 ci > then calcular el pol gono de B ezier compuesto c 0 , . . . , c 2n n de ci Bi (t) sobre [0, 0.5, 1], INTERSECTAR (b0 , . . . , bm ; c 0 , . . . , c n ; ) INTERSECTAR (b0 , . . . , bm ; cn , . . . , c 2n ; ) else intersectar los segmentos de recta b0 bm y c0 cn
34
3. T ecnicas de B ezier
3.8
La subdivisi on no es solamente una herramienta de utilidad pr actica sino tambi en es importante desde el punto de vista te orico. A continuaci on vemos como esta se puede emplear para demostrar la propiedad de la variaci on decreciente: El n umero de veces que un plano arbitrario H corta a una curva b(t); t [0, 1] es menor o igual que el n umero de veces que H corta al pol gono de B ezier de b(t). La Figura 3.5 muestra un ejemplo.
Figura 3.5: Intersecci on con un hiperplano. Para demostrarlo primero observamos que el algoritmo de de Casteljau es un proceso repetido de recorte de esquinas para cualquier t [0, 1]. Entendemos por esquina el extremo com un de dos segmentos en el espacio. Esto se ilustra en la Figura 3.6 para una esquina.
Figura 3.6: Recorte de una esquina. Si el segmento ac corta H entonces el pol gono abc tambi en corta H. (Note que el rec proco, sin embargo no es cierto en general.) En consecuencia el pol gono de B ezier sobre cualquier subdivisi on [0, t1 , . . . , tk , 1] de [0, 1] tiene a lo sumo el mismo n umero de intersecciones con H que el pol gono de B ezier sobre [0, 1]. En particular, si los ti se escogen de manera que b(t1 ), . . . , b(tk ) son las intersecciones de b con H, entonces tenemos que el pol gono de B ezier tiene
35
Observaci on 7: Si una curva o un pol gono en I Rd corta cualquier plano en a lo sumo dos puntos o yace en ese plano entonces la curva o el pol gono es necesariamente plano y se denomina convexo. Como consecuencia de la propiedad de la variaci on decreciente se tiene que toda curva con un pol gono de B ezier conexo es a su vez tambi en convexa. Sin embargo, el rec proco de esto no es cierto en general, como se ilustra en la Figura 3.7. Vea tambi en el Ejercicio 11.
Figura 3.7: Cu artica convexa con un pol gono de B ezier no convexo. Observaci on 8: El gr aco de un polinomio b(t) =
n bi Bi (t), t [0, 1]
es convexo o c oncavo si y s olo si b(t) 0 o b(t) 0. Su pol gono de B ezier es convexo o c oncavo si y s olo si todas las diferencias satisfacen 2 bi 0 o 2 bi 0.
3.9
Las derivadas de una curva polin omica b(u) pueden escribirse en t erminos de su forma polar b[u1 . . . un ]. De 2.6 o simplemente derivando el polinomio sim etrico se obtiene n (b[b u . . . u] b[a u . . . u]) , b (u) = ba b (u) = n(b[1u . . . u] b[0 u . . . u]) . Vericando las tres propiedades que caracterizan la forma polar de b(u) encontramos que el polinomio multiaf n sim etrico de b (u) est a dado por b [u2 . . . un ] = n(b[1 u2 . . . un ] b[0 u2 . . . un ]) .
36
3. T ecnicas de B ezier
En particular, el polinomio sim etrico b[u1 u2 . . . un ] de la curva inicial b(u) es una aplicaci on af n en u1 , si jamos u2 , . . . , un . Por lo tanto b[ u2 . . . un ] = b[b u2 . . . un ] b[a u2 . . . un ] representa la aplicaci on lineal subyacente, donde = b a. En aras de claridad en la presentaci on, denotamos las diferencias de par ametros anes, o sea vectores, por medio de letras griegas. En particular usamos la notaci on = 1 0. Entonces la derivada puede escribirse b (u) = n b[ u . . . u] . Iterando el proceso de derivaci on obtenemos el polinomio sim etrico de la r- esima derivada de b(u) b(r) [ur+1 . . . un ] = donde
1 1u r 1 b[ . r . . ur+1 . . . un ] = b[ r . .. r +1 . . . un ] b[ . . . 0 ur +1 . . . un ] .
n! b[ . r . . ur+1 . . . un ] , (n r)!
Observaci on 9: Como b[u1 . . . un ] es af n en cada variable, entonces la primera derivada est a dada por
u1 b[u1
. . . un ] = = =
3.10
Conexiones C r simples
La subdivisi on es tambi en una t ecnica u til para describir cuando dos curvas b(u) y c(u) dadas por los pol gonos de control b0 , . . . , bn sobre [a, b] y c0 , . . . , cn sobre [b, c] se conectan diferenciablemente. De 2.4 se desprende que las derivadas hasta orden r en u = b determinan y son determinadas por los puntos de B ezier bnr , . . . , bn sobre [a, b] y c0 , . . . , cr ark 76]. sobre [b, c]. Entonces obtenemos el teorema de St ark [St
3.10. Conexiones C r simples Las derivadas de b y c en u = b son iguales hasta orden r, si c0 , . . . , cr son los primeros r + 1 puntos de B ezier de b sobre [b, c]. Esto signica que b[b n . . .i b c . i . . c] = ci para i = 0, . . . , r .
37
Usando 3.2, el Teorema de St ark, se puede rescribir Las derivadas de las curvas b y c son iguales hasta orden r en r b u .r r u = b si y s olo si los polinomios b[b n . .. . . u] y c[b n . .. r b u . . . u] son iguales.
r b u .r El polinomio b[b n . .. . . u] tiene el pol gono de B ezier compuesto bnr , . . . , bn , ci , . . . , cr . Los puntos ci , i r se pueden calcular a partir de los bni aplicando el algoritmo de de Casteljau.
Las Figuras 3.8 y 3.9 ilustran conexiones C r simples obtenidas a trav es de la construcci on de St ark. El lado izquierdo de la Figura 3.9 representa un A-marco.
38
3. T ecnicas de B ezier
Observaci on 10: Como dos polinomios son iguales si y s olo si sus formas polares son iguales, se tiene que las derivadas hasta orden r de b(u) y c(u) son iguales en u = b si y s olo si sus formas polares satisfacen
r b u . . . u ] = c[b n r b u ...u ] b[b n . .. . .. 1 r 1 r
3.11
Elevaci on de grado
Para cualquier curva de grado n y todo m n, existe una representaci on de B ezier de grado m para la curva. La conversi on a una representaci on de grado mayor se utiliza en ciertas construcciones con supercies y a veces se requiere para el intercambio de datos entre diferentes sistemas de CAD. Esta conversi on de denomina elevaci on de grado. Dada una representaci on de B ezier de grado n de una curva, b(u) b(u) =
n bi Bi (t)
mostraremos como elevar el grado de esta presentaci on en uno. Esto es, n+1 escribiremos b(u) en t erminos de polinomios Bi (t), para lo que utilizamos el polinomio sim etrico b[u1 . . . un ] de b(u). Denotamos con un asterisco la ausencia del t ermino indicado en una secuencia y denimos: (2) c[u0 . . . un ] = 1 n+1
n
b[u0 . . . u i . . . un ] .
i=0
Es f acil vericar que este polinomio en n +1 variables es multiaf n, sim etrico y que coincide con b(u) sobre la diagonal. Entonces por el teorema fundamental en 3.2 se tiene que ci = = =
i n+1 i n+1
b[a n . . .i a b . i . . b] bi
son los puntos de B ezier de b(u) sobre [a, b] en su representaci on de grado n + 1. La Figura 3.10 ilustra la construcci on para n = 3. Observaci on 11: La aproximaci on de un polinomio de grado exactamente m con un polinomio de grado n < m se denomina reducci on de grado, v ease por ejemplo [Eck 93, Eck 95, Lutterkort et al 99].
39
3.12
El proceso de elevaci on de grado se puede repetir hasta obtener una representaci on de grado tan alto como se quiera
m
b(t) =
k=0
m dk Bk (t) ,
m>n .
dk =
i=0
bi ik ,
donde ik =
n i
se denomina distribuci on polihipergeom etrica en la teor a de probabilidades. La construcci on de la representaci on de grado m es como sigue:
n
m mn / k ki
b(t)
= =
i=0 n m n i=0 j =0 m n
n (t)(1 t + t)mn bi Bi
bi
n i
m n i+j t (1 t)mij j
m Bk (t) ,
=
k=0 i=0
bi ik
donde
k =i+j ,
vea [Farin 86, de Boor 87]. An alogamente a la propiedad de convergencia por subdivisi on, el pol gono de B ezier de la representaci on de grado m de b(t) converge a b[0, 1] , cuando
40
3. T ecnicas de B ezier
m tiende a , vea [Farin 79, Trump & Prautzsch 96]. Rescribiendo ik , obtenemos: ik = n i k m =0
i1 n1 =i
mk+i m
n i ni (k/m) (1 k/m) + O(1/m) = i n = Bi (k/m) + O(1/m) . Sustituyendo en la ecuaci on de los dk se obtiene max
k=0 m
dk b(k/m) = O(1/m) ,
vea tambi en 11.8 Una prueba diferente, m as general, de este hecho se puede encontrar en 6.6 para splines. Vea el Ejercicio 6 de 6.9 para una construcci on eciente de los dk .
3.13
Ejercicios
1 Considere los desplazamientos uniformes i (x) = (x ih) de una curva polin omica de grado exactamente n. Demuestre que la curva k i (x) tiene grado exactamente n k . 2 Demuestre que el operador de Bernstein
n
B [f ](u) =
u = nh t ,
tiene orden de aproximaci on 2, es decir, si f es dos veces diferenciable, entonces max B [f ](u) f (u) = O(h2 ) .
u[0,nh]
3 Sean b0 , . . . , bn los puntos de B ezier sobre el intervalo [a, b] y sean c0 , . . . , cn los puntos de B ezier de la misma curva sobre el subintervalo [c, c + h] de [a, b]. Demuestre que max k ci h ba
k i=0,...,nk
i=0,...,nk
max
k bi
3.13. Ejercicios
41
4 Sea b una curva polin omica. Pruebe que la longitud de arco de su 1 2 pol gono de B ezier compuesto sobre [0, m , m , . . . , 1] converge cuadr atica1 en mente en 1/m a la longitud de arco 0 b(t) 2 dt de b[0, 1]. Vea tambi [Kobbelt & Prautzsch 95, Gravesen 97]. 5 Verique que la longitud de arco de los pol gonos de B ezier de las representaciones de grado m, construidos por elevaci on de grado de b, converge linealmente en 1/m a la longitud de arco de b[0, 1]. 6 Dise ne un algoritmo que encuentre las autointersecciones de una curva de B ezier plana. Si una curva se interseca a s misma, qu e se puede decir del hod ografo? 7 Encuentre dos c ubicas denidas sobre [0, 1] tales que las curvas y tambi en sus pol gonos de B ezier tengan 9 intersecciones. 8 Encuentre dos c ubicas sobre [0, 1] que tengan extremos comunes y que se intersecten en m as puntos que sus pol gonos de B ezier. 9 Describa un algoritmo que verique si dos cajas con lados paralelos a los ejes coordenadas se intersecan. 10 Considere una curva b que interseca o toca cualquier hiperplano en un punto o a lo largo de un segmento. Demuestre que b yace en un subespacio m-dimensional. 11 Demuestre que el pol gono de B ezier de grado m de b(x) = x4 sobre [1, 1] es no convexo para todo m 4. 12 Considere la representaci on de B ezier de grado m de una curva polin omica m m de grado n, b(t) = i=0 bi Bi (t). Demuestre que existe un polinomio p de grado n tal que p(i/m) = bi . 13 Verique que b(t) = [t2 t]t y b(t2 ) recorren el mismo segmento de curva sobre [0, 1] pero tienen diferentes pol gonos de B ezier de grado 4. 14 Use los polinomios sim etricos para probar la f ormula de elevaci on de grado de 3.12:
n
dk =
i=0
bi ik .
4 Interpolaci on y aproximaci on
4.1 Interpolaci on 4.2 Interpolaci on de Lagrange 4.3 Interpolaci on de on de Hermite 4.5 Interpolaci on de Hermite c ubica Newton 4.4 Interpolaci por trozos 4.6 Aproximaci on 4.7 Ajuste por m nimos cuadrados 4.8 Mejoras en el par ametro 4.9 Ejercicios
En modelaci on geom etrica, as como tambi en en otras aplicaciones, con frecuencia hay que encontrar expresiones anal ticas, usualmente de curvas de las cuales no se conoce una descripci on matem atica o esta es muy complicada. En este caso se mide o se eval ua la curva en un conjunto de puntos y se construye una aproximaci on o interpolaci on. Este cap tulo describe algunas de las t ecnicas b asicas.
4.1
Interpolaci on
Un conjunto de n funciones C1 (u), . . . , Cn (u) se dice linealmente independiente sobre los valores u1 , . . . , un si la matriz C1 (u1 ) Cn (u1 ) . . . . C= . . C1 (un ) Cn (un ) es no-singular. En tal caso, para cualesquiera n puntos p1 , . . . , pn I Rd existe una u nica curva
n
p(u) =
i=1
xi Ci (u)
44
4. Interpolaci on y aproximaci on
Para vericarlo escribimos las condiciones de interpolaci on en forma matricial t t p1 x1 C1 (u1 ) . . . Cn (u1 ) . . . . . . . . . = . . . C1 (un ) . . . Cn (un ) xt n pt n o en forma abreviada CX = P lo que representa d sistemas de ecuaciones lineales simult aneas para las d columnas de X . La existencia de la soluci on se desprende de la independencia de C1 , . . . , Cn sobre u1 , . . . , un . 3
Figura 4.1: Curva interpolante Observaci on 1: Si los Ci son polinomios de grado n 1, la matriz C es invertible para cualesquiera n valores distintos u1 , . . . , un . De hecho, el sistema C x = o (para una sola columna x) tiene solamente la soluci on trivial x = o pues el polinomio cero es el u nico polinomio de grado n 1 con n raices. Observaci on 2: Dos puntos pueden interpolarse con una recta, tres con una par abola, cuatro con una c ubica, etc.
4.2
Interpolaci on de Lagrange
Un m etodo simple para construir una interpolaci on polin omica fue propuesto por Lagrange. Dados n + 1 puntos pi con sus correspondientes valores param etricos ui , i = 0, . . . , n, de acuerdo con la Observaci on 1 existe una u nica curva polin omica p de grado n que interpola dichos puntos. Dicha curva puede escribirse como
n
p(u) =
i=0
pi Ln i (u) ,
donde los polinomios de Lagrange Ln i (u) se denen como Ln i (uk ) = 1 0 seg un k=i . k=i
45
Figura 4.2: Polinomio de Lagrange de grado 3. La Figura 4.2 muestra un ejemplo. Claramente, se tiene Ln i =
n j =0, j =i (u uj ) n j =0, j =i (ui uj )
Existen diferentes maneras para evaluar los polinomios de Lagrange. Una posibilidad consiste en usar la siguiente relaci on de recurrencia: primero observe que los polinomios de Lagrange suman uno,
n i=0
Ln i (u) 1 .
si i = 0, . . . , k 1 jk ) si i = k ,
Como en el algoritmo de de Casteljau en 2.3, mediante esta relaci on de recurrencia se obtiene un m etodo iterativo para evaluar p(u) a partir de los puntos p0 i = pi tomando combinaciones anes.
n
p(u) =
i=0 n1
n p0 i Li (u)
=
i=0
n1 (u) p1 i Li
. . .
0
=
i=0
0 n pn i Li (u) = p0 ,
46 donde
4. Interpolaci on y aproximaci on
Esta forma de calcular p(u) se denomina el algoritmo de Aitken. N otese k que los polinomios pk i = pi (u) tienen grado k e interpolan los puntos pi y pn , . . . , pnk+1 . Observaci on 3: La evaluaci on de los polinomios de Lagrange, por el m etodo anterior, puede organizarse mediante el siguiente esquema triangular: 1 = L0 0 L1 0 L1 1 L2 0 L2 1 L2 2 Ln 0 Ln 1 Ln 2 . . . Ln n .
.. .
Observaci on 4: Similarmente se puede organizar tambi en el c alculo de los por medio de un esquema triangular an a logo pk i p0 0 p0 1 p0 2 . . . p0 n p1 0 p1 1 p1 n1 p2 0 .. . pn 0 .
p2 n2
En l neas generales la interpolaci on de Lagrange tiene inter es te orico pues en la pr actica muchas veces no produce los resultados que espera el dise nador.
4.3
Interpolaci on de Newton
Otra base del espacio vectorial de polinomios de grado menor o igual que n, u til para la contrucci on de curvas polin omicas de interpolaci on en valores prescritos del par ametro u0 , u1 , ..., un , fu e introducida por Newton. Considere los n + 1 polinomios m onicos Pi (u) donde Pi tiene grado i y se anula en las primeras i abscisas u0 , . . . , ui1 . Esto es: P0 = 1 y para i 1 Pi (u) = (u u0 ) (u ui1 ) .
47
Si [u0 . . . ui ]q denota al coeciente dominante, correspondiente al t ermino de mayor grado, del polinomio de grado i que interpola una curva dada q = q(u) en los puntos u0 , . . . , ui , entonces la curva p(u) de grado n que interpola q(u) en u0 , . . . , un puede escribirse como
n
p(u) =
i=0
[u0 . . . ui ]q Pi (u) .
[u0 . . . un ]q =
k=0
donde el asterisco (*) denota que se omite el t ermino correspondiente. Usando esta representaci on expl cita es f acil de vericar la relaci on de recurrencia [u0 . . . un ]q = . . . = [u1 . . . un ]q [u0 . . . un1 ]q un u0
[ui uj ]q [uj ]q
En vista de esta recursi on la expresi on [u0 . . . ui ]q se denomina la i- esima diferencia dividida de q(u) en u0 , . . . , ui . N otese que las diferencias divididas son sim etricas con respecto a sus nodos u0 , . . . , un . Observaci on 5: Si q(u) es sucientemente diferenciable entonces la diferencia dividida [u0 . . . un ]q depende continuamente de las abscisas ui , v ease los Ejercicios 1 y 2. Por lo tanto [u0 . . . un ]q tambi en est a denida cuando uno o varios ui coinciden, como funci on de las derivadas en ui . [ui n . +1 . . ui ]q = q(n) (ui )/n! . Observaci on 6: Supongamos que u0 = = uk , entonces se desprende de la Observaci on 5 que
n
p(u) =
j =0
[u0 . . . uj ]q Pj (u)
interpola todas las derivadas hasta orden k de q (u) en u = u0 . Como p(u) no depende del orden de las abscisas ui , tambi en interpola las derivadas q r (ui ), donde ui = . . . = ui+r . Observaci on 7: Si los valores ui est an uniformemente distribuidos, ui = u0 + ih, entonces se tiene [u0 . . . un ]q = 1 n q(u0 ) . n! hn
48
4. Interpolaci on y aproximaci on
La principal ventaja de la represetnaci on de Newton es la permanenecia de las funciones base obtenidas. A diferencia de la interpolaci on de Lagrange, si se a naden sucesivos puntos de interpolaci on, no hay que modicar las anteriores funciones base.
4.4
Interpolaci on de Hermite
n
[u0 . . . ui ]q Pi
interpola los puntos Pi y si las abscisas ui coinciden entonces tambi en interpola las derivadas de q. Esta construcci on se denomina interpolaci on de Hermite. En particular, un caso muy frecuente es la interpolaci on hasta un cierto orden k en los extremos de un intervalo [a, b]. El interpolador de Hermite correspondiente es de grado n = 2k + 1 y se puede escribir como
k k i) n q( a Hi + i=0 (i) i=0 n qb Hn i , (i)
p(u) =
donde qu denota la i- esima derivada de q en u y los polinomios de Hern mite Hi de grado n est an denidos por dr n dr n Hi (a) = r Hn i (b) = r du du 1 si i = r , 0 si i = r r = 0, . . . , k .
La Figura 4.3 muestra el interpolador de Hermite de grado tres y los cuatro polinomios de Hermite correspondientes. Alternativamente, el interpolador se puede describir en su representaci on de B ezier. Se desprende de 2.8 que los puntos de control bj sobre [a, b] est an dados por j j (b a)i q(i) bj = i n (n i + 1) a i=0 y
j
bnj =
i=0
j i
(a b)i (i) q , n (n i + 1) b
49
Figura 4.3: Interpolaci on c ubica de Hermite es decir, para j = 0, . . . , (n 1)/2, se tiene b0 b1 b2 = qa ba qa n ba ba (2qa + q ) = qa + n n1 a . . . = qb . = qa +
bn
Observaci on 8: En vez de interpolar q a interpolar las cura y qb se podr vaturas en a y b. La curvatura en el punto a est a dada por
xa =
n1 n
b0 2 b0 b0 3
Si, adem as de posici on y derivadas se interpolan curvaturas en vez de derivadas segundas, aparecen 2 grados extras de libertad en la interpolaci on de Hermite de grado n = 5. Los puntos de B ezier b2 y b3 se pueden mover paralelamente a las l neas b0b1 y b5b4, respectivamente, sin modicar la curvatura de los extremos. Es decir, el interpolador no es u nico.
50
4. Interpolaci on y aproximaci on
4.5
Una funci on f (u) se puede aproximar por un polinomio p de grado n interpolando f en n + 1 abscisas u0 < < un . Un resultado cl asico de an alisis num erico establece que la diferencia entre p y f en [u0 , un ] se puede expresar como p(u) f (u) = f (n+1) (v ) (u u0 ) (u un ) , (n + 1)!
donde v = v (u) est a en [u0 , un ]. Por lo tanto usualmente el error se hace peque no cuando las diferencias entre las abscisas decrecen. Sin embargo un interpolador de grado m as alto de la funci on f (u) no necesariamente resulta en una mejor aproximaci on de esta funci on. Por esta raz on es com un el uso de funciones polinomicas a trozos de reducudo grado. Por ejemplo, las c ubicas son usadas con mucha frecuencia debido a que tienen grado bajo y a que permiten suciente exibilidad para muchas aplicaciones. A continuaci on describiremos la interpolaci on de Hermite con polinomios c ubicos a trozos. Dados m puntos p1 , . . . , pm y derivadas d1 , . . . , dm correspondientes a valores del par ametro u1 < < um , entonces existe una u nica c ubica por trozos, continuamente diferenciable s(u) sobre [u1 , um ] tal que s(ui ) = pi , y s (ui ) = di .
s(u) =
u [ui , ui+1 ] ,
donde ti = (u ui )/(ui+1 ui ) representa el par ametro local sobre [ui , ui+1 ] para i = 1, . . . , m 1, y b3i b3i+1 b3i+2 = pi = pi + di ui /3 = pi+1 di+1 ui /3 .
La Figura 4.4 ilustra esta situaci on. Frecuentemente las derivadas di no est an dadas directamente, sino que deben ser estimadas a partir de los datos. Una forma elemental para asignar valores a los di es calculando las derivadas del interpolador cuadr atico determinado por tres puntos consecutivos, como se ilustra en la Figura 4.5.
51
Figura 4.5: Obtenci on de las derivadas a partir de par abolas. Esto signica di = (1 i ) donde pi pi1 + i , ui1 ui i = para i = 1, . . . , m 1 ,
ui1 . ui1 + ui En los puntos extremos estas estimaciones se ajustan a: d0 = 2 p0 d1 , u0 dm = 2 pm1 dm1 . um1
A menudo tambi en se tienen que determinar las abscisas ui de la interpolaci on. Algunas de las posibles opciones son: la parametrizaci on equidistante, donde ui = constante ,
52
4. Interpolaci on y aproximaci on
Estos y otros m etodos se discuten exhaustivamente en [Foley & Nielson 89, Farin 02, Hoschek & Lasser 92]. Observaci on 9: Un proceso de interpolaci on con abscisas ui prescritas se denomina lineal si los puntos de B ezier b0 , b1 , . . . , b3m dependen linealmente de los puntos p0 , . . . , pm . Esto es, un esquema de interpolaci on lineal est a denido por una matriz S, de dimensi on m+1 3m+1 que no depende de los pi y satisface [b0 . . . b3m ] = [p0 . . . pm ]S . Note que el esquema de interpolaci on anterior, donde las derivadas di se obtienen a partir de polinomios cuadr aticos, es lineal.
4.6
Aproximaci on
n
xi Ci (u)
que interpole m as de m puntos p1 , . . . , pm , m > n, en valores prescritos de los par ametros u1 , . . . , um . En este u ltimo caso se puede construir un aproximante p(u), usualmente bajo la condici on que las diferencias p(ui ) pi = ri se hagan peque nas en alg un sentido. Usando la notaci on matricial, necesitamos minimizar t C1 (u1 ) . . . Cn (u1 ) t p1 x1 . . . . . . . = . . . . . xt n C1 (um ) . . . Cn (um ) pt m CX P = R = [rij ] . rt 1
rt m
o en forma m as abreviada
. . .
53
Hay varias posibles elecciones para la distancia que se va a utilizar para minimizar R. Lo usual es minimizar la suma de los cuadrados
m
r2 i =
i=1 i,j
Este es el m etodo de Gauss de ajuste por m nimos cuadrados. Una modicaci on de este m etodo consiste en minimizar una suma ponderada
2 2 wi ri = traza(W R)t (W R) ,
donde
W =
w1 .. . wm
Ambos esquemas son lineales en el sentido de la secci on siguiente. Otros esquemas son m as complicados. Por ejemplo se podr a minimizar max ri
= max rij
Esto nos conduce a un sistema lineal de desigualdades, el cual puede ser resuelto usando el m etodo simplex. Vea el Ejercicio 8. Observaci on 10: Es importante observar que para cualquier j , la j - esima columna de R, depende solamente de la j - esima columna de X para todo j . Por lo tanto la minimizaci on de R utilizando cualquiera de las tres distancias anteriores signica minimizar cada columna de R de manera independiente.
4.7
En esta secci on veremos como encontrar un ajuste por m nimos cuadrados. Es m as, en esta secci on el tratamiento ser a m as general, pues impondremos una restricci on adicional DX = Q sobre la soluci on X . Esta restricci on t picamente fuerza al aproximante p(u) a interpolar ciertos puntos pi . Como explicamos en la Observaci on 10 de 4.6 es suciente considerar una columna x de X y las correspondientes columnas p, q, y r de P, Q, y R, respectivamente. El siguiente teorema muestra como se puede calcular el residual m nimo: r = Cx p bajo la restricci on Dx = q:
4. Interpolaci on y aproximaci on
2 ri es m nima para la soluci on
(2)
x C tp = y q
tal que Dx = q. Demostraci on: Sean x, y una soluci on de (2) y supongamos que x + h satisface la restricci on D[x + h] = q . Esto implica Dh = o. Es m as, si r = C [x + h] p = r + Ch , entonces se tiene rt r = rt r + 2rt C h + ht C t C h . El u ltimo sumando de la expresi on anterior es no negativo y el segundo t ermino es cero, pues teniendo en cuenta (2) ht C t r = ht C t [C x p] = ht Dt y = 0 . Por lo tanto rt r es m nima. 3 Observaci on 11: Si no hay restricciones i.e., D = 0 y = entonces el sistema lineal (2) se reduce a las ecuaciones normales de Gauss C tC x = C tp .
Observaci on 12: Si la matriz C es la identidad y si Dx = q es un sistema subdeterminado entonces (2) consiste en las ecuaciones de correlaci on x = p Dt y . y las ecuaciones normales Dp DDt y = q ,
55
las cuales se obtienen por sustituci on de las ecuaciones de correlaci on en la expresi on de las restricciones Dx = q . Observaci on 13: Sea W una matriz diagonal de pesos de dimensi on m m. Entonces por el teorema anterior, el residual ponderado W r = W Cx W p se hace m nimo cuando Dx = q para la soluci on x, y de la ecuaci on ponderada C t W 2 C Dt D O x C tW 2p = y q
(3)
4.8
A menudo se puede mejorar la calidad de una aproximaci on si se escogen de manera diferente los nodos ui . Sea (u) una curva que aproxima los puntos i en los valores ui de los par ametros. Denotemos por vi los valores de los a mas cerca de los i . En general, ui y vi par ametros para los cuales (u) est son diferentes. Por lo tanto un ajuste por m nimos cuadrados con respecto a los vi producir a una curva que yace m as cerca de los i porque el nuevo conjunto de curvas sobre el cual se minimiza tambi en contiene la curva p(u). Un m etodo elemental para calcular aproximadamente los vi a partir de los ui es el siguiente: linealizamos p(u), en ui . Esto es, calculamos la recta tangente en ui y determinamos el punto m as cercano a pi sobre esta recta tangente a p en ui (Ver la Figura 4.6, izquierda). Esto signica encontrar i tal que: [p(ui ) + i p1 (ui ) pi ]t p (ui ) = 0 , entonces se obtiene i = [pi p(ui )]t p (ui ) . p (ui ) 2 2
Entonces ui + i es una aproximaci on de vi . Otro m etodo para estimar i se basa en que la recta que pasa por pi y p(ui + i ) sea perpendicular a la tangente en p(ui + i ), como se ilustra en la Figura 4.6 (derecha). Esto se expresa por la condici on: f (i ) = [p(ui + i ) pi ]t p (ui + i ) = 0 .
56
4. Interpolaci on y aproximaci on
Figura 4.6: Mejora del par ametro. Usando el m etodo de Newton, se obtiene i [p(ui ) pi ]t p (ui ) f (0) = . f (0) p (ui ) p (ui ) + [p(ui ) pi ]t p (ui )
Se podr a tambi en iterar directamente estos dos procesos para obtener mejores aproximaciones de los vi , pero lo usual es que antes de cada iteraci on se calcule una nueva curva de aproximaci on usando los valores calculados ui + i .
4.9
Ejercicios
1 Use inducci on sobre n para probar la f ormula de Hermite-Genocchi para diferencias divididas [de Boor 84] [u0 . . . un ]q =
0xn x1 1
lim
4 Para cualesquiera tres puntos b0 , b1 , c calcule el punto b2 sobre la recta b1 c tal que los puntos de B ezier b0 , b1 , b2 denan una curva cuadr atica b / b 3 en b0 . b(t) con curvatura prescrita 0 = b 5 Calcule y dibuje el polinomio que interpola la funci on error de Gauss exp(t2 /2) en t = 7, 5, 3, . . . , 7 .
4.9. Ejercicios
57
6 Calcule y dibuje una c ubica por trozos C 1 que interpole exp(t2 /2) y sus derivadas en t = 7, 1, +1, +7. 7 Eval ue el interpolador del Ejercicio 6 con el algoritmo de de Casteljau en 6, 4, 2, 0. 8 Sea r = C x p. Demuestre que r = max |ri | es m nimo para la soluci on x, del problema (de programaci on lineal) C x p e C x + p e 0 0
min!
donde e = [1 . . . 1]t , v ease por ejemplo, [Boehm & Prautzsch 93, 10.4].
5.1 Splines 5.2 B-splines 5.3 Una denici on recursiva de B-splines 5.4 El algoritmo de de Boor 5.5 El teorema fundamental 5.6 Derivadas y suavidad 5.7 Propiedades de los B-splines 5.8 Conversi on a la repreon sentaci on B-spline 5.9 El algoritmo de de Boor extendido 5.10 Conversi entre las representaciones de de Boor y de B ezier 5.11 B-splines como diferencias divididas 5.12 Ejercicios
Los splines son curvas polin omicas por trozos continuamente diferenciables hasta un orden prescrito. El ejemplo m as sencillo es el spline C 0 , o sea, lineal por trozos. Este spline es simplemente una poligonal en el plano o en el espacio. Otro ejemplo son los splines c ubicos C 1 construidos en 4.5. El nombre spline es una palabra en idioma ingl es que signica list on el astico. Estos listones eran usados por artesanos para crear curvas, que describen supercies a construir, como cascos de barcos y fuselajes de aviones. Constre nidos por pesos, estos listones el asticos o splines asumen una forma que minimiza su energ a el astica, propiedad que heredan en forma aproximada los splines matem aticos C 2 de grado tres. La herramienta de los splines se desarrolla para solventar las limitaciones de las curvas de B ezier: falta de control local, la laboriosidad requerida para imponer continuidad C 2 y el hecho de que el n umero de puntos de conrol de una curva de B ezier impone su grado.
5.1
Splines
Una curva s(u) se denomina un spline de grado n sobre la secuencia de nodos a0 , . . . , am , con ai ai+1 y ai < ai+n+1 para todos los posibles i, si s(u) es n r veces diferenciable en cada nodo de multiplicidad 1 r y s(u) es un polinomio de grado n sobre cada intervalo internodal [ai , ai+1 ], para i = 0, . . . , m 1.
1 Un
60
N otese que los nodos denotan valores del par ametro donde la curva cambia su expresi on polin omica. Tambi en es com un referirse a un spline de grado n como spline de orden n + 1. Las Figuras 5.1 y 5.2 muestran ejemplos de splines sobre secuencias de nodos simples (de multiplicidad uno), obtenidos a trav es de la ezier construcci on de St ark, vea las Figuras 3.8 y 3.9. Los puntos de B internos y extremos se denotan por peque nos c rculos blancos y negros, respectivamente.
5.2
B-splines
En analog a a la representaci on de B ezier de curvas polin omicas tambi en es conveniente expresar un spline s(u) como una combinaci on af n de ciertos puntos de control ci , esto es: s(u) = ci Nin (u)
donde los Nin (u) son funciones polin omicas por trozos con soporte nito (se anulan fuera de un intervalo nito) y satisfacen ciertas condiciones de
5.2. B-splines
61
Figura 5.2: Splines param etricos de grado 1, 2, y 3. continuidad. Shoenberg introdujo el nombre de B-splines para estas funciones [Schoenberg 67]. Sus pol gonos de B ezier se pueden obtener a trav es de la construcci on de St ark. La Figura 5.3 ilustra un B-spline C 2 por trozos de grado tres. Note que el teorema de St ark s olo se requiere para las ordenadas. Las abscisas se obtienen como en la Observaci on 8 de 2.8.
Para grados m as altos, esta construcci on, aunque en principio posible, es m as complicada, v ease [Prautzsch 89]. Por lo tanto nosotros utilizaremos una construcci on alternativa, encontrada independientemente por de Boor y
62
Manseld [de Boor 72] en 1970 y Cox [Cox 72] en 1971. Denimos los B-splines en t erminos de esta construcci on y a partir de ella deduciremos las relaciones y propiedades m as importantes de los B-splines.
5.3
Para introducir la relaci on de recurrencia para denir los B-splines, consideramos por simplicidad una secuencia (ai ) doblemente innita de nodos simples tales que ai < ai+1 para todo i. Entonces los B-splines Nin se denen a trav es de la siguiente relaci on de recurrecncia Ni0 (u) = 1 0 si u [ai , ai+1 ) en caso contrario
donde
es el par ametro local con respecto al soporte de Nin1 . La Figura 5.4 muestra algunos B-splines de grado 0, 1 y 2.
n1 = (u ai )/(ai+n ai ) i
Figura 5.4: Algunos B-splines de grado 0,1 y 2. En el caso de nodos multiples los B-splines se denen por la misma recursi on teniendo en cuenta la convenci on Nir1 Nir1 /(ai+r ai ) = 0 si ai = ai+r .
La Figura 5.5 muestra algunos B-splines con nodos m ultiples. De la denici on de B-splines se desprenden de forma inmediata las siguientes propiedades
63
Figura 5.5: B-splines con nodos m ultiples. Nin (u) es polin omica a trozos y tiene grado n, Nin (u) es positiva sobre (ai , ai+n+1 ), Nin (u) = 0 fuera de [ai , ai+n+1 ], Nin (u) es continua por la derecha. En las secciones 5.5 y 5.6 veremos que los B-splines son n r veces continuamente diferenciables en los nodos de multiplicidad r y que un spline de grado n se puede expresar como una combinaci on lineal de los B-splines Nin . Esta expresi on es u nica. La desventaja del modelo B-spline frente al de B ezier, aparte de la mayor complejidad matem atica, consiste en que las funciones base no admiten una expresi on expl cita, y cambian al variar el vector de nodos. De hecho, muchos programas de CAD, para procesar splines (dibujo, c alculo de curvatura, intersecciones) transforman cada segmento al modelo de B ezier y as el procesado resulta m as eciente. Observaci on 1: Para el caso particular a1 = . . . = an = 0 y an+1 = n n . . . = a2n = 1, entonces la recursi on anterior para N0 , . . . , Nn coincide con la recursi on para los polinomios de Bernstein. Por lo tanto
n Nin (u) = Bi (u)
para i = 0, . . . , n y
u [0, 1] .
Esto es, los B-splines son una generalizaci on de los polinomios de Bernstein.
5.4
El algoritmo de de Boor
s(u) =
i n c0 i Ni (u)
64
de B-splines de grado n sobre una secuencia de nodos (ai ). Sin p erdida de generalidad podemos suponer que la secuencia de nodos y la sumatoria se extienden de a . Por la forma de los soportes locales de los Nin esta suma es siempre nita para cualquier u dado. Supongamos que u [an , an+1 ), entonces
n
s(u) =
i=0
n c0 i Ni (u) .
s(u)
=
i=1
n1 c1 (u) i Ni
. . .
n
=
i=n
0 n cn i Ni (u) = cn ,
donde los
cr i
r 1 r 1 cr , i = (1 )ci1 + ci
u ai . ai+n+1r ai
Note que [0, 1] pues u [an , an+1 ), y por tanto, las combinaciones anes son convexas. Este algoritmo fue desarrollado por de Boor en 1972 [de Boor 72]. Los puntos cr i se pueden ordenar en el siguiente esquema triangular, donde la regla de recursi on es la anterior recursi on af n. c0 0 c0 1 c0 2 c1 1 c1 2 c1 n c2 2 regla 1 Z ~ Z -
( depende de la posici on)
. . . c0 n
. 2 cn cn n
..
Una consecuencia importante del algoritmo de de Boor es que el spline s(u) sobre un intervalo internodal (i.e. entre dos nodos consecutivos) es una combinaci on convexa de n + 1 coecientes consecutivos ci . Por lo tanto si los ci representan puntos en un espacio af n, entonces s(u) tambi en es un punto del espacio af n. Por esta raz on, los ci se denominan puntos de control de s(u). Es m as, el spline yace en la c apsula convexa de los puntos de control, lo cual
65
n i=0
los B-splines forman una partici on de la unidad. La Figura 5.6 ilustra la interpretaci on geom etrica del algoritmo de de Boor dada por Gordon y Riesenfeld en 1974, [Gordon & Riesenfeld 74].
Figura 5.6: Combinaciones convexas del algoritmo de de Boor para n = 3. Observaci on 2: Para u I R, el algoritmo de de Boor aplicado a los pun0 tos c0 , . . . , c calcula el polinomio sn (u), el cual coincide con s(u) sobre el n 0 intervalo internodal [an , an+1 ).
5.5
El teorema fundamental
Los polinomios sim etricos nos permitir an considerar el algoritmo de de Boor en un contexto m as amplio. Sea s(u) =
i
ci Nin (u)
un spline de grado n sobre los nodos ai , y sea si [u1 . . . un ] la forma polar que coincide sobre su diagonal con s(u) sobre [ai , ai+1 ). Entonces tenemos una versi on m as general del teorema fundamental de 3.2:
66
5. Representaci on por B-splines Los puntos de control de s est an dados por ci = sj [ai+1 . . . ai+n ] , i = j n, . . . , j .
u ai , ai+nr+1 ai
Para u [aj , aj +1 ) esta construcci on coincide con el algoritmo de de Boor y puede utilizarse para calcular cualquier polinomio, sj [u . . . u] de grado n. Por lo tanto, cualquier polinomio de grado n puede expresarse, sobre [aj , aj +1 ) n n como una combinaci on lineal de B-splines Nj n (u), . . . , Nj (u). Contando dimensiones se verica que la expresi on es u nica, lo que prueba la aseveraci on. 3
Observaci on 4: El segmento si del spline determina los puntos de control cin , . . . , ci . Rec procamente, todo punto cj est a determinado por cualquiera de los segmentos sj , . . . , sj +n , esto es, se tiene ci = si [ai+1 . . . ai+n ] = = si+n [ai+1 . . . ai+n ] .
67
Observaci on 5: La prueba anterior muestra que el polinomio sim etrico sn [u1 . . . un ] se puede calcular a trav es de la versi on m as general del algoritmo de de Boor. Es suciente sustituir en la recursi on (u) por (ur ) = ur ai . ai+nr+1 ai
Si m, de las n variables ui , . . . , un coinciden con nodos, entonces se requiere s olo n m pasos recursivos para calcular sj [u1 . . . , un ]. Este c alculo se puede organizar en un esquema triangular de 1 + 2 + . . . + (n m + 1) puntos.
5.6
Derivadas y suavidad
Debido a que los B-splines forman una base, vea la Observaci on 3, la derivada de un segmento poli nomico sn se puede escribir como
n
s n (u) =
i=1
di Nin1 (u) ,
u [an , an+1 ) ,
donde los vectores di a determinar, se pueden expresar f acilmente en t erminos de los ci . De hecho denotemos por s n [u2 . . . un ] el polinomio sim etrico de s n (u) y sea = ai+n ai la longitud del soporte del B-spline n1 Ni (u). Entonces se desprende del teorema fundamental y de 3.9 que di = s n [ai+1 . . . ai+n1 ] n sn [ ai+1 . . . ai+n1 ] = n = (ci ci1 ) . ai+n ai
Como los di no dependen del intervalo internodal [an , an+1 ), la derivada del spline s evaluada en cualquier u I R se puede expresar como (1) s (u) =
i
De manera similar se pueden obtener representaciones B-spline de derivadas de s(u) de orden superior. Esto es tambi en u til para vericar las propiedades de suavidad de los B-splines. Observe primero que un spline s de grado n es continuo en cualquier nodo de multiplicidad n. De hecho si a0 < a1 = = an < an+1 , entonces la
s0 (a1 ) = s0 [a1 . . . an ] = c0 = sn [a1 . . . an ] = sn (an ) . Por lo tanto, si a1 es un nodo de multiplicidad r, entonces la derivada n r de s en a1 es continua. En otras palabras, un B-spline satisface las propiedades de suavidad dadas en 5.1.
5.7
En esta secci on resumimos las propiedades m as importantes de los B-splines. Los B-splines de grado n denidos sobre una secuencia de nodos dada, que no se anulan sobre un intervalo internodal, son linealmente independientes sobre este intervalo.
n n Contando dimensiones se verica que los B-splines N0 , . . . , Nm con nodos a0 , . . . , am+n+1 forman una base para todos los splines de grado n con soporte en el intervalo [a0 , am+n+1 ] y este conjunto de nodos. n n An alogamente, los B-splines N0 , . . . , Nm con nodos a0 , . . . , am+n+1 restringidos al intervalo [an , am+1 ) forman una base para todos los splines de grado n restringidos a este intervalo.
Nin (u) = 1,
i=0
Un segmento de spline s[an , am+1 ] de grado n con nodos extremos de multiplicidad n (a0 =)a1 = . . . = an y am+1 = . . . = am+n (= am+n+1 )
tienen los mismos puntos extremos y rectas tangentes en esos puntos que sus pol gonos de control.
n n Los nodos extremos a0 y am+n+1 no inuyen sobre N0 y Nm sobre el intervalo [an , am+1 ].
Los B-splines son positivos en el interior de su soporte Nin (u) > 0 para u (ai , ai+n+1 ) .
5.8. Conversi on a la representaci on B-spline Los B-splines tienen soporte compacto suppNin = [ai , ai+n+1 ] .
69
Los B-splines satisfacen la recursi on de de Boor, Manseld y Cox n1 donde i = (u ai )/(ai+n ai ) representa el par ametro local sobre el soporte de Nin1 . La derivada de un B-spline est a dada por d n n n N (u) = N n1 (u) N n1 (u) . du i ai+n ai i ai+n+1 ai+1 i+1 La representaci on en t erminos de B-splines de una curva spline es invariante bajo aplicaciones anes. Un segmento sj [aj , aj +1 ] de un spline de grado n yace en la c apsula convexa de sus n + 1 puntos de control cj n , ..., cj .
j
sj (u) =
i=j n
ci Nin (u) ,
u [aj , aj +1 ) ,
Existe una f ormula de elevaci on de grado. Esta se presenta en 6.5. La prpopiedad m as importante desde el punto de vista pr actico es la de control local. Un punto de control s olo interviene en los intervalos en que la funci on base asociada tiene soporte, o sea, en los intervalos en que el punto aparece en el algoritmo de de Boor. El vector de nodos con multiplicidd n en los nodos extremos, es muy importante por ser pr acticamente el u nico empleado en los programas de CAD comerciales, para curvas no cerradas. As la curva en los puntos extremos disfruta de las deseables propiedades del modelo de B ezier: pasa por dichos puntos, es tangente en ellos al pol gono de control, la curvatura s olo depende de los tres puntos extremos, etc. Con este tipo de vector de nodos el B-spline es una verdadera generalizaci on intuitiva de las curvas de B ezier. Y si no hay nodos internos se tiene una curva de B ezier. Vea la Observaci on 1.
5.8
Dado que cualquier polinomio de grado n se puede considerar como un spline de grado n sobre cualquier secuencia de nodos, en particular podemos expresar los monomios como combinaciones lineales de B-splines sobre una
70
secuencia de nodos (ai ) prejada. Para esto recordemos de 3.1 que los n j monomios An j (u) = j u tienen forma polar An j [u1 . . . un ] =
i< ... <k
ui . j . . uk .
ji Nin (u) ,
lo cual generaliza la identidad de Marsden. Ver Ejercicio 4. En particular para la funci on identidad u = = 1 n A (u) n 1 i Nin (u) ,
i
donde i = 1i /n = (ai+1 + + ai+n )/n. Los i se denominan abscisas de Greville [Greville 67]. Observaci on 6: Las abscisas de Greville aparecen de forma natural como los puntos de control del gr aco de una funci on spline s(u) =
i
ci Nin .
De hecho, el gr aco s(u) = [u s(u)]t tiene puntos de control ci = [i ci ]t . La 3 (u). Otros ejemplos se presentan Figura 5.8 muestra un ejemplo, s(u) = N2 en la Figura 5.1.
5.9
sn (u) =
i=0
ci Nin (u) ,
u [an , an+1 ) ,
puede calcularse para cualquier u I R, usando las ideas presentadas en 2.6 para curvas de B ezier.
71
Sea sn [u1 . . . un ] la forma polar de sn y considere los puntos y los vectores cr,i,k = sn [ . r . . ai+1 . . . ai+nrk u . k . . u] donde denota la direcci on 1 0, para i = r + k, . . . , n. Entonces se tiene dr sn (u) = dur = y la expansi on de Taylor
n
sn (u + h) =
r =0
cr,n,nr
n r h . r
Los puntos y vectores crik pueden organizarse en un esquema tetra edrico ilustrado en la Figura 5.9 para n = 2, donde 4 signica sn [ a4 ], etc. Este esquema fu e considerado por primera vez por Sablonniere en 1978 subtetraedros que contienen los puntos [Sablonniere 78] y consta de n+2 3 de control dados ci = c0,i,0 en la arista izquierda y los multiplos (n r)! (r) sn (u) n! de las derivadas en el lado opuesto. Cualesquiera dos puntos de los cuatro de un subtetraedro pueden calcularse a partir de los otros dos. Las reglas para realizar estos c alculos se desprenden directamente de las propiedades de los polinomios sim etricos multianes. Por ejemplo, en la cara izquierda se tiene cr+1,i,k = 1 (cr,i,k cr,i1,k ) , ai+nrk ai
72
Figura 5.9: El algoritmo de de Boor extendido. en la cara de atr as cr,i,k+1 = (1 )cr,i1,k + cr,i,k , = en la cara de abajo (2) u ai , ai+nrk ai
Observaci on 7: Las f ormulas anteriores se pueden usar para ir de la representaci on B-spline a la forma monomial y viceversa. Observaci on 8: Para obtener las derivadas a partir de los puntos de control o viceversa es suciente conocer solamente las caras izquierda y derecha del arreglo tetra edrico, [Lee 82, Boehm 84b]. Observaci on 9: Si se calcula primero la cara de atr as y luego la cara de abajo (o arriba) del tetraedro, es necesario usar la f ormula (2)(o (3)) para determinar cr+1,i,k (o cr,i1,k ). Sin embargo, esto es imposible si u = ai+nrk (o u = a1 ). Por lo tanto las derivadas del polinomio sn no se pueden calcular de esta manera para u = an+1 , . . . , a2n (o u = a0 , . . . , an1 ).
5.10
Tambi en existe un algoritmo tetra edrico para convertir la representaci on B-spline en la representaci on de B ezier y viceversa [Boehm 77, Sablonniere 78].
73
Este se puede derivar de manera similar al algoritmo de 5.9. Sea la notaci on como en 5.9 y qrik = sn [a . r . . a ai+1 . . . ai+nrk b . k . . b] para i = r + k, . . . , n. Entonces los puntos de control del spline est an dados por ci = q0,i,0 y los puntos de B ezier del polinomio sn sobre [a, b] estan dados bj = qnj,n,j . Como antes, los puntos qrik se pueden organizar en un esquema teatr edrico tal como se ilustra en la Figura 5.10 para n = 2, donde a3, ab, etc. denotan q1,2,0 , q1,0,1 , etc.
Figura 5.10: Conversi on entre las representaciones de B ezier y de de Boor. Aqu la cara izquierda se calcula con la regla qr+1,i,k = (1 )qr,i1,k + qr,i,k , y la cara de abajo por qr,i,k+1 = (1 )qr+1,i,k + qr,i,k , = ba . ai+nrk a = a ai , ai+nrk ai
Rec procamente, los puntos de control de la representaci on B-spline se calculan a partir de los de B ezier de la siguiente manera. Primero despejamos qr,i1,k y qrik de las f ormulas anteriores. Luego aplicamos las f ormulas para calcular los puntos de la cara de abajo y luego de la cara izquierda.
74
5.11
La denici on cl asica de B-spline usa diferencias divididas, t ecnica que ha sido explotada sistem aticamente para el desarrollo de la teor a de los splines de una variable [de Boor 78]. En particular las diferencias divididas fueron usadas por de Boor, Cox, y Manseld en 1971 para obtener la relaci on de recurrencia que satisfacen los B-splines. Usando la f ormula de la derivada (1) de 5.6 mostraremos que los B-splines son diferencias divididas de la funci on potencial truncada: f (a) = (a u)n + := (a u)n 0 si a > u si a u .
Vea la Figura 5.11. N otese que f es una funci on de a, u es un par ametro jo.
Figura 5.11: Funci on potencial truncada. Usando la notaci on de las diferencias divididas dada en 4.3, se obtiene
n el B-spline N0 sobre los nodos a0 , . . . , an+1 se puede escribir
Este hecho se puede probar por inducci on sobre n. Para n = 0 la identidad se verica directamente. Para el paso inductivo, recordemos de 4.3 que [a0 . . . an+1 ]f (a) es el coeciente del t ermino de mayor grado del polinomio de grado (n + 1) que interpola f (a) en a0 , . . . , an+1 . Por lo tanto podemos sustituir f (a) por la funci on cero si u an+1 y por el monomio (a n)n de grado n en a, si u < a0 . Esto signica que nuestra identidad se verica para u < a0 y u an+1 .
Entonces, es suciente demostrar que se satisface la derivada de la identidad de la tesis del teorema. N otese que la diferencia dividida es una combinaci on lineal de la funci on potencial y sus derivadas. Por lo tanto la anterior diferencia dividida es diferenciable en todo u excepto en los nodos de multiplicidad n + 1. Esto sin embargo no causa ning un problema debido a que a lo sumo existe un nodo de multiplicidad n + 1.
5.12. Ejercicios
75
Usando la denici on recursiva de las diferencias divididas, la hip otesis de inducci on y la f ormula de la derivada para B-splines obtenemos d (an+1 a0 )[a0 . . . an+1 ](a u)n + du 1 = n(an+1 a0 )[a0 . . . an+1 ](a u)n +
5.12
Ejercicios
1 Considere un spline s(u) c ubico C 2 sobre la secuencia de nodos simples a0 , . . . , am . Muestre que cualquier funci on C 2 f (u) = s(u) que interpola s en todos los nodos y la derivada en u = a0 y u = am tiene mayor energ a que s, es decir,
am a0
|f (u)|2 du >
am a0
|s (u)|2 du .
Para la soluci on puede consultar cualquier libro de an alisis num erico, por ejemplo [Boehm & Prautzsch 93, p. 125f]. 2 Dado un spline s(u) = a0 , . . . , am+n+1 , muestre que
am+n+1 m n i=0 ci Ni (u)
s(u)du =
a0 i=0
ai+n+1 ai ci . n+1
3 Bosqueje los B-splines c ubicos sobre las siguientes secuencias de nodos: 0, 0, 0, 0, 1; 0, 0, 0, 1, 2; 0, 0, 1, 2, 3 y 0, 1, 2, 3, 4. Despliege sus pol gonos de B ezier y calcule las ordenadas de los puntos de B ezier. 4 Use polinomios sim etricos para probar la identidad de Marsden (u a)n = (ai+1 a) . . . (ai+n a)Nin (u) .
5 Use la f ormula para la derivada de un B-spline para deducir por inducci on, la f ormula de recursi on de de Boor, Manseld y Cox.
76
[ai . . . ai+k ]f =
r =i
para obtener la recursi on de de Boor, Manseld y Cox. V ease tambi en [de Boor 72]. 7 Sea s(u) = i=0 ci Ni3 el spline denido sobre los nodos 0, 1, 2, . . . , 7 dado por c0 , . . . , c3 = 4, 7, 2, 1. a) Bosqueje s[3, 4] y su pol gono de control. b) Calcule s, s , s , s en u = 3. c) Calcule la representaci on monomial de s(u) sobre el intervalo [3, 4]. d) Calcule la representaci on de B ezier de s(u) sobre [3, 4]. 8 Demuestre que si un polinomio sim etrico y a multiaf n puede calcularse a partir de n + 1 puntos p[ai,1 . . . ai,n ], i = 0, . . . , n, por combinaciones anes como en el algoritmo de de Boor, entonces existen n umeros reales a1 , . . . , a2n tales que ai,j = ai+j .
3
6 T ecnicas de B-splines
6.1 Inserci on de nodos 6.2 El algoritmo de Oslo 6.3 Convergencia por on de grado 6.5 Una inserci on de nodos 6.4 Un algoritmo para la elevaci f ormula de elevaci on de grado 6.6 Convergencia por elevaci on de grado 6.7 Interpolaci on 6.8 Interpolaci on con splines c ubicos 6.9 Ejercicios
La mayor a de los algoritmos para curvas de B ezier tienen una generalizaci on para splines. Un ejemplo es la t ecnica de inserci on de nodos, la cual puede emplearse para la elevaci on de grado, para la implementaci on del algoritmo de Boor y tambi en en el proceso de subdivisi on. En particular, el algoritmo de de Casteljau puede interpretarse como un caso de inserci on de nodos m ultiples.
6.1
Inserci on de nodos
s(u) =
i
sobre la secuencia de nodos (ai ). Sea ( aj ) un renamiento de (ai ), esto es, la secuencia de nodos ( aj ) contiene a (ai ), como una subsecuencia. V ease la Figura 6.1. renada inicial a 1 = a 2 a1 a 3 a2 a 4 a3 a 5 a 6
. . . . . . . . . . . . . . . . . . . . . .
a4
Figura 6.1: Renamiento de una secuencia de nodos. j (u) el B-spline de grado n sobre a Sea N j , . . . , a j +n+1 , entonces s(u) se puede rescribir como s(u) =
j n j cj N (u) .
78
6. T ecnicas de B-splines
j es a trav La mejor manera de calcular los c es de la inserci on repetida de nodos simples, esto es: se inserta un nodo en cada paso [Boehm 80]. Supongamos entonces que ( aj ) se obtiene a partir de (ai ) por inserci on de un s olo nodo a . Desplazando el ndice de ser necesario, podemos suponer que a =a n+1 y an a < an+1 . Como consecuencia inmediata del teorema cj cj 1 (1 j ) + cj j cj = c j 1 j = fundamental de 5.5 se tiene para j 0 para j = 1, 2, . . . , n para j n + 1 ,
donde
n . La es la coordenada local de a con respecto al soporte [aj , aj +n ] de N j on para n = 3. Figura 6.2 muestra una ilustraci
a aj aj +n aj
Figura 6.2: Inserci on de un nuevo nodo. Comparando el proceso de inserci on de nodos con el algoritmo de de Boor de 5.4, se observa que los nuevos puntos de control c1 , . . . , cn son los puntos 1 c1 1 , . . . , cn que aparecen en la segunda columna del arreglo triangular de de as, los puntos Boor [Boehm 80]. Es m
r r 1 c1 1 , . . . , cr , . . . , cn , . . . , cn
del esquema de de Boor coinciden con los nuevos puntos de control de s cuando a es insertado r veces.
79
En particular, para r = n el algoritmo de de Boor coincide con la inserci on repetida n veces del nodo a . Observaci on 1: Si todos los nodos ( ai ) en la secuencia renada tienen multiplicidad n, entonces el pol gono de control ci representa el pol gono de B ezier de s. Esto es consecuencia de la Observaci on 1 de 5.3. Por lo tanto, si se incrementa hasta n la multiplicidad de cada nodo de un spline, se genera la representaci on de B ezier del spline. Esto fu e observado por primera vez por Cohen [Cohen et al. 80]. Observaci on 2: Un B-spline se puede expresar como una combinaci on lineal de B-splines sobre una secuencia de nodos renada ( aj ). La f ormula correspondiente n j ij N (u) Nin (u) =
j
fue dada por de Boor [de Boor 76b]. Los coecientes ij se denominan Bsplines discretos con nodos a j . Esta denominaci on fue acu nada por Schumaker [Schumaker 73] para el caso en que los a j son nodos equidistantes.
n Observaci on 3: En particular, si s(u) = Nj (u) es un B-spline, entonces el proceso anterior de inserci on de nodos implica la siguiente identidad n (u) para j 0 N j n n n Nj (u) = j Nj (u) + (1 j +1 )Nj +1 (u) para j = 1, . . . , n . N n para j n+1 j +1
6.2
El algoritmo de Oslo
Aunque usualmente la inserci on repetida de nodos simples es en general el mejor m etodo [Lyche 93] para calcular los puntos de control con respecto a cualquier renamiento( aj ) de (ai ), tambi en se puede calcular cada punto cj a trav es de la generalizaci on del algoritmo de de Boor considerada en la Observaci on 5 de 5.5. Para calcular cj se requiere alg un intervalo internodal [ak , ak+1 ] cuya inter n sea no vac secci on con el soporte [ aj , a j +n+1 ] de N a, tal como se ilustra en j la Figura 6.3. Entonces cada punto de control j = sk [ c aj +1 . . . a j +n ] puede calcularse usando el algoritmo generalizado de de Boor. Esta relaci on de recurrencia para cj fue descubierta por Cohen, Lyche y Riesenfeld en Oslo en 1980, y se denomina el algoritmo de Oslo [Cohen et al. 80]. Note
80
6. T ecnicas de B-splines
que las combinaciones anes en el algoritmo de Oslo en general pueden ser no convexas. En consecuencia se requieren mejoras adicionales para evitar combinaciones no convexas.
6.3
En esta secci on generalizamos las ideas presentadas en 3.3. Considere el n spline s(u) = i ci Ni (u) sobre la secuencia de nodos (ai ). Entonces a trav es de un proceso de inserci on de nodos que nalmente se hacen densos, la secuencia de los correspondientes pol gonos de control converge al spline s. La velocidad de convergencia es cuadr atica con relaci on al m aximo de las distancias internodales. Sea [a, b] un intervalo, h = max{ai |[ai , ai+1 ] [a, b]}, y sean i = (ai+1 + + ai+n )/n las abscisas de Greville. Entonces se tiene max s(i ) ci = O(h2 ) , donde el m aximo se toma sobre todos los i tales que [ai+1 , ai+n ] [a, b]. Para la demostraci on [Schaback 93] consideramos un punto de control ci = sr [ai+1 . . . ai+n ], donde sr es el polinomio sim etrico de s restringido al intervalo internodal [ar , ar+1 ) que contiene a i . Como sr [u . . . u] = = sr [u . . . u] u1 un la expansi on de Taylor de sr alrededor de [i . . . i ] tiene la forma
i+n
ci
= sr [i . . . i ] +
j =i+1
(aj i )
sr [i . . . i ] + O(h2 ) u1
81
6.4
sobre una secuencia de nodos (ai ) tambi en puede rescribirse en t erminos de B-splines Nin+1 de grado n + 1, s(u) =
i
n+1 (u) di N i
sobre la secuencia de nodos ( ai ) obtenida a partir de (ai ) elevando la multiplicidad de cada nodo en uno, tal como se ilustra en la Figura 6.4.
Figura 6.4: Secuencia de nodos para la elevaci on de grado. El teorema fundamental de 5.5 y la f ormula (2) de la Secci on 3.11 implican que dj = sr [ aj +1 . . . a j +n+1 ] = 1 n+1
n+1
sr [ aj +1 . . . a j +n+1 ] k ... a
k=1
donde sr [u1 . . . ur ] y sr [u1 . . . un+1 ] representan las formas polares en n y n + 1 variables, respectivamente, de un segmento polin omico del spline s(u) que depende de dj . Cada punto sr [ aj +1 . . . a j +n ] k ... a se puede calcular por medio del algoritmo de de Boor generalizado en la Observaci on 5 de la Secci on 5.5, requiri endose de la inserci on de a lo sumo [(n 1)/2] nodos. Para el caso de un spline c ubico uniforme, este algoritmo fue descrito por primera vez en [Ramshaw 87, pp. 109f] para dos segmentos y en [Seidel 89] para cinco segmentos. Observaci on 4: El n umero de operaciones para este algoritmo es de orden n2 por cada punto de control c i . Es posible reorganizarlo con m as eciencia resultando de orden n, ver [Prautzsch & Piper 91, Liu 97, Trump 01]. Observaci on 5: En [Prautzsch 84a, Cohen et al. 85, Piegl & Tiller 94] se pueden encontrar otros algoritmos de orden n2 .
82
6. T ecnicas de B-splines
6.5
Un B-spline de grado n se puede expresar en t erminos de B-splines de grado n + 1. Denotemos por N n (u|ai . . . ai+n+1 ) un B-spline de grado n sobre los nodos ai , . . . , ai+n+1 . Con esta notaci on se tiene la f ormula
n+1 i=0
(1)
N n (u|a0 . . . an+1 ) =
1 n+1
la cual fue descubierta por C. A. Micchelli [Micchelli 79]. La Figura 6.5 ilustra el ejemplo para n = 1 N 1 (u|abc) = 1 2 (N (u|aabc) + N 2 (u|abbc) + N 2 (u|abcc)) . 3
Figura 6.5: F ormula de elevaci on de grado. Para la demostraci on empleamos la t ecnica de [Lee 94] y utilizamos dife+1 rencias divididas. Si f (a) = (a u)n la f ormula de elevaci on de grado se + expresa como
n+1
[a0 . . . an+1 ]f =
i=0
[a0 . . . ai ai . . . an+1 ]f .
Esta f ormula es v alida para cualquier funci on diferenciable f , lo cual vericamos por inducci on. Para n = 1 la f ormula es v alida por denici on de diferencias divididas [a0 ]f = f (a0 ) = [a0 a0 ]f . Para n 0 usamos la relaci on de recurrencia para diferencias divididas (vea
6.6. Convergencia por elevaci on de grado 4.3), la hip otesis de inducci on y luego otra vez esta relaci on: [a0 . . . an+1 ]f 1 = ([a1 . . . an+1 ]f [a0 . . . an ]f ) an+1 a0 = 1 an+1 a0
n i=1
83
([a1 . . . ai ai . . . an+1 ]f [a0 . . . ai ai . . . an ]f ) + [a1 + [a0 ... ... an+1 an+1 ]f [a0 3 ... ... an+1 ]f an ]f an+1 ]f [a0 a0
n+1
=
i=0
[a0 . . . ai ai . . . an+1 ]f .
6.6
Una repetida elevaci on de grado genera una secuencia de pol gonos de control que converge al spline. Considere un spline s(u) de grado n, cuya representaci on de grado m s(u) = ci Nim (u) , m>n ,
sobre la secuencia de los nodos ai ha sido generada por elevaci on de grado. Los soportes de los Nim tienen longitud no mayor que h := sup |ai+n+1 ai |. 1 Sean i := m (ai+1 + + ai+m ) las abscisas de Greville, entonces si h y todas las derivadas de s son acotadas, se tiene
sup ci s(i ) = O(1/m) . Demostraci on: Procedemos como en 6.3 y consideramos un punto de control, por ejemplo c0 = s[a1 . . . am ], donde s[u1 . . . um ] denota la forma polar de s sobre un intervalo internodal adecuado. Por la Observaci on 9 en 3.9, k i s(k) (0 ) , s[0 . . . 0 ] = m . . . (m k + 1) . . . uik
ui1
donde i = 1 si todas las coordenadas de i = (i1 , . . . , ik ) son distintas y i = 0 en cualquier otro caso. Entonces la expansi on de Tylor de s[a1 . . . am ] alrededor de [0 . . . 0 ] est a dada por
n m m
c0 = s(0 ) +
k=1 i1 =1
...
ik
84
6. T ecnicas de B-splines
Utilizando el hecho que i = 0 para mk (m . . . (m k +1)) ndices i distintos m m y teniendo en cuenta que i1 =1 . . . ik =1 (ai1 0 ) . . . (aik 0 ) = 0 se obtiene
n
c0 s(0 )
k=2
6.7
Interpolaci on
Los splines se utilizan frecuentemente para resolver problemas de interpon laci on. En particular es de inter es la unicidad del interpolante. Sean N0 ,..., n Nm B-splines de grado n sobre la secuencia de nodos a0 , . . . , am+n+1 y sean p0 , . . . , pm puntos que deben ser interpolados en las abscisas u0 < . . . < um . m Si deseamos hallar un spline s = i=0 ci Nin tal que
m
s(uj ) =
i=0
ci Nin (uj ) = pj ,
que abreviamos: N C = P . N otese que este sistema lineal consiste de varios sistemas, que pueden ser resueltos independientemente, uno para cada columna de C . La matriz N se denomina matriz de colocaci on. El Teorema Schoenberg-Whitney de 1953 establece cuando el problema de interpolaci on tiene soluci on u nica [Schoenberg & Whitney 53] La matriz N es invertible si y s olo si tiene diagonal positiva, i.e. Nin (ui ) = 0 para todo i. Note que si las Nin son continuas entonces la condici on Nin (ui ) = 0 es equivalente a que ui (ai , ai+n+1 ).
ct m
pt m
Para probar el teorema, nos basamos en [Powell 81]. Sea Nin (ui ) = 0 para alg un i y supongamos que ai+n+1 ui . Entonces
n N0 (uj ) = . . . = Nin (uj ) = 0 para todo j i ,
6.7. Interpolaci on
i
85 @
N =
0 . . . 0
@ @ @ 0
. @
@ @ . . . @
utilizando un razonamiento de algebra lineal se tiene que N es singular. An alogamente N es tambi en singular si ui ai .
Para el rec proco, supongamos que N es singular y sea c una columna soluci on no trivial del sistema Nc = o . Supongamos primero que ninguna secuencia de n + 1 coordenadas consecutivas de c consiste de ceros. Entonces la propiedad de variaci on decreciente (vea el Ejercicio 4), implica que el spline
m
ci Nin
i=0
tiene a lo sumo m ceros en (a0 , am+n+1 ) si a0 < an1 o en [a0 , am+n+1 ] si a0 = . . . = an1 . Por lo tanto por lo menos un ui yace fuera del soporte del correspondiente B-spline Nin . Si cr = = cr+n = 0 , entonces se pueden considerar los splines
r 1 m
ci Nin
i=0
y
i=r +n+1
ci Nin
los cuales son cero en u0 , . . . , ur1 y en ur+n+1 , . . . , um , respectivamente. Observaci on 6: Una soluci on del anterior sistema N C = P podr a no ser anmente invariante. La invariancia af n se satisface si N es regular y si cada una de las la suma uno, esto es, si N e = e, donde e = [1 . . . 1]t .
La condici on N e = e implica que e = N 1 e, lo cual signica que los puntos ci dados por C = N 1 P son combinaciones anes de los pi . La condici on sobre las las se satisface si an ui < am+1 , Observaci on 7: Se dice que la matrix N es totalmente positiva, vea [Karlin 68, de Boor 76a].
86
6. T ecnicas de B-splines
6.8
La matriz de colocaci on se puede calcular f acilmente para el caso c ubico, 3 n = 3, sobre los nodos ai = i. El B-spline N0 (u) con su pol gono de control se muestra en la Figura 6.7.
Escogiendo las abscisas, ui = 2, 3, 4, . . . , (m + 1), (m + 2) el sistema lineal (2) se puede escribir 4 1 ct pt 0 0 1 4 1 ct pt 1 1 1 = . 6 t t 1 4 1 c m 1 pm1 1 4 ct pt m m Note sin embargo que los elementos de la primera y u ltima la no suman 1. Por lo tanto, una mejor escogencia de las abscisas de interpolaci on, que conduzca a un interpolante invariante respecto a transformaciones anes, es la siguiente: 1 1 ui = 3, (3 + ), 4, 5, . . . , m, (m + ), (m + 1) . 2 2
6.8. Interpolaci on con splines c ubicos El sistema lineal 1 4 a b 1 1 6 (2) en este caso est a dado por: 1 ct 0 ct b a 1 ct 4 1 2 t c m 2 1 4 1 a b b a ct m 1 1 4 1 ct m
87
= t pm2 t pm1 pt m
pt 0 pt 1 pt 2
Otra alternativa podr a ser interpolar los puntos pi en ui = i + 2 para i = 1, . . . , m 1 y derivadas prejadas a y b en u1 y um+1 , respectivamente. El sistema lineal que resulta es at ct 3 0 3 0 pt ct 1 4 1 1 1 1 = . 6 pt 1 4 1 ct m 1 m 1 t t 3 0 3 b cm Esta soluci on dene un spline con derivadas prescritas en los extremos y se denomina spline empotrado. La Figura 6.8 ilustra un ejemplo.
Figura 6.8: Spline empotrado c ubico. En algunas aplicaciones son de inter es los splines peri odicos s(u) = 3 ( u ) = s ( u + m ). Entonces c = c y se tiene un sistema lineal c N i+m i i i i
88 c clico
6. T ecnicas de B-splines
4 1 1 4 1 6 1
1 4 1 ct 1 4 m
ct 1
pt 1
pt m
6.9
Ejercicios
1 Desarrolle un algoritmo de intersecci on para curvas splines, generalizando el presentado en 3.7. 2 Considere un spline c ubico plano s(u) = i=0 ci Ni3 (u) sobre los nodos 0, 1, . . . , 7 para u [3, 4]. Para qu e posiciones de c3 respecto a c0 , c1 y c2 el segmento s[3, 4] de este spline tiene una c uspide? V ease tambi en el Ejercicio 7 de 2.10. 3 Pruebe que los B-splines tambi en verican la propiedad de variaci on decreciente, introducida en 3.8. 4 Demuestre a partir de la propiedad de variaci on decreciente que una m funci on spline s(u) = i=0 ci Nin es id enticamente igual a cero en alg un intervalo internodal (ai , ai+1 ), para i {0, . . . , m + n}, o tiene a lo sumo m + 1 ceros en el intervalo I . Donde I est a denido como: I = (a0 , am+n+1 ) si a0 = . . . = an1 e I = (a0 , . . . , an+m+1 ) en caso contrario, vea [Schumaker 81, Teorema 4.76].
3
6.9. Ejercicios
89
5 Considere las representaciones de B ezier de grado n y de grado m de n m n m una curva polin omica b(u) = i=0 bi Bi (u) = i=0 ci Bi (u), donde n n n n n < m. Sean N0 , . . . , Nn y M0 , . . . , Mm los B-splines de grado n sobre los nodos: 0, 1, . . . , n, m + 1, m + 2, . . . , m + n + 1 y 0, 1, 2, . . . , m + n + 1, respectivamente. Demuestre
n m
bi Nin =
i=0 i=0
ci Min ,
es decir, una representaci on de B ezier de grado mayor puede ser calculada a partir de la de grado menor por inserci on de nodos [Trump & Prautzsch 96]. 6 Determine y dibuje los puntos de B ezier de los splines de la Figuras 6.8 y 6.9. 7 Sea a0 , . . . , a4 una secuencia de nodos y sea mi el n umero de nodos que coinciden con ai . Para cada posible secuencia m0 , . . . , m4 considere la secuencia de nodos a0 , . . . , a4 y dibuje los puntos de B ezier del B-spline c ubico correspondiente. 8 Describa un algoritmo de elevaci on de grado para splines que utilice polinomios sim etricos. V ease tambi en 3.11. 9 Sea s(u) un spline funcional que interpola los valores p0 , . . . , pm . Si alguna de las las de la matriz de colocaci on N no suma uno entonces el spline que interpola qi = pi + h diere de s(u) + h. 10 Use la identidad + + (u1 u2 )[u1 u2 u3 . . . un ]f (u2 u0 )[u0 u2 u3 . . . un ]f (u0 u1 )[u0 u1 u3 . . . un ]f = 0
para diferencias divididas para obtener las f ormulas de eliminaci on y de inserci on de nodos [Boehm 80].
7 Curvas suaves
7.1 Contacto de orden r 7.2 Parametrizaci on por longitud de arco 7.3 Gamma splines 7.4 B-splines gamma 7.5 Nu-splines 7.6 El marco de Frenet 7.7 Continuidad de Frenet 7.8 Osculantes y polinomios sim etricos on geom etrica del teorema fundamental 7.10 Splines con 7.9 Interpretaci on de nodos 7.12 Bases de matrices de conexi on arbitrarias 7.11 Inserci splines 7.13 Ejercicios
Hay varias maneras de denir continuidad geom etrica. La condici on de C r continuidad de St ark establece, desde el punto de vista de construcci on, el criterio m as simple para continuidad geom etrica de curvas construidas con segmentos de B ezier. Un criterio m as general es el contacto GC r de orden r. r Una curva es GC si admite una parametrizaci on r-veces diferenciable. Una noci on todav a m as general, denominada continuidad de Frenet se basa en invariantes geom etricos de orden superior tales como curvaturas, torsi on, etc. Los polinomios sim etricos proveen una herramienta elegante para el estudio de la continuidad geom etrica de curvas polin omicas a trazos. La continuidad C r es un concepto cl asico que permite un esquema sencillo (este es el caso de los B-spline) para construir curvas C r . Adem as, es la denici on adecuada cuando la parametrizaci on de la curva es relevante, como en el caso de: construcci on de supercies que interpolen curvas y la animaci on de objetos a lo largo de trayectorias, en que el par ametro corresponde al tiempo. Un ejemplo es la parametrizaci on de trayectorias para m aquinas de control num erico. Sin embargo, no es la denici on adecuada, por ser innecesariamente restrictiva, si estamos interesados s olo en la forma de la curva (el lugar geom etrico que dene), pues la continuidad C r depende de la parametrizaci on. Lo anterior justica la introducci on del contacto GC r el cual es independiente de la parametrizaci on y es u til para la modelaci on de formas. Una aplicaci on pr actica de la continuidad de Frenet es la denici on de orientaciones de s olidos r gidos mediante el triedro de Frenet asociado a una trayectoria. Si se desean aceleraciones continuas basta con continuidad F 3 en la base de Frenet.
92
7. Curvas suaves
7.1
Contacto de orden r
Considere dos curvas p(s) y q(t), r veces diferenciables en s = t = 0. Decimos que p y q tienen contacto de orden r en 0 si q (0) = o y si existe una reparametrizaci on s(t) con s(0) = 0 tal que p(t) y q(t) = q(s(t)) tienen las mismas derivadas hasta orden r en t = 0. El contacto de orden r tambi en se denomina conexi on general C r y se denota por GC r . Como en casos anteriores denotamos las derivadas con respecto a s y t con punto y ap ostrofe, respectivamente. Por la regla de la cadena, el contacto de orden r en s = t = 0 signica: p p s p s p s + p s 2 + 3p s s + p s 3 . . . = q = q = q = q . . . .
0 2
0 3
3 .. . r
= [q q . . . q( r ) ]
PC = Q , donde = s = 0, = s , = s , etc. Las matrices P y Q se denominan jets de orden r de p y q en t = 0 y s = 0, respectivamente. La matriz C se denomina la matriz de conexi on de orden r. En particular, sean p y q curvas polin omicas de grado n r con puntos de B ezier pi y qi , i = 0, . . . , n, respectivamente. Entonces 2.4 implica que los r-jets P y Q en pn y q0 est an determinados por los u ltimos y primeros r + 1 puntos B ezier, respectivamente. El rec proco tambi en es cierto. Por consiguiente el contacto de orden r se puede expresar en t erminos de los puntos de B ezier como [pn . . . pnr ]C = [q0 . . . qr ] ,
93
Observaci on 1: Dada una reparametrizaci on s(t) siempre existe una reparametrizaci on polin omica, equivalente hasta la derivada r- esima: s(t) = st + s s 2 t + + tr . 2! r!
(r )
donde C es una matriz triangular superior con elementos en la diagonal cii = ()i = 0, i = 0, . . . , r. N otese que C depende de n.
En particular, cualquier conexi on GC 1 se puede trasformar en una conexi on 1 C usando el cambio de par ametro s = t. Observaci on 2: Similarmente, una conexi on GC 2 puede trasformarse en 2 una conexi on C simple por medio de la trasformaci on cuadr atica s = t + (/2)t2 . N otese que la conexi on C 2 simple tambi en se puede obtener aplicando una trasformaci on proyectiva, vea por ejemplo [Degen 88]. s= 2 t . (/2)t
(r )
Observaci on 3: Si s = t, entonces s = = s = 0. Por lo tanto obtenemos la condici on de St ark tal como se ilustra en la Figura 7.1 para r = n = 3 con los puntos de B ezier pi y qj de p(s) y q(t) denidas sobre [1, 0] y [0, 1], respectivamente
Figura 7.1: Contacto C 3 de St ark. Observaci on 4: Cuando se modica = s entonces q2 se mantiene a lo largo de una paralela a la tangente que pasa por q0 y q1 como se ilustra en la Figura 7.2. Entonces p y q tienen contacto GC 2 en pn = q0 si las distancias g y h de pn2 y q2 a la tangente q0 q1 satisfacen g : h = 1 : 2 , vea [Farin 82, Boehm 85]. Observaci on 5: Para contactos de orden superior se tiene una situaci on similar: si modicamos s entonces qn se mueve a lo largo de una paralela a la tangente q0 q1 .
(n)
94
7. Curvas suaves
7.2
x dt
Adem as, si x(t) es regular, es decir, x = o, entonces la longitud de arco s(t), su inversa t(s) y x(s) = x(t(s)) son diferenciables hasta el mismo orden que x(t), pues s = x . En otras palabras, la parametrizaci on con respecto a la cual una curva alcanza su m axima suavidad es la longitud de arco. Por lo tanto dos curvas regulares p(s) y q(s) parametrizadas por longitud de arco tienen contacto de orden en r en s = 0 si x(s) = p(s) si s 0 q(s) si s > 0
es r veces diferenciable en s = 0. En consecuencia la matriz de una conexi on de dos curvas parametrizadas por longitud de arco es la identidad.
7.3
Gamma splines
Sea s(u) una curva c ubica por trozos consistente de m segmentos con conexi on GC 2 . Denotamos por b3i , . . . , b3i+3 a los puntos de B ezier del segmento i-
95
s(u) =
i = 0, . . . , m 1 ,
Supondremos en las pr oximas tres secciones sobre -splines y -splines que los nodos ai se han escogido de manera tal que s(u) es continuamente diferenciable, esto es: s (ai ) = s (ai +), o sea (b3i+1 b3i )ai1 = (b3i b3i1 )ai donde j = aj +1 aj , tal como se ilustra en la Figura 3.8. Como los segmentos de s tienen contacto GC 2 , los cuatro puntos b3i2 , b3i1 , b3i+1 , b3i+2 son coplanares, para todo i. Denotamos por ci y di los v ertices exteriores de este cuadril atero, tal como se ilustra en la atero se denomina A-marco generalizado Figura 7.3 para i = 1. El cuadril o -A-marco.
Figura 7.3: A-marco generalizado. La Figura 7.2 indica que existe un n umero distinto de cero, tal que = 0 y = 1 .
Una curva c ubica por trozos que satisface las condiciones de conexi on GC 2 con nito se denomina un -spline. Por lo tanto, un -spline est a denido por puntos de control ci , n umeros i = 0 asociados y nodos ai [Boehm 85]. La construcci on de su representaci on de B ezier se ilustra en la Figura 7.4. Note que los i podr an ser negativos.
2 2 Observaci on 6: La raz on : en la Figura 7.3 coincide con (2 0 1 ) : 1 . Los puntos c1 o d1 yacen en el innito (o en la recta ideal), es decir, est an
96
7. Curvas suaves
Figura 7.4: Un -spline. innitamente distantes si = o = , respectivamente. N otese adem as que la raz on : no depende de . Observaci on 7: En la Secci on 7.7, vericaremos que una curva GC 2 tiene curvatura continua. Observaci on 8: Un -spline con todos los s iguales a 1 es un spline c ubico C 2 , tal como se discuti o en 5.1. Ver la Figura 5.2.
7.4
B-splines gamma
Un -spline s(u) depende anmente de sus puntos de control ci . Por lo tanto se puede escribir como una combinaci on af n de estos s(u) =
i
ci Mi (u) ,
donde los Mi (u) forman una base de -splines con nodos ai , . . . , ai+3 y valores asociados i , . . . , i+3 . Las ordenadas de B ezier de Mi se pueden obtener on uno donde ci = 1 y todos los por medio de la construcci on de 7.3 en dimensi dem as cj son iguales a cero. Las abscisas de B ezier subdividen uniformente los intervalos internodales, como se muestra en la Observaci on 10 de 2.8. La construcci on del -B-spline M2 se ilustra en la Figura 7.5.
7.5. Nu-splines
97
Figura 7.5: Un -B-spline. Observaci on 9: Los -B-splines son no negativos s olo si todos los s son positivos. Si alg un i es negativo, entonces obtenemos -B-splines con valores negativos y un -spline construido con tales -B-splines en general no yace en la c apsula convexa de sus puntos de control ci . Observaci on 10: De manera similar se pueden construir splines cu articos con torsi on continua, ver [Boehm 87]. En t erminos pr acticos si i tiende a cero entonces la curva es atraida hacia el punto Ci .
7.5
Nu-splines
Como un -spline s(u) es GC 2 , entonces de acuerdo con 7.1, existen constantes i tales que (1) s (ai +) = s (ai ) + i s (ai ) .
Usando la representaci on de B ezier de los Mi es f acil calcular los i [Boehm 85]: i = 2 1 1 + ai1 ai 1 1 i .
Los splines c ubicos GC 2 que satisfacen la condici on (1) se denominan splines. Los coecientes i se denominan tensiones. Los -spline fueron introducidos por Nielson en 1974 [Nielson 74], para interpolar puntos s(ai ) en el plano, por medio de curvas cuyo ajuste se pueda controlar.
98
7. Curvas suaves
7.6
El marco de Frenet
Una denici on de continuidad menos restrictiva que el contacto GC r , adem as v alida en espacios de dimensi on arbitraria, se basa en el marco de Frenet. Sea x(s) una curva regular en I Rd parametrizada por longitud de arco y supongamos que sus derivadas hasta orden d son linealmente independientes. En consecuencia, la curva x no est a contenida en ning un subespacio af n de I Rd . El marco de Frenet de x(s) es el sistema ortonormal de orientaci on positiva f1 , . . . , fd obtenido de x , . . . , x(d) por el proceso de Gram-Schmidt de manera tal que fit x(i) > 0 para cada i = 1, . . . , d 1. El vector f1 = x es el vector tangente de x. Para d = 3 f2 se denomina el vector normal y f3 el vector binormal de x. La Figura 7.6 ilustra esta denici on.
Figura 7.6: El marco de Frenet. La derivada del marco de Frenet, la cual mide el cambio local de la curva con respecto a la longitud de arco, est a dada por las f ormulas de Frenet 0 1 1 0 2 0 2 [f1 . . . fd ] = [f1 . . . fd ] , . .. d1 d1 0 donde los i est an dados por, 1 1 2 1 2 3 =
t f2 x
t = f3 x t = f4 x etc.
99
Vea por ejemplo [Carmo 76]. Los i son diferentes de cero y tambi en se pueden calcular utilizando las siguientes f ormulas 1 2 1 2
2 3 1 2 3
= =
vol2 [x x ] vol3 [x x x ]
= vol4 [x x x x ] etc.
Los escalares i se denominan curvaturas y son invariantes geom etricos de la curva x, es decir, s olo dependen de su forma. La primera de ellas, 1 es la curvatura usual, y la segunda 2 es la torsi on de x. V ease los Ejercicios 1, 2 y 3 para una interpretaci on geom etrica de 1 y 2 .
7.7
Continuidad de Frenet
Una curva continua x(s) en I Rd se dice Frenet continua de orden r si los primeros r vectores f1 , . . . , fr del marco de Frenet y las primeras r 1 curvaturas 1 , . . . , r1 de x son continuas. La continuidad de Frenet de orden r, est a denida s olo para r d.
(r ) (r )
la curva x parametrizada por su longitud de arco s es Frenet continua de orden r en s = s0 si y s olo si (2)
[x . . . x ]C = [x+ . . . x+ ] , (r ) (r )
donde C es una matriz de conexi on triangular superior cuya diagonal consta de 1 s. Demostraci on: Sean [f1 . . . fr ] y [f1 . . . fr ]+ las matrices formadas por los vectores de Frenet, por la izquierda y por la derecha, respectivamente. + Anal ogamente, sean i , y i las curvaturas por la izquierda y por la derecha de x en s0 . Se desprende de 7.6 que [x . . . x ] = [f1 . . . fr ] U , donde U es una matriz triangular superior cuya diagonal es
1, 1 , . . . , (1 . . . r 1 ) . (r )
Para las derivadas por la derecha se satisface una relaci on similar. Por lo tanto la ecuaci on (2) se satisface si y s olo si (3)
1 = [f1 . . . fr ]+ , [f1 . . . fr ] U CU+
100
1 donde U CU+ es triangular superior con diagonal
7. Curvas suaves
+ + + 1, ( 1 /1 ), . . . , (1 . . . r 1 /1 . . . r 1 ).
Como los vectores de Frenet son ortogonales entonces (3) se satisface si y s olo 1 es la matriz identidad. Luego (3) y (2) son ciertas si y s olo si las si U CU+ curvaturas y los vectores de Frenet son continuos. Esto termina la demostraci on. 3 De acuerdo a 7.1, los r-jets de una curva con respecto a dos parametrizaciones distintas est an relacionados por una matriz cuya diagonal es de la forma 0 , 1 , . . . , r , con = 0. Por lo tanto reparametrizando la curva podemos rescribir la condici on (2) de la siguiente manera. Sea x(t) una parametrizaci on de la curva x con derivadas linealmente indepedientes hasta orden r por la derecha y por la izquierda en un punto t = t0 . Entonces: La curva x(t) es Frenet continua hasta orden r en t = t0 si y s olo si (r) (r) [x . . . x ]C = [x + . . . x+ ] , donde C es una matriz triangular superior cuya diagonal es de la forma , 2 , . . . , r con = 0. Observaci on 11: El contacto de orden r implica continuidad de Frenet de orden r. El rec proco es cierto en general s olo para r 2. Observaci on 12: Una curva plana en I R3 tiene torsi on cero. Observaci on 13: Las curvaturas i son invariantes euclideanos, es decir, se preservan bajo rotaciones, reexiones en planos y traslaciones. Note sin embargo que la continuidad de Frenet es invariante desde el punto de vista af n, de hecho es invariante por transformaciones proyectivas. Observaci on 14: El contacto de orden r es invariante bajo proyecciones. Sin embargo, la continuidad de Frenet de orden r se preserva bajo proyecciones s olo si las derivadas hasta orden r de la curva proyectada son linealmente independientes. Observaci on 15: Considere las curvas polin omicas p(t) y q(t) en I Rd tales que p(0) = q(0) y p (0) = q (0) ,
con = 0. Sean p0 , . . . , pn y q0 , . . . , qn puntos de B ezier p y q sobre [0, 1]. Entonces p y q tienen los mismos marcos de Frenet y curvaturas en t = 0 si los subespacios generados por p0 , . . . , pi1 dividen el segmento pi y qi en la raz on 1 : ()i , si i es par y 1 : i para i impar,
101
7.8
Para los splines Frenet continuos tambi en existen pol gonos de control y un algoritmo de inserci on de nodos, como para el caso de los C r -splines simples. Ambos pueden deducirse a partir de los polinomios sim etricos y del teorema fundamental de 5.5, como mostraremos a continuaci on. Sea p(u) una curva polin omica de grado n. Entonces 1 (a u)p (u) n es una curva polin omica de grado n 1 en u. Esta curva se denomina el primer osculante de p en el nodo a. La Figura 7.8 ilustra esta denici on. pa (u) = p(u) + El segundo osculante de p se obtiene tomando el primer osculante de pa . De manera similar se pueden construir osculantes de grado m as elevado, tomando osculantes sucesivos de p. El i- esimo osculante de p en los nodos a1 , . . . , ai se puede escribir pa1 ... ai = (pa1 )a2 ... ai . Los osculantes tienen las siguientes propiedades. V ease tambi en el Ejercicio 7. La diagonal del n- esimo osculante de una curva polin omica de grado n coincide con esta, esto es
n pa...a = p(a) .
Los osculantes son sim etricos con respecto a los nodos pab (u) = pba (u) .
102
7. Curvas suaves
Figura 7.8: Primer osculante de una curva. Los osculantes son anes con respecto a sus nodos. Para a = (1 )c + d se tiene pa = (1 ) pc + pd . Debido a 3.1 estas tres propiedades caracterizan el n- esimo osculante de p como el polinomio sim etrico multiaf n de p, esto es: pu1 ... un = p[u1 . . . un ] . Supongamos que p , . . . , p(n) son linealmente independientes, entonces p, p , . . . , p(i) generan un subespacio de dimensi on r que denotamos por r Pu , v ease tambi en el Ejercicio 10. Este subespacio se denomina el r- esimo subespacio osculador de p en u. De 3.9 se desprende
r) p( a (a) =
n r (r ) p (a) . n
Note que p y su primer osculante tienen el mismo r- esimo subespacio osculador en u = a para r = 0, . . . , n 1.
7.9
Sea s(u) = ci Nin un spline con nodos simples ai , i Z, y sea sj el polinomio que coincide con s sobre el intervalo internodal [aj , aj +1 ]. Recuerde del teorema fundamental 5.5 que ci = sj [ai+1 . . . ai+n ] = sj ai+1 ... ai+n
103
k Sea Sj el k - esimo plano osculador en s en aj . Como el primer osculante sj aj n1 genera el subespacio Sj y como los osculantes son sim etricos en sus nodos, obtenemos la siguiente interpretaci on del teorema fundamental:
De hecho, cualesquiera n +1 puntos de control consecutivos cj n , . . . , cj genen ran Sj . Por lo tanto son independientes lo cual implica que las intersecciones n1 n1 an generadas por cin+k , . . . , ci . Si+1 . . . Si +k est
Observaci on 16: Esta interpretaci on geom etrica del teorema fundamental, es tambi en v alida en el caso de nodos multiples si interpretamos la intern1 n1 como el (n k )- esimo subespacio osculador de .k . . Sj secci on Sj nk Sj .
Observaci on 17: Sea p(u) una curva polin omica n-dimensional (es decir, k su k - esimo subspacio oscuque no yace en ning un subespacio propio) y Pu lador en u. Como p(u) es un spline sobre cualquier secuencia de nodos con segmentos n-dimensionales, entonces para cualquier m n + 1 los subespan1 n1 cios osculantes Pa , . . . , Pa los cuales podr an coincidir, se intersecan en 1 m un espacio de dimensi on n m. De lo contrario, n +1 subespacios osculadores no tendr an intersecci on vac a.
Observaci on 19: Es m as, se puede demostrar que la intersecci on de cualquier nr espacio osculador Pu con un subespacio m-dimensional tiene dimensi on m r, excepto para un n umero nito de ns, vea [Prautzsch 02]. Observaci on 20: Vea [Pottmann 93, Mazure & Pottmann 96] para una extensi on del tratamiento geom etrico de B-splines a los splines de Tchebyche. Observaci on 21: Los puntos de B ezier bi de una curva c ubica p(u) que
Observaci on 18: Por la Observaci on 17 existen a lo sumo m subespacios osn1 n1 culadores Pa , . . . , P posiblemente coincidentes, cuya intersecci on conam 1 tiene un subespacio de dimensi on n m
104
7. Curvas suaves
genera I R3 est an dados por los osculantes de orden 3, vea la Figura 7.9, b0 b1 b2 b3 = = = = p000 p001 p011 p111 = = = =
0 P0 , 1 2 P0 P1 , 2 1 P0 P1 0 P1 .
105
Como s es tambi en un spline sobre cualquier secuencia de nodos m as na, la denici on de s[ai+1 . . . ai+n ] se puede extender a cualquier secuencia de nodos consecutivos x1 , . . . , xn de un renamiento de la secuencia (ai ). La funci on de n variables s[x1 . . . xn ] tiene las siguientes tres propiedades, que se desprenden directamente de la denici on: s[x1 . . . xn ] coincide con s(u) sobre la diagonal, esto es s[u . . . u] = s(u) . s[x1 . . . xn ] es sim etrica, es decir, si (y1 , . . . , yn ) es una permutaci on de (x1 , . . . , xn ) entonces s[y1 . . . yn ] = s[x1 . . . xn ] . s[x1 . . . xn ] es una funci on racional por trozos. Si, por ejemplo x2 , . . . , xn est an jos entonces s[x x2 . . . xn ] yace sobre la recta Sx2 Sxn . Generalizando la nomenclatura del teorema 5.5 los puntos ci = s[ai+1 . . . ai+n ] se denominan tambi en puntos de control de s [Seidel 92]. Observaci on 22: Si las matrices de conexi on son totalmente positivas, entonces cualesquiera n subespacios osculantes consecutivos Si+1 , . . . , Si+n se intersecan en un punto, vea [Dyn & Micchelli 88].
7.11
Inserci on de nodos
los nodos de la secuencia renada. Usando las propiedades de los osculantes generalizados, s[x1 . . . xn ], se pueden calcular los nuevos puntos de control i = s[ c ai+1 . . . a i+n ] a partir de los controles iniciales ci = s[ai+1 . . . ai+n ]. De hecho, de 7.10 resulta: para ijn ci i = ci1 (1 i ) + ci i para i = j n + 1, . . . , j , c ci1 para ij+1
Considere una curva polin omica por trozos s(u) de grado n sobre la secuencia de nodos ai como en 7.10 tales que cualesquiera n subespacios osculantes consecutivos Sj +1 , . . . , Sj +n se intersecan en un punto. Sea a [aj , aj +1 ) un nuevo nodo y sean para ij ai a para i=j+1 , a i = ai1 para ij+2
106
7. Curvas suaves
donde i es una funci on racional por trozos de a . V ease el Ejercicio 6. En particular, si insertamos el nodo a n veces entonces se obtiene un algoritmo similar al algoritmo de de Boor para el c alculo de s[ a ... a ] = s( a). La u nica diferencia, es que en general los pesos i no dependen linealmente de a . Observe que este algoritmo de de Boor generalizado funciona solamente k a cuando todas las intersecciones s[aj +1 . . . aj +k a n . .. ] = Sj +1 . . . Sj +k (k - esimo subespacio osculante en a ), requeridas para el c alculo de s[ a ... a ], son puntos. Sin embargo, tal como se desprende de la Observaci on 18, estas intersecciones pueden no ser puntos en a lo sumo un n umero nito de nodos a . Observaci on 23: Los puntos de control ci , i = 0, . . . , m, denen el spline s(u) para todo u [an , am+1 ]. Por lo tanto, si consideramos s solamente sobre [an , am+1 ], es conveniente suponer nodos de multiplicidad n en los extremos. a0 = = an1 y am+1 = = am+n+1 .
7.12
Bases de splines
Hasta ahora hemos supuesto que la curva s(u) tiene derivadas independientes hasta orden n 1. Esto sin embargo no es necesario para que est en bien denidos los puntos de control y para que exista un algoritmo de inserci on de nodos. Sea a = (a0 , . . . , am ) una secuencia de nodos simples y C = (C1 , . . . , Cm1 ) una secuencia de matrices (n1) (n1) no singulares. Una curva polin omica por trozos s(u) se denomina un spline de grado n sobre a y C si es polin omica de grado n sobre cada intervalo internodal (ai , ai+1 ), i = 0, . . . , m 1, y si para cada u = a1 , . . . , am1 , las derivadas por la izquierda y por la derecha est an relacionadas por [s . . . s
(1) (n1)
]Ci = [s+ . . . s+
(1)
(n1)
] .
Para jar ideas suponderemoas que s yace en 3D. Dada la secuencia de nodos a0 , . . . , am y la secuencia de matrices no singulares C1 , . . . , Cm1 para cualesquiera m+n puntos b0 , . . . , bn , b2n , . . . , bmn , que generan un espacio de dimensi on m + n, se puede construir un spline de grado n, que tiene derivadas continuas hasta grado n 1. Este spline se denomina una curva normal para el espacio de los splines en 3D de grado n, sobre la secuencia de nodos a y matrices de conexi on C . La curva normal la denotamos por snorm y los puntos de B ezier de sus segmentos polin omicos son b0 , b1 , . . . , bn ; bn+1 , . . . , b2n , etc. Los puntos de
7.13. Ejercicios
107
B ezier (tales como bn+1 , bn+2 , . . . , b2n+1 , . . . ) est an determinados por las condiciones de conexi on dadas por las matrices de conexi on C . Cualquier spline de grado n, sobre a y C es la imagen por una aplicaci on af n del espacio n + m dimensional en 3D. H.P. Seidel se reere a la curva normal como spline universal en [Seidel 92]. Las im agenes de los puntos de control de snorm son los puntos de control de s. Esto entonces demuestra que para cualquier spline s sobre a y C hay un pol gono de control y que existe un algoritmo de inserci on de nodos. Los pesos i de 7.11 dependen solamente de a, C y de a , pero no de cada spline en particular. Es m as, las curvas normales sobre a y C con puntos de control 0, . . . , 0, 1, 0, . . . , 0 forman una base para el espacio de splines sobre a y C . El algoritmo de de Boor generalizado implica que estos splines tienen igual soporte que los B-splines ordinarios sobre a. Observaci on 24: En los casos que no se pueda denir los puntos de control de un spline normal sobre a y C , por interseci on de los n subespacios osculantes, podemos perturbar los nodos ai de manera tal que los osculantes en cada uno de los n nodos consecutivos se intersecten en exactamente un punto. V ease la Observaci on 18 de 7.9. Vea tambi en los Ejercicios 13 - 15.
7.13
Ejercicios
1 Considere la curva x(t) con curvatura (t) = 0. Muestre que los c rculos tangentes a x con contacto de orden 2 tiene radio 1/. Estos c rculos se denommnan osculadores y sus centros son los centros de curvatura. 2 Considere una curva x(s) parametrizada por longitud de arco. Su vector tangente t(s) describe una curva sobre la esfera unitaria. La longitud de arco de la curva t, que denotamos por (s), representa cuanto se han desviado los angulos de la curva en tiempo s con respecto a los valores angulares iniciales en s = 0. Demuestre que la curvatura de x es igual a la derivada de t respecto a s, es decir, = . 3 Demuestre que la torsi on de una curva en I R3 coincide con la velocidad angular del vector binormal con respecto a s. 4 Convierta un -spline a su representaci on -spline, o sea, exprese los i en t erminos de los i , vea 7.5. 5 Un -spline ( -spline) sobre los nodos a0 , . . . , am+2 con par ametros 1 , 2 , . . . , m+1 (1 , , . . . , m+1 ) es tambi en un -spline ( -spline) sobre una secuencia de nodos renada a 0 = a0 , . . . , a i = ai , a i+1 , a i+2 = ai+1 ,...,a m+3 = am+2 con par ametros 1 , . . . , m+2 ( 1 , . . . , m+2 ). Exprese los valores i ( i ) en funci on de los i (i ) respectivamente.
108
7. Curvas suaves
6 En 7.3 mostramos como se puede obtener el pol gono de control de un -spline s(u) a partir de su pol gono de B ezier. Subdivida el pol gono de B ezier de un segmento de s(u) y construya el pol gono de control correspondiente de este segmento spline. Exprese los nuevos puntos de control como combinaciones anes de los puntos de control dados, cf. [Boehm 85]. 7 Verique que los osculantes son anes y sim etricos en t erminos de sus nodos. 8 Considere el -spline s(u) = s(u +4) sobre los nodos 0, 1, 2, 3, 4 con puntos de control [1 1]t , [1 1]t , [1 1]t , [1 1]t y par ametros = 1 = 2 = 3 = 4 . Para qu e valor de s(u) interpola un c rculo de radio < 2 centrado en el origen para u = 1, 2, 3, 4? Para qu e , s(u) interpola a este c rculo en u = 1/2, 3/2, 5/2, 7/2 ? 9 Encuentre dos c ubicas p(u) y q(u) con el mismo marco de Frenet en u = 0 tales que sus planos osculadores en u = 1 son paralelos pero diferentes. 10 Sea p(u) una curva polin omica de grado n que genere I Rn . Demuestre que cada i- esimo subespacio osculador de p tiene dimensi on i para i = 0, 1, . . . , n. 11 Encuentre un spline c ubico que consista de segmentos planos y con nodos simples tales que cada uno de sus puntos de control es intersecci on de 3 2 planos osculadores consecutivos Sj .
k su k - esimo 12 Sea p(u) una curva de grado n que genera I Rn y sea Pu ni subespacio osculador en u. Demuestre que cualquier intersecci on Pa nj ni+j Pb converge a Pa , cuando b tiende a a.
13 Considere el espacio de splines c ubicos sobre Z con matrices de conexi on 10 10 para todos los dem a s nopara i = 1 , . . . , m y C = Ci = 0 i 01 1 dos. Muestre que tres planos osculadores en nodos consecutivos pueden intersecarse en una recta. 14 Encuentre los spline base (en el sentido de 7.12) del espacio de splines c ubicos del Ejercicio 13. Trate de que en su base haya el mayor n umero posible de B-splines. 15 Construya una base para el espacio de splines c ubicos del Ejercicio 13, cuyos elementos tengan soporte m nimo.
8 Subdivisi on uniforme
8.1 B-splines uniformes 8.2 Subdivisi on uniforme 8.3 Subdivisi on iterada on 8.5 Derivadas 8.6 Subdivisi on estacionaria 8.4 La matriz de subdivisi 8.7 Teoremas de convergencia 8.8 C alculo del esquema de diferencias 8.9 El esquema de los cuatro puntos 8.10 An alisis del esquema de los cuatro puntos 8.11 Ejercicios
Los splines se simplican mucho si los nodos son simples y est an uniformemente espaciados. En este caso dos B-splines de un mismo grado dieren por una traslaci on, lo cual permite una evaluaci on eciente por medio de un m etodo matricial o a trav es de una tabla de valores precalculados. Por esta raz on, se han ideado algoritmos simples para convertir una representaci on B-spline arbitraria en una representaci on B-spline sobre una secuencia de nodos m as na pero satisfaciendo la condici on de estar uniformemente espaciados. Estos algoritmos son prototipos de toda una clase de algoritmos que se denominan algoritmos de subdivisi on estacionaria.
8.1
B-splines uniformes
Los B-splines sobre la secuencia de nodos Z se pueden denir como en 5.3 y tambi en por convoluci on, usando la f ormula de la derivada de 5.7. Sea N 0 (u) = 1 para 0 u < 1 0 en caso contrario
el B-spline constante por trozos sobre los nodos 0 y 1, vea la Figura 5.4. Usando la f ormula de la derivada de un B-spline N n (u) de grado n sobre los nodos 0, 1, 2, . . . , n + 1 se obtiene por la recursi on
u
N j (u) =
0
(N j 1 (v ) N j 1 (v 1))dv ,
1
j = 1, . . . , n ,
N j 1 (u t)dt
8. Subdivisi on uniforme
N j 1 (u t)N 0 (t)dt I R = N j 1 N 0 =
la cual se denomina convoluci on de N j 1 con N 0 . La Figura 8.1 ilustra esta construcci on recursiva. En lo que sigue consideramos los trasladados N n (u i) y los denotamos como en los Cap tulos 5 y 6: Nin (u) = N n (u i) .
8.2
Subdivisi on uniforme
con B-splines uniformes sobre Z se denomina un spline uniforme sobre Z. Subdivisi on uniforme es el c alculo de la representaci on B-spline de 1 sn (u) sobre la secuencia renada de nodos 2 Z. Para esta representaci on introducimos los B-splines escalados M n (u) = N n (2u) y sus trasladados Min (u) = M n (u i/2) = N n (2u i), vea la Figura 8.2. La construcci on de la representaci on sobre la secuencia renada sn (u) =
n bn i Mi (u)
111
Figura 8.2: Escalamiento de un B-spline uniforme. no es dif cil. Para n = 0 se tiene sn (u) = = y por lo tanto b0 2i = b0 2i+1 = ci . ci Ni0 (u)
0 0 ci (M2 i (u) + M2i+1 (u))
Para n = j + 1 > 0 la recursi on para los B-splines uniformes implica lo siguiente: sn (u) = = = = = y por lo tanto
+1 bj = i
1 j j +1 (b + bj (u) i )Mi 2 i1 1 j (b + bj i) . 2 i1
Este c alculo recursivo de los bn i se denomina el algoritmo de Lane y Riesenfeld [Lane & Riesenfeld 80]. Dado un pol gono de control primero se duplican todos los puntos de control y posteriormente se construyen los pol gonos conectando los puntos medios repetidamente. on para n = 3. Los puntos negros corresLa Figura 8.3 ilustra esta construcci ponden al pol gono original, los cuales se duplican. La secuencia de c rculos en el cuadro superior derecho de la Figura 8.3, denota el pol gono para n = 1.
112
8. Subdivisi on uniforme
Figura 8.3: Subdivisi on uniforme. En los dos cuadros inferiores los c rculos peque nos siempre indican v ertices del pol gono previo. Observaci on 1: La construcci on anterior para n = 2 se denomina el algoritmo de Chaikin aunque fue estudiado anteriormente por de Rham [Rham 47]. Observaci on 2: Se tiene
u
sn+1 (u) =
u1
sn (t)dt = sn N 0 = s0 N n .
8.3
Subdivisi on iterada
El algoritmo de la subdivisi on uniforme se puede describir de una manera m as compacta utilizando una notaci on matricial. Sea C = [... y Bn = [ ...
n n bn 1 b0 b1
c 1 c 0 c 1
...] ... ]
113
las matrices formadas por los puntos de control de un spline uniforme sn 1 de grado n sobre Z y 2 Z, respectivamente. Entonces el procedimiento de Lane-Riesenfeld dado en 8.2, puede rescribirse B0 = CD y Bj +1 = Bj M , j = 0, . . . , n 1 ,
La multiplicaci on por D corresponde duplicar cada punto de control y la multiplicaci on por M equivale al c alculo de los punto medios de pares consecutivos de puntos de control. Entonces la matriz Sn = DM n , representa el operador de subdivisi on para los splines uniformes de grado n. El proceso de subdivisi on se puede repetir. Aplicando Sn = DM n dos veces, 1 se obtiene el pol gono de control del spline sn sobre 4 Z. Esto signica sn (u) = = = donde [ . . . a1 a0 a1 . . . ] = CSn Sn . o que la secuencia de los pol gonos de Observaci on 3: En 6.3 se demostr control k Ck = CSn del spline sn sobre 2n Z converge a sn cuando k tiende a innito. ci Nin (u)
n bn i Ni (2u) n an i Ni (4u) ,
1 . 1
114
8. Subdivisi on uniforme
8.4
La matriz de subdivisi on
lineales por trozos se
Similarmente la matriz de subdivisi on S2 para splines cuadr aticos por trozos (algoritmo de Chaikin) resulta 1 1 3 3 1 S2 = 1 3 3 1 4 y en general la matriz Sn es de la forma ... a0 a1 . . . an+1 Sn = a0 a1 . . . an+1 ai = 2n n+1 i . ... ,
Otra derivaci on de Sn est a dada en la Observaci on 5 de 8.8. La multiplicaci on del pol gono de control C por la matriz de subdivisi on Sn nos conduce a las ecuaciones de renamiento bn 2i =
j
cj a2i2j
y bn 2i+1 =
j
cj a2i+12j ,
cj ai2j .
8.5
Derivadas
La derivada de un spline s(u) = ci Nin (u) sobre Z tiene una forma particularmente simple. Especializando la identidad (1) de 5.6 obtenemos s (u) = ci Nin1 (u) ,
115
donde ci = ci ci1 denota la diferencia hacia atr as. Entonces la derivada s est a controlada por el pol gono de diferencias C = [ . . . ci . . . ] obtenido del pol gono de control C = [ . . . ci . . . ] de s. Es m as, sean
k Ck = [ . . . ck i . . . ] = C (Sn )
los pol gonos de control obtenidos de C por subdivisi on k veces. Entonces las representaciones de s y de su derivada, ambos sobre 2k Z, son s(u) = y s (u) =
n1 k (2 u) . 2k (ck i )Ni n k ck i Ni (2 u)
Por lo tanto, subdividiendo s obtenemos los pol gonos diferencia Ck 2k Ck = (C )(Sn1 )k . on 1 Entonces, 1 2 Sn1 aplica Ck en Ck+1 . Por esta raz 2 Sn1 se denomina la matriz del esquema de diferencias asociada con el esquema de subdivisi on representado por Sn .
8.6
Subdivisi on estacionaria
donde los elementos i son n umeros arbitrarios que satisfacen i i = = 1 y s o lo un n u mero nito de los i son diferentes de cero. i 2i+1
on bi-innita Generalizando 8.4 podemos considerar una matriz de subdivisi de la forma ... . . . 1 0 1 . . . , S= . . . 1 0 1 . . . ...
Iterando la subdivisi on se obtiene la siguiente secuencia de pol gonos de control k Ck = [ . . . ck i . . . ] = CS . Esta secuencia converge uniformemente a una curva continua c(u) si sup
i k ck i) i c(2 k
0 .
La convergencia uniforme de los pol gonos Ck a c(u), sobre cada compacto implica que los splines constantes por trozos ck (u) =
i 1 ck i Ni (u)
116
8. Subdivisi on uniforme
tambi en convergen a c(u), que es uniformemente continua sobre intervalos compactos. Una condici on necesaria y suciente para la convergencia uniforme fue dada en [Dyn et al. 91] y [Micchelli & Prautzsch 87]. Los pol gonos de control Ck convergen uniformemente a una curva uniformemente continua c(u) si y s olo si los pol gonos diferencia ck convergen uniformemente a cero. ease tambi en los Ejercicios 3 y 4. La prueba de este hecho est a en 15.3. V
8.7
Teoremas de convergencia
Consideremos ahora una secuencia Ck = [ . . . ck gonos arbitrarios, i . . . ] de pol no necesariamente obtenidos por subdivisi on y supongamos que la secuencia de pol gonos 2k 2 Ck , las segundas diferencias divididas, converge uniformemente a cero. Entonces por 8.6, los pol gonos primera diferencia dividida 2k Ck convergen uniformemente a una curva uniformemente continua, d(u). Por lo tanto, las primeras diferencias Ck convergen uniformemente a cero y los pol gonos Ck , a una curva uniformemente continua c. Este hecho implica que el spline constante por trozos dk (u) = y que los splines lineales por trozos ck (u) =
1 k ck i Ni (2 u) 0 k 2k ck i Ni (2 u)
ck (u) = ck 1 +
dk (t) dt ,
0
c(u) = c(0) +
0
d(t) dt .
En consecuencia c es diferenciable y c (u) = d(u). Una aplicaci on repetida de este resultado resulta en el siguiente teorema general: Si la secuencia de pol gonos 2kr r+1 Ck converge uniformemente a cero cuando k tiende a innito, entonces c es una curva C r . Adem as para todo i = 0, . . . , r, los pol gonos 2ki i Ck convergen i uniformemente a las derivadas c de una curva c, r veces continuamente diferenciable.
117
8.8
Para utilizar los resultados de 8.7 debemos calcular los pol gonos diferencia Ck . Sea C = [ . . . ci . . . ] un pol gono de control y S la matriz de subdio en 8.4, los v ertices bi del pol gono visi on como en 8.6. Tal como se explic subdividido B = CS se calcula usando la ecuaci on de renamiento bi =
j
cj i2j .
=
i j
cj i2j z 2j z i2j c j z 2j
j k
k z k ,
k z k
no depende de C y se denomina el polinomio caracter stico del esquema de subdivisi on S . Note que cada esquema de subdivisi on tiene un u nico polinomio caracter stico y viceversa. La representaci on de esquemas de subdivisi on por polinomios caracter sticos permite obtener f acilmente sus esquemas de diferencias asociados: Multiplicando las diferencias bi por z i y sumando sobre i obtenemos el polinomio de Laurent bi z i = b(z )(1 z ) . b(z ) =
i
Sustituyendo la ecuaci on para b(z ) se tiene b(z ) = c(z 2 )(z )(1 z ) 1z = c(z 2 )(z ) 1 z2 (z ) . = c(z 2 ) 1+z
La suposici on 2i = 2i+1 = 1 establecida en 8.5 es equivalente a (1) = 0 y (1) = 2. Por lo tanto (1 + z ) es un factor de (z ), lo cual implica que (z ) (z ) = . 1+z
118
8. Subdivisi on uniforme
es el polinomio caracter stico del esquema de diferencias asociado con S. Observaci on 4: La matriz de subdivisi on D para un spline constante por trozos sobre Z dada en 8.3, tiene polinomio caracter stico 0 (z ) = (1 + z ) . Observaci on 5: La matriz 1 2 Sn1 denida en 8.4 representa el esquema de diferencias correspondiente al algoritmo de subdivisi on para splines de grado n sobre Z, vea 8.5. Por lo tanto el polinomio caracter stico n (z ) de Sn est a dado por n = = . . . = 1 (1 + z )n1 (z ) 2 1 (1 + z )2 n2 (z ) 4 2n (1 + z )n 0 (z ) = 2n (1 + z )n+1 ,
n+1 i
de 8.4.
8.9
Como un ejemplo de los resultados anteriores presentamos el esquema de los cuatro puntos de Dyn, Gregory y Levin [Dyn et al. 87]. Dado un pol gono k P0 = [ . . . p0 . . . ] se construye una secuencia de pol gonos P = [ . . . p k i i ...] de la forma
+1 pk 2i1 +1 pk 2i
pk i+2
donde es un par ametro de dise no para controlar la forma de la curva. La construcci on correspondiente se ilustra en la Figura 8.4. Note que cada pol gono Pk+1 obtenido por medio del esquema de los cuatro puntos, interpola al polinomio previo Pk . Los algoritmos de subdivisi on con esta propiedad tambi en se denominan esquemas iterativos interpolantes. Observaci on 6: Sea p(u) una curva c ubica y sea P0 = [ . . . p0 i ...] el pol gono dado por p0 i = p(i), i Z. Si = 1/16 entonces todos los pol gonos Pk obtenidos a trav es del esquema de los cuatro puntos tambi en
119
.Entonces el esquema de los cuatro puntos tiene precisi on c ubica para = 1/16. Observaci on 7: Usando la interpolaci on polin omica de grado 2k 1 en abscisas equidistantes, se pueden construir esquemas de 2k puntos con precisi on polinomial de grado 2k 1. V ease [Kobbelt 94].
8.10
Por inspecci on de la denici on del esquema de los cuatro puntos se obtiene su polinomio caracter stico (z ) = + (1/2 + )z 2 + z 3 + (1/2 + )z 4 z 6 = (1 + z ) (z ) ,
donde (z ) = + z + 1/2z 2 + 1/2z 3 + z 4 z 5 es el polinomio caracter stico del esquema de diferencias. Entonces se tiene
+1 pk 2i
(1/2 + 2| |) sup pk i
i
k k pk i + 1/2pi+1 + pi+2
y similarmente
Por lo tanto, para | | < 1/4 los pol gonos de diferencias Pk convergen a cero y los pol gonos Pk convergen a una curva continua. Es m as, de acuerdo
120
8. Subdivisi on uniforme
a 8.7 la diferenciabilidad depende de las segundas diferencias 2k 2 Pk . De 8.8 se desprende que el esquema de diferencias asociado tiene el polinomio caracter stico (z ) = 2 (z ) = + 2z + (1/2 2 )z 2 + 2z 3 z 4 . 1+z
Como previamente, en este caso tambi en se puede demostrar que 2k 2 Pk tiende a cero si 0 < < 1/8. Por lo tanto en este caso el esquema de los cuatro puntos produce interpolantes C 1 . que el esquema de los Observaci on 8: Se puede demostrar [Dyn et al. 91] cuatro puntos produce interpolantes C 1 si 0 < < ( 5 1)/8 0.15. Sin embargo, en general no produce curvas C 2 . Observaci on 9: El esquema de 2k puntos de Kobbelt produce interpolantes C k1 [Kobbelt 94]
8.11
Ejercicios
1 El B-spline uniforme N n se puede obtener como una convoluci on de N 0 n veces, N n = N 0 .n . . N 0 . 2 Use la relaci on de recurrencia para B-splines uniformes de 8.1 para demostrar Nin = 1,
i i
(i +
I R
Nin = 1 .
+1 k+1 k k 3 Use la notaci on de 8.6 para demostrar que ck 2i ci y c2i+1 1/2(ci + k k an acotados por alg un m ultiplo de supi ci i |i |. ci+1 ) est 1 k u) 4 Deduzca del Ejercicio 3 que la curva lineal por trozos ck i Ni (2 k converge uniformemente si las diferencias ci convergen uniformemente a cero.
5 Sea Sk la matriz del algoritmo de subdivisi on de splines uniformes de gonos grado k dada en 8.4 y considere la secuencia de pol Ck = Ck1 Sk , k = 1, 2, 3, . . . , donde C0 = [ . . . ci . . . ] es un pol gono de control arbitrario. Demuestre que los pol gonos Ck convergen a una curva C , [Rvachev 90].
8.11. Ejercicios 6 Considere los splines uniformes sn = Para cualquier entero r I N sea sn =
n bn i Ni (ru)
la representaci on correspondiente sobre 1 r Z. Demuestre que los puntos n de control bi se pueden calcular a trav es de la relaci on de recurrencia. b0 ri
+1 bn i
= =
= b0 ri+r 1 = ci 1 n (b + + bn i ). r ir+1
7 Considere dos matrices de subdivisi on R y S con polinomios caracter sticos (z ) y (1 + z )(z )/2. Dado el pol gono C suponga que los pol gonos CRk convergen a una curva c(u). Demuestre que los pol gonos CS k convergen u a la curva d(u) = u1 c(u)du.
Parte II
Supercies
9.1 Productos tensoriales 9.2 Supercie producto tensorial de B ezier 9.3 Formas polares del producto tensorial de B ezier 9.4 Conversi on entre las formas monomial y de B ezier 9.5 Algoritmo de de Casteljau 9.6 Derivadas on bic ubica C 1 por trozos 9.7 Conexiones simples C r 9.8 Interpolaci 9.9 Supercies de topolog a arbitraria 9.10 Parametrizaci on singular 9.11 Splines bic ubicos C 1 de topolog a arbitraria 9.12 Ejercicios
La manera m as sencilla de construir una supercie consiste en barrer una curva en el espacio, por ejemplo en la representaci on de B ezier. Los puntos de control de esta curva se mueven a su vez siguiendo curvas de B ezier, cuyos puntos de control denen la supercie. La representaci on de la supercie por medio de estos puntos de control tiene propiedades similares a la representaci on de B ezier univariada. Por esta raz on se puede trabajar con estas supercies aplicando los algoritmos para curvas. Tambi en, se pueden construir vol umenes multidimensionales barriendo una supercie o un volumen en el espacio de manera que sus puntos de control se mueven a lo largo de diversas curvas. An alogamente se obtienen mallas de control con propiedades similares de las de representaciones de curvas.
9.1
Productos tensoriales
Para mostrar como se construye una supercie producto tensorial a partir de curvas, sean A0 (u), . . . , Am (u) y B0 (v ), . . . , Bn (v ) dos conjuntos de funciones independientes y consideramos la curva
m
p(u) =
i=0
ai Ai (u) ,
126
Cada uno de los puntos de control de esta curva yace sobre una curva de B ezier
n
ai = ai (v ) =
j =0
bij Bj (v ) .
bij Ai (u)Bj (v ) .
se denomina supercie producto tensorial Es f acil ver que los productos Ai Bj tambi en son linealmente independientes. Observaci on 1: El producto de dos funciones es una funci on producto tensorial especial ai Ai (u) bj Bj (v ) =
j i j
ai bj Ai (u)Bj (v ) .
Observaci on 2: La expresi on uv + (1 u)(1 v ) es una funci on producto tensorial. N otese sin embargo que esta expresi on no es el producto tensorial de una funci on de u y una funci on de v , vea la Figura 9.1.
Figura 9.1: La funci on uv + (1 u)(1 v ). Observaci on 3: Sean Ai (u) y Bj (v ) los polinomios de Lagrange, ver 4.2, con nodos u0 , . . . , um y v0 , . . . , vn denidos por Ai (uk ) = i,k y Bj (vl ) = j,l tal como la ilustra en la Figura 9.2. Entonces la supercie producto tensorial p(u, v ) =
i j
pij Ai (u)Bj (v )
se denomina supercie de Lagrange. Esta supercie interpola los puntos pij , como ilustra la Figura 9.3.
127
9.2
En esta secci on veremos como extender a las supercies tensoriales de B ezier las t ecnicas desarrolladas para curvas. Esto tambi en facilitar a la extensi on de las t ecnicas de B-splines al caso de supercies. Una supercie polin omica b(u) = b(u, v ) es de grado m = (m, n) si es de grados m y n en u y v , respectivamente. La pareja de transformaciones anes u = c1 (1 s) + d1 s, v = c2 (1 t) + d2 t mantiene invariante el grado de b, es decir, b(s, t) = b(u(s, t)) es tambi en de grado m en s = (s, t). El polinomio b(s, t) se puede considerar como un polinomio de grado n en t cuyos coecientes son polinomios de grado m en s. Entonces b(s, t) tiene la representaci on de B ezier b(s, t) =
i m bi (t)Bi (s) = i j m n bij Bi (s)Bj (t) ,
donde i = (i, j ).
128
Los coecientes bi se denominan los puntos de B ezier de b(u) sobre el intervalo [c, d] = [c1 , d1 ] [c2 , d2 ]. Cuando estos puntos se conectan como indica la Figura 9.4 nos referimos a la conguraci on resultante como la malla de B ezier de b. La variable s se denomina par ametro local y u es el par ametro global.
Figura 9.4: Una malla de B ezier. Como en el caso de las curvas, las superces tensoriales de B ezier heredan las propiedades de los polonomios de Bernstein. La simetr a de los polinomios de Bernstein implica b(u) =
i,j m bij Bij (s) = i,j m ( s) , bmi,j Bi,j
donde s = (1 s, t), etc. La utilidad pr actica de la simetr a consiste en que para parametrizar el mismo parche tomando como origen otro v ertice, simplemente se invierte el orden de todas las las o columnas, o de ambas. Como una curva pasa por su primer y u ltimo punto de B ezier, se tiene que el borde de la malla de B ezier determina las cuatro curvas frontera del parche b[c, d]. Por ejemplo, se tiene b(c1 , v ) =
j n b0j Bj (v ) .
En particular, resulta que las cuatro esquinas del parche y de su malla B ezier coinciden, esto es: b(c1 , d1 ) = b00 , b(c1 , d2 ) = b0n , etc.
9.2. Supercies producto tensorial de B ezier Como los polinomios de Bernstein suman uno, sus productos tambi en forman una partici on de la unidad,
m Bi = i j n 1 Bj =1 .
129
Por lo tanto b(u) es una combinaci on af n de sus puntos de B ezier y la representaci on de B ezier anmente invariante . Como los polinomios de Bernstein son no negativos en [0, 1], se tiene que para todo u [c, d], b(u) es una combinaci on convexa de los bi . Por lo tanto el parche b[c, d] est a contenido en la c apsula convexa de sus puntos de B ezier. Observaci on 4: Usando la propiedad de la c apsula convexa para cada componente se obtiene una caja de acotaci on para el parche b[c, d], b(u) [min bi , max bi ]
i i
para u [c, d] ,
donde minbi es el punto cuya primera coordenada es el m nimo de las primeras coordenadas de los bi ; y de modo similar se denen las dem as coordenadas de minbi . La denici on de maxbi es an aloga. Ver la Figura 9.5.
130
9.3
Sean A0 (u), . . . , Am (u) y B0 (v ), . . . , Bn (v ) bases para los espacios vectoriales de polinomios, hasta grado m y n, respectivamente. Denotamos por Ai [u1 . . . um ] y Bj [v1 . . . vn ] las formas polares correspondientes. Entonces la supercie producto tensorial b(u, v ) =
i j
bij Ai (u)Bj (v )
Esta forma polar satisface las siguientes tres propiedades. b[u1 , . . . , um , v1 , . . . , vn ] coincide con b(u, v ) sobre su diagonal, esto es b[u, . . . , u, v, . . . , v ] = b(u, v ) b[u1 , . . . , um , v1 , . . . , vn ] es sim etrica en las variables ui y en las variables vj , esto es b[s1 . . . sm , t1 . . . tn ] = b[u1 . . . um , v1 . . . vn ] para cualesquiera permutaciones (s1 , . . . , sm ) y (t1 , . . . , tn ) de (u1 , . . . , um ) y (v1 , . . . , vn ), respectivamente. b[u1 , . . . , um , v1 , . . . , vn ] es af n en cada una de las variables. Los puntos de B ezier de b(u, v ) sobre un intervalo [a, b] [c, d] se pueden obtener directamente del teorema fundamental 3.2. Para cualquier u jo, el polinomio b(v ) = b(u, v ) tiene puntos de B ezier
j bj (u) = b[u .m . . u, c n . .. c d .j . . d] , j = 0, . . . , n ,
9.4. Conversi on entre las formas monomial y de B ezier El polinomio b(u, v ) del producto tensorial cuya forma polar es b[u1 , . . . , um , v1 , . . . , vn ] tiene puntos de B ezier bij = b[a n . . .i a b . i . . b, c m . . .j c d . j . . d] sobre el intervalo [a, b] [c, d].
131
La forma polar b[u1 , . . . , um , v1 , . . . , vn ] del producto tensorial se puede calcular utilizando la generalizaci on del algoritmo de de Casteljau a partir de los puntos bj (u) = b[u1 . . . um , c m . . .j c d . j . . d] , j = 0, . . . , m , y estos a su vez, se pueden determinar a partir de los bij . Como los puntos de B ezier son u nicos, el polinomio b(u, v ) de un producto tensorial de grado (m, n) tiene una u nica forma polar b[u1 , . . . , um , v1 , . . . , vn ].
9.4
akl
m k
n k l u v l
b(u) =
k=0
ak
m k u , k
donde u = (u, v ), k = (k, l) y m = (m, n). Convertir b(u) de la forma monomial a la forma de B ezier sobre [0, 1]x[0, 1] resulta sencillo. Aplicando dos veces la f ormula de conversi on de 2.8 se obtiene
m
b(u) =
i=0
m bi Bi (u) ,
donde bi =
k=0
i ak . k
Similarmente, aplicando dos veces la expresi on de 2.9 se obtiene la f ormula para convertir de la representaci on de B ezier a la monomial
k
ak =
i=0
(1)k+lij
k bi . i
132
Observaci on 5: Si b(u) si es un polinomio bilineal, es decir, una aplicaci on bi-af n, entonces ak = 0 para todo k (1, 1). Por lo tanto, los puntos de B ezier de b(u) est an dados por bij = a00 + ia10 + j a01 + ij a11 = b(i/m, j/n) .
9.5
Algoritmo de de Casteljau
y se puede evaluar en s = (s, t) aplicando el algoritmo de la Casteljau para curvas, (m + 2) o (n + 2) veces. Esto conduce al siguiente algoritmo para supercies: Use el algoritmo de de Casteljau para calcular 1. los puntos bi =
n j =0 n bij Bj (t) y m i=0 m bi Bi (s) .
3, 2 Observaci on 6: Por ejemplo, considere el polinomio b(s, t) = bij Bij (s, t) cuya matriz de B ezier aparece en la esquina superior izquierda de la Figura 9.7. Esta Figura ilustra el algoritmo mostrando los 8 = 4 2 pasos de de Casteljau para t = 1/2 y tres pasos para s = 2/3 en la u ltima la. Cada echa corresponde a un paso.
9.6. Derivadas
133
Figura 9.7: Evaluaci on de un producto tensorial con el algoritmo de de Casteljau. Observaci on 7: Tambi en podemos aplicar el algoritmo de de Casteljau B ezier primero a la las de B ezier para s = 2/3 y posteriormente a las columnas para t = 1/2 tal y como se ilustra con las matrices y echas a trazos. Es m as, se puede alternar arbitrariamente las operaciones sobre las y columnas, como se ilustra en la Figura 9.7 con matrices y echas punteadas, lo cual es importante pues el corte del algoritmo var a si m es distinto de n. Observaci on 8: La propiedad de subdivisi on del algoritmo de de Casteljau descrita en 3.3 muestra que los puntos de B ezier de b(s, t) sobre [0, 1] [0, t] y [0, 1] [t, 1] son ciertos B ezier puntos intermedios calculados con este algoritmo. Observaci on 9: El polinomio b(u, v ) denido en la Figura 9.8 tiene matrices de B ezier 0 0 0 6 10 1 1 10 9 1 0 7 y 11 1 2 13 . 10 1 1 10 4 0 4 18 sobre [0, 1] [0, 1/2] y [0, 1] [1/2, 1], respectivamente.
9.6
Derivadas
Las derivadas de una supercie tensorial tambi en se pueden obtener usando los algoritmos para curvas. La primera derivada parcial de una supercie b(s) = tiene la representaci on de B ezier bs = b=m s
m1,n 10 bi Bi (s) , m bi Bi (s) ,
134
Figura 9.8: Evaluaci on usando el algoritmo de de Casteljau alternando s y t. donde 10 bi = bi+1,j bi,j , vea la Figura 9.9.
Figura 9.9: Los puntos de B ezier 10 bi de la derivada bu . Derivando repetidamente se obtiene la f ormula general m! q +r b= q r s t (m q)!
m q q bi Bi ,
donde qr = 10 q1,r = 01 q,r1 y m! = m!n! y q = (q, r). En particular, se tiene que b00 , b10 , b01 generan el plano tangente de b en (u, v ) = (0, 0) y que la torsi on cruzada est a dada por bst (0, 0) = mn11 b00 = mn(b11 b10 b01 + b00 ) ,
vea la Figura 9.10. Observaci on 10: Por la simetr a de los polinomios de Bernstein la propiedad anterior es tambi en v alida en las otras tres esquinas del parche denido sobre [0, 1]x[0, 1].
135
9.7
Conexiones simples C r
El teorema de St ark de 3.10 conduce tambi en a una condici on necesaria y suciente para garantizar la conexi on C r de dos parches b(u) y c(u) dados por mallas de B ezier b0 , . . . , bm y c0 , . . . , cm sobre [u0 , u1 ] [v0 , v1 ] y [u1 , u2 ] [v0 , v1 ], respectivamente: Las derivadas de b y c coinciden hasta orden r sobre u = u1 si y s olo si los puntos bmr,j , . . . , bmj = c0j , . . . , crj forman el pol gono de B ezier compuesto de una curva de grado r sobre [u0 , u1 , u2 ] para todo j = 0, . . . , n. on C 1 simple para m = 3, n = 3 y donde La Figura 9.11 ilustra una conexi i = ui .
136
9.8
Los esquemas de interpolaci on para curvas tambi en se pueden extender f acilmente a productos tensoriales. Ilustramos este proceso para el caso de interpolaci on c ubica discutida en 4.5. Dados (m + 1) (n + 1) puntos pij a interpolar que corresponden a los valores de los par ametros (ui , vj ), para i = 0, . . . , m y j = 0, . . . , n, nuestro objetivo es construir una supercie producto tensorial, s(u, v ) bic ubica C 1 por trozos tal que s(ui , vj ) = pij . En concreto, para cada (i, j ) construimos puntos de B ezier b3i,3j , . . . , b3i+3,3j +3 que denen el segmento de s sobre [ui , ui+1 ] [vj , vj +1 ].
Sea P = [pij ] la matrix (m + 1) (n + 1) formada por los puntos de interpolaci on. N otese que los elementos de P son puntos y no escalares. Sean S y T las matrices (m + 1) (3m + 1) y (n + 1) (3n + 1) de los esquemas de interpolaci on lineales sobre las abscisas u0 , . . . , um y v0 , . . . , vn , respectivamente, tal como se describe en la Observaci on 9 de 4.5. Entonces la interpolaci on tensorial basada en las matrices S y T se describe en dos pasos. 1 Interpole cada columna de P , calculando A = S t P . 2 Interpole cada la de A, calculando B = AT .
Entonces los puntos de B ezier buscados son los elementos de la matriz B = [bij ] = S t P T . La Figura 9.12 presenta una ilustraci on. Note que la interpolaci on de las las y de las columnas es intercambiable. Esto es, por interpolaci on de las se obtiene C t = P T y por interpolaci on de columnas resulta entonces B = S t C = S t P T . Claramente s(ui , vj ) = b3i,3j = pi,j y si S y T generan interpoladores C 1 , s(u, v ) es diferenciable en u, y como los pasos 1 y 2 conmutan, tambi en es diferenciable respecto a v . Observaci on 11: Una aproximaci on a la supercie se puede obtener de manera an aloga al presentado en 4.6 para curvas.
9.9
La interpolaci on proporcionada por supercies producto tensorial es excelente para interpolar los v ertices de una malla rectangular, en cada nodo de la malla inciden exactamente 4 cuadril ateros. Sin embargo no toda supercie se puede descomponer en parches rectangulares, tal que sus fronteras formen una malla regular. Esto se ilustra en la Figura 9.13.
137
Figura 9.12: Esquema de interpolaci on del producto tensorial. En estos casos, una soluci on es renar la malla y transformarla en una malla no regular de cuadril ateros, como en la Figura 9.14. A un as , resulta complicado construir una supercie C 1 con trozos rectangulares que formen una malla arbitraria. Las construcciones dadas en 9.7 s olo permiten conectar tetraedros de parches en v ertices interiores. Una manera de resolver este problema ser a estudiada en los cap tulos 13 y 14. Otra opci on consiste en la utilizaci on de parametrizaciones singulares, las cuales consideraremos en el resto de este cap tulo.
9.10
Parametrizaci on singular
con una singularidad en (u, v ) = o, esto es, con b00 = b10 = b01 = b11 tal como se ilustra en la Figura 9.15 para m = n = 3. Las derivadas parciales bu y bv son cero en (u, v ) = (0, 0), o sea, la parametrizaci on de b es singular en (0, 0) y la expansi on de Taylor de b alrededor (0, 0) es de la forma b(u, v ) = aij ui v j , donde a10 = a01 = a11 = o. En general, el plano tangente de b en (0, 0) no
138
Figura 9.14: Dos posibles conversiones a mallas de cuadril ateros. est a denido. Sin embargo, si b00 , b20 , b02 son independientes y coplanares con b21 y b12 , si adem as b21 yace al mismo lado de la tangente b00 b20 que b02 y si b12 yace al mismo lado de la tangente b00 b02 que b20 , entonces b(u, v ) admite una parametrizaci on regular en una vecindad de (0, 0). En particular, en este caso b(u, v ) tiene un plano tangente bien denido [Reif 93, Teorema 3.3].
139
Figura 9.15: Una malla de B ezier singular. Una supercie bic ubica con conexiones C 1 est a determinada por los puntos de B ezier internos de cada parche, marcados con c rculos en la Figura 9.16. Los puntos de B ezier de la frontera se denotan por y calculados como el punto medio del segmento que une los puntos de B ezier adyacentes. N otese que los puntos de B ezier interiores vecinos a una esquina compartida por tres o m as de cuatro parches deben coincidir, para que las conexiones a lo largo de las curvas que emanan de este punto sean C 1 . Un punto que tiene esta propiedad se llama v ertice extraordinario. Los parches ubicados alrededor de un v ertice extraordinario tienen un mismo plano tangente en ese punto solamente si los puntos de B ezier interiores conectados por l neas punteadas en la Figura 9.16 son coplanares y si satisfacen las condiciones dadas en 9.10.
140
Observaci on 12: La condici on de coplanaridad mencionada anteriormente puede ser satisfecha, en general, solamente si cada parche b tiene a lo sumo un v ertice extraordinario. Esta hip otesis siempre se cumplir a si cada parche se subdivide en cuatro subparches. Observaci on 13: Los puntos de B ezier interiores determinan el spline completamente, pero deben satisfacer ciertas restricciones para garantizar que la supercie sea C 1 . A dichos puntos Reif los denomina puntos de cuasi control. Observaci on 14: Reif tambi en ha propuesto una aplicaci on proyectiva que convierte mallas de control arbitrarias en mallas de cuasi control que satisfacen las condiciones de arriba, vea el Ejercicio 6. En 14.6. presentamos un m etodo m as general.
9.12
Ejercicios
1 Generalice el algoritmo de generaci on de curvas de 3.5 a supercies producto tensorial. 2 Generalice el algoritmo de generaci on de curvas por diferencias hacia adelante presentado en 3.6 a supercies producto tensorial. 3 Generalice el algoritmo de intersecci on de curvas de 3.7 a productos tensoriales. 4 Implemente un esquema de interpolaci on basado en los splines C 1 bic ubicos de 9.11 para interpolar los v ertices de una malla arbitraria de cuadril ateros. 5 La subdivisi on de cada parche bic ubico del spline C 1 de 9.10 en cuatro 2 subparches sobre [0, 1/2] , . . . , [1/2, 1]2 corresponde a un renamiento de la malla de cuasi control, vea la Observaci on 13. Desarrolle esta construcci on.
). 6 Considere 2n vectores c1 , . . . , c2n que generan I R3 y sea ci = cos(i n Demuestre que los vectores d1 , . . . , d2n dados por c0 c1 . . . c2n1 c1 c0 . . . c2n2 [d1 . . . d2n ] = [c1 . . . c2n ] . . . . . . . . . . . .
c12n
c22n
...
c0
son coplanares.
7 Extienda la interpolaci on de Hermite para curvas, discutida en 4.4, al caso de las supercies tensoriales en su representaci on de B ezier.
10.1 Polinomios de Bernstein multivariados 10.2 Simples de B ezier 10.3 Precisi on lineal 10.4 El algoritmo de de Casteljau 10.5 Derivadas 10.6 Convexidad de supercies funcionales 10.7 Limitaciones de la convexidad 10.8 Ejercicios
La representaci on de B ezier sobre tri angulos es la generalizaci on natural de la representaci on de B ezier univariada y es u til particularmente en el caso de datos dispersos. Con la excepci on de la propiedad de variaci on decreciente, b asicamente todas las propiedades pueden ser generalizadas. Conociendo la representaci on de B ezier sobre un tri angulo, los resultados se pueden extender f acilmente a dimensi on mayor obteni endose la representaci on de B ezier sobre un simplex multidimensional, v ease el Cap tulo 19.
10.1
Debido a su simetr a, la mejor descripci on de los polinomios de Bernstein es en coordenadas baric entricas. Sea A un tri angulo con v ertices a0 , a1 , a2 en entricas de un punto x I R2 con I R2 y sea = [u v w]t las coordenadas baric respecto a A. Entonces escribimos x = A = a0 u + a1 v + a2 w, vea 1.2. Procediendo como en 2.1, el c alculo de la expansi on trinomial 1 = (u + v + w)n =
i,j,k
n! i j k uv w , i!j !k !
donde 0 i, j, k, i + j + k = n, conduce a los polinomios de Bernstein de grado n n! i j k n uv w , Bijk (u, v, w) = i!j !k ! estos se pueden abreviar como B = B n () = n
142
donde = (i, j, k) {0, 1, . . . , n}3 y | | = i + j + k = n. La Figura 10.1 ilustra onico de los polinomios de dos ejemplos y la Figura 10.2 provee el listado can Bernstein de grado n = 3.
B111
6uvw
B210
B120
3u2 v
3uv 2
Figura 10.2: Los polinomios de Bernstein c ubicos ordenados can onicamente. N otese que s olo dos de las tres variables de los B n () son independientes. ametro local con respecto a A y x es el Como es usual representa par par ametro global. Estas deniciones se pueden generalizar a un simplex A de dimensi on d > 1. Los correspondientes polinomios de Bernstein multivariados se denen de manera an aloga B n () = n
n! d ui0 . . . ui d , i0 ! . . . id ! 0
donde = (i0 , . . . , id ) {0, 1, . . . , n}d+1 , | | = i0 + + id = n, y = (u0 , . . . , ud ) son coordenadas baric entricas de un punto x respecto a A. Los polinomios de Bernstein en dimensi on d verican las propiedades siguientes: Los polinomos de Bernstein de grado n son linealmente independientes. Esto se puede vericar dividiendo b
=0
143
donde vk = uk /u0 . Como los monomios son linealmente independientes se on. tiene que todos los b son cero, lo cual termina la vericaci
d Existen n+ polinomios de Bernstein de grado n. En consecuencia dichos d polinomios
forman una base para el espacio de polinomios de grado total n, sobre d variables.
n son sim etricos, esto es, B n () = B ( ) ( ()) para cualquier permutaci on .
sus ra ces yacen sobre las caras del simplex A. En particular Bn( donde d + 1.
0, . . . , d k)
1 0
para
ik = n ik < n ,
> ,
lo cual es la raz on porque usualmente se trabaja con polinomios de Bernstein denidos sobre su simplex de referencia A. satisfacen la relaci on de recurrencia
1 n1 B n () = u0 B n 0 + + ud B d ,
10.2
Simples de B ezier
Como los polinomios de Bernstein forman una base, toda supercie polin omica b(x) tiene una u nica representaci on de B ezier, b(x) = b B n () ,
144
Figura 10.3: La malla de B ezier de una supercie c ubica. con respecto a un simplex de referencia a0 . . . ad . Los coecientes b se denominan puntos de B ezier de b y son los v ertices de la malla de B ezier de b(x) sobre el simplex A, vea la Figura 10.3, donde d = 2 y n = 3. Las propiedades de simetr a de los polinomios de Bernstein se traducen en propiedades correspondientes para las representaciones de B ezier de supercies: ezier de b con respecto a Los puntos b( ) son los puntos de B 1 (a0 . . . ad ), para cualquier permutaci on . Los puntos de B ezier de b() restringido a cualquier cara de dimensi on inferior de A coincide con la cara de la malla de B ezier. Por ejemplo para cualquier < d b(x) =
n bi0 ... i 0 ... 0 Bi () , 0 ... i
donde son las coordenadas baric entricas de x con respecto a a0 . . . a . En particular, en los v ertices del simple a0 . . . ad se tiene b(a0 ) = bn0 ... 0 y que n(bn1,1,0,...,0 bn,0,...,0 ) es la derivada direccional de b respecto a a1 a0 en a0 . b(x) es una combinaci on af n de sus puntos de B ezier. En consecuencia, la representaci on de B ezier es invariante por transformaciones anes. ,..., b(ad ) = b0 ... 0n ,
145
Como los polinomios de Bernstein son no negativos sobre el simplex de referencia, b(x) es una combinaci on convexa para todo Por lo tanto, la supercie b(A) yace en la c apsula convexa de sus puntos de control.
10.3
Precisi on lineal
b() = u0 p0 + + ud pd = P , b() = =
los puntos b = [i0 p0 + + id pd ]/n = P /n son los v ertices del renamiento uniforme del simplex p0 . . . pd , vea la Figura 10.4.
Figura 10.4: Partici on uniforme del tri angulo pqr. Observaci on 1: La evaluaci on de un polinomio lineal b() en los puntos b resulta en sus puntos de B ezier, b( /n) = b o b() = b( /n)B n () .
146
Esta propiedad de la representaci on de B ezier se denomina precisi on lineal. Observaci on 2: Como consecuencia de la Observaci on 1, la supercie funcional x b(x) = , donde b(x) = b Bn , b(x) tiene puntos de B ezier [at b ]t , donde na = [a0 . . . ad ] , como se ilustra en ezier y las a las la Figura 10.5. Los b se denominan los ordenadas de B abscisas de B ezier de b(x).
10.4
El algoritmo de de Casteljau
acilmente usando una Un simplex de B ezier b = b B n se puede evaluar f generalizaci on del algoritmo de de Casteljau. Usando repetidamente las relaciones de recurrencia de los polinomios de Bernstein, tal como se hizo para curvas, primero se obtiene b(x) =
| |=n
b B n () b B n1 ()
| |=n1
b B 0 () = b000 , ] .
donde b = [b
+
0
...b
i+
La Figura 10.6 ilustra un ejemplo. Los puntos intermedios b , | | n del algoritmo de de Casteljau, en su ordenaci on can onica, forman un esquema tetra edrico. Si x yace en un simplex A, entonces todos los pasos del algoritmo de de Casteljau son combinaciones convexas, lo cual garantiza su estabilidad num erica.
10.5. Derivadas
147
10.5
Derivadas
Las derivadas parciales de un polinomio de Bernstein son f aciles de calcular. Sean u0 , . . . , ud las variables independientes. Entonces se obtiene n 1 B = nB n j , uj donde B = 0, si una recta etc.,
x(t) = p + tv , donde v = a0 v0 + + ad vd y v0 + + vd = 0. Esta recta determina la curva b(x(t)) sobre la supercie b(x) = b() = b B n () .
Dv b(p)
148 donde
c = v0 b
+ + vd b
Figura 10.7: Las diferencias c . De manera similar se pueden calcular derivadas de orden superior. Una derivada direccional r- esima Dv1 . . . Dvr b tiene coecientes de B ezier v1 . . . vr b , donde | | = n r. El operador diferencia v conmuta con los pasos del algoritmo de de Casteljau debido a que tomar combinaciones anes es una operaci on conmutativa, vea 2.6. Por lo tanto podemos calcular la derivada r- esima, realizando n r pasos de de Casteljau seguidos por r pasos de diferencias. En particular, se obtiene que los puntos b10...0 , . . . , b0...01 calculados en el pen ultimo paso de de Casteljau generan el plano tangente de b en x. Observaci on 3: Si d = 2, podemos considerar la malla de B ezier de un polinomio b(x) = b B n () como una funci on lineal por trozos p(x) sobre a0 a1 a2 . Entonces La derivada direccional Dv p(x) de la malla de B ezier contiene los puntos de B ezier de Dv b(x). Este hecho se ilustra en la Figura 10.8 para una supercie funcional.
10.6
En la presente secci on nos restringiremos al caso de dos variables. Esto es, d = 2 y = [u, v, w]t . Dada la representaci on de B ezier de un polinomio b(x) sobre un tri angulo a0 a1 a2 , se denomina poliedro de B ezier de b(x) sobre A al polinomio p(x) a trazos que interpola las ordenadas b en las correspondientes abscisas. Demostraremos que
149
Figura 10.8: La derivada de una malla de B ezier. si el poliedro de B ezier p(x) de un polinomio b(x) es convexo, entonces b(x) es tambi en convexo. El rec proco no es cierto en general. V ease 3.13, Ejercicio 11. Para la prueba, sea v0 = a 2 a 1 , v1 = a 0 a 2 , v2 = a 1 a 0
tal como se ilustra en la Figura 10.3 y sea b = Dv Dv b la segunda derivada de b con respecto a las direcciones v y v , y p (x) denotar a su poliedro de B ezier. El poliedro de B ezier p(x) es convexo si y s olo si cada par de tri angulos adyacentes forman una funci on convexa. Esto se satisface precisamente, si p01 0, p12 0 y p20 0 ,
vea la Figura 10.9. Debido a la propiedad de la c apsula convexa esto implica que b01 0, b12 0, y b20 0, y tambi en que b00 b11 b22 = b01 b02 = b12 b10 = b20 b21 0 , 0 , 0 .
150
Figura 10.9: Convexidad de una malla de B ezier. podemos rescribir la segunda derivada Dv Dv b como la suma de tres t erminos no negativos Dv Dv b = 2 b + 2b + 2 b 0 ,
Observaci on 4: Un pol gono convexo en el plano siempre representa una curva convexa. Para mallas de B ezier triangulares en el espacio esto no es cierto en general, tal como lo ilustra la Figura 10.10.
Figura 10.10: Parche cuadr atico no-convexo con malla de B ezier convexa.
10.7
Limitaciones de la convexidad
Sabemos que los polinomios funcionales cuyos poliedros de B ezier son convexos tambi en son convexos. El rec proco, sin embargo, no es cierto en general. Considere el polinomio cuadr atico b = 3B200 B101 + 3B002 , ilustrado junto con su poliedro de B ezier en la Figura 10.11. Esta malla de B ezier es claramente no convexa, pero b es convexo. Concretamente, las segundas derivadas parciales son b00 = b11 = 6 y b01 = 2.
151
Figura 10.11: Un polinomio convexo con malla no convexa. Entonces para cualquier v = v0 + v1 = o se tiene Dv Dv b = 2 b00 + 2b01 + 2 b11 = 4(2 + 2 ) + 2( + )2 > 0 ,
lo cual signica que b es estrictamente convexo. Note que todos los poliedros de B ezier de b de grado m as alto tambi en son no convexos, pues para cualquier representaci on de B ezier de grado n del polinomio constante b01 = 2, las ordenadas de B ezier son iguales a 2. Este resultado es sorprendente porque los poliedros de B ezier de b convergen a b cuando n tiende a innito, vea 11.9. Por lo tanto tenemos una secuencia de funciones no convexas con un l mite estrictamente convexo. Otro resultado negativo fue observado por Grandine [Grandine 89]. Considere un cuadril atero abdc no convexo tal como se ilustra en la Figura 10.12 y sean b y c dos polinomios con contacto C 1 a lo largo del segmento ad. Si b y c tienen mallas de B ezier convexas sobre adc y abd, respectivamente, entonces tienen que ser lineales sobre ad.
Figura 10.12: Dominio cuadrilateral no convexo. Se desprende del contacto C 1 que b14 = c14 (= Dv1 Dv4 c) sobre ad. Como existen constantes positivas , tales que v1 = v2 + v4 , la convexidad de
152
Este resultado tiene tambi en una consecuencia sorprendente. Supongamos que b tiene un poliedro de B ezier convexo sobre abc. Entonces sus poliedros de B ezier sobre los tri angulos abd, bcd, y adc no pueden ser todos convexos a menos que b sea lineal sobre las tres rectas ad, bd y cd. Como b es convexo esto implica que b es lineal. Por lo tanto, la subdivisi on, tal como se describe en 11.3, no preserva convexidad. Sin embargo vea el Ejercicio 1 de 11.12.
10.8
Ejercicios
nico m aximo sobre su tri angulo 1 El polinomio de Bernstein B n () tiene un u de referencia. Este m aximo se alcanza en = /n. 2 El operador de Bernstein B asigna a una funci on f , un polinomio de grado n B [f ] = f ( /n)B n () . Muestre que el operador de Bernstein aplica sobreyectivamente los polinomios de grado m n sobre polinomios de grado m. 3 Verique que el monomio u v tiene la representaci on de B ezier de grado n+ ! ! ! j i u v = B n (u, v, w) , n! donde w = 1 u v , = n y , , 0. 4 Calcule la representaci on de B ezier sobre el tri angulo nomio en base monomial de grado n b(x, y ) =
0i+j n 1 0 0 1 0 0
del poli-
aij xi y j .
153
= b .
1, b , 1 b
Demostrar que
b00n =
i=0 j =0
(1)+ ij bijk , j
donde k = n i j . 6 Usando la expansi on de Taylor y el Ejercicio 5 demuestre la siguiente f ormula de conversi on de la representaci on de B ezier a la monomial b B n () =
0+ n
n! (1)k b u v , j ! ! !
donde = n .
11.1 Polinomios sim etricos 11.2 El teorema fundamental 11.3 Subdivisi on y on 11.5 Generaci on de reparametrizaci on 11.4 Convergencia bajo subdivisi supercies 11.6 El polinomio sim etrico de la derivada 11.7 Conexiones C r on de grado 11.9 Convergencia por elevaci on de grado simples 11.8 Elevaci on a la representaci on tensorial de B ezier 11.11 Conversi on 11.10 Conversi a la representaci on triangular de B ezier 11.12 Ejercicios .
Similarmente al caso de una variable, a cada polinomio le corresponde, de manera u nica, un polinomio sim etrico multiaf n. Usando estos polinomios sim etricos es f acil deducir algoritmos para evaluar, elevar de grado, reparametrizar y subdividir representaciones triangulares de supercies de B ezier. Esto generaliza lo desarrollado para polinomios univariados en el Cap tulo 3.
11.1
Cada supercie polin omica b(x) de grado total n se puede asociar con un u nico polinomio sim etrico n-af n b[x1 . . . xn ] sobre I R2 que tiene las siguientes propiedades. b[x1 . . . xn ] coincide con b(x)sobre su diagonal, esto es b[x . . . x] = b(x) b[x1 . . . xn ] es sim etrica en sus variables, esto signica que para cualquier permutaci on (y1 . . . yn ) de (x1 . . . xn ) se tiene b[y1 . . . yn ] = b[x1 . . . xn ] b[x1 . . . xn ] es af n en cada variable, es decir, b[(x+(1)y), x2 . . . xn ] = b[x, x2 . . . xn ]+(1)b[y, x2 . . . xn ] .
156
El polinomio sim etrico b[x1 . . . xn ] tambi en se denomina la forma polar [Casteljau 85] o blossom de b(x) [Ramshaw 87]. Para demostrar que para cada b(x) existe el polinomio sim etrico es suciente vericar que este existe para todos los elementos de una base de polinomios. Considere una combinaci on lineal b(x) = c C (x) de polinomios C (x) de grado n. Sean C [x1 . . . xn ] sus polinomios sim etricos etrico de b(x) es donde = (i, j, k) O y | | = n, entonces el polinomio sim b[x1 . . . xn ] = c C [x1 . . . xn ] ,
pues satisface las tres propiedades mencionadas anteriormente. Note que la diagonal b[x . . . x] puede tener grado menor que n a pesar de que b[x1 . . . xn ] depende de n variables. En el caso que las C sean los monomios An ij (x, y ) = polinomios sim etricos elementales An ij [x1 . . . xn ] =
<< <<
xi y j , se obtienen los
x . i . . x y . j . . y ,
donde x = (x , y ) y , . . . , , , . . . , son i + j enteros distintos, entre 1 y n. En el caso de que los C son los polinomios de Bernstein B n () = obtienen los polinomios B n [1 . . .
n
, se
n ] =
<<
<< <<
u u v v w w ,
y (, . . . , , , . . . , , , . . . , ) es
on n ] satisfacen la relaci
3
1 1 n1 n ] = u1 B n [2 . . . n ]+v1 B n [2 . . . n ]+w1 B [2 . . . n ]
Observaci on 2: El vector , de coordenadas baric entricas, y el vector coordenadas anes est an relacionados por x = x() = [a0 a1 a2 ] y
de
donde ; v1 , v2 denotan las coordenadas anes asociadas al sistema de coordenadas baric entricas. Como estas transformaciones son anes, a partir de la forma polar a[x1 . . . xn ], dada por las coordenadas anes, se puede construir procamente. Esto es, se la forma polar b[1 . . . n ] = a[A1 . . . An ] y rec tiene a[1 . . . n ] = b[(1 ) . . . (n )].
= (x) = + [v1 , v2 ]x
157
11.2
El teorema fundamental
La unicidad del polinomio sim etrico y su relaci on con la representaci on de B ezier est an dadas por el siguiente teorema: Para cada supercie polin omica b(x) de grado n existe un u nico polinomio n-variado, sim etrico, multiaf n b[x1 . . . xn ] con diagonal b[x . . . x] = b(x). Es m as, los puntos b0 = b[p . i . . p q .j . . q r .k . . r] son los puntos de B ezier de b(x) sobre pqr. Prueba: Considere los puntos
l. x ] , bl = b[p . i . . p q .j . . q r .k . . r x1 . . l
i+j+k+l =n .
Como bn etrico y multiaf n, este punto se puede calcular o = b[x1 . . . xn ] es sim es de la siguiente relaci on de recurrencia a partir de los puntos b0 a trav
(1)
l 1 l 1 1 bl = ul bl + 1 + vl b + 2 + wl b + 3 ,
donde ul , vl , wl son las coordenadas baric entricas de xl con respecto a pqr, v ease la Figura 11.1, donde las aplicaciones multianes sim etricas distintas deben diferir en alguno de sus argumentos [p . i . . pq . j . . qr . k . . r]. Es m as, si todos los xl son iguales a x, entonces la relaci on de recurrencia anteriror se reduce a la aplicaci on del algoritmo de Casteljau para el c alculo de b(x). En consecuencia, como la representaci on de B ezier es u nica, los ezier de b(x) sobre pqr y, adicionalmente, puntos b0 son los puntos de B puede haber solamente un polinomio sim etrico y multiaf n que coincide con b(x) sobre su diagonal. 3
11.3
Subdivisi on y reparametrizaci on
La f ormula recursiva (1) ilustrada en la Figura 11.1 revela una propiedad muy importante del algoritmo de de Casteljau: El c alculo de b(x) genera tambi en los puntos de B ezier b[p . i . . p q .j . . q x .k . . x], y b[x . i . . x q .j . . q r .k . . r] b[p . i . . p x .j . . x r .k . . r] ,
158
Figura 11.1: El algoritmo de de Casteljau generalizado. de b sobre pqx, pxr, y xqr, respectivamente. La Figura 11.2 ilustra un ejemplo para n = 3. N otese que los puntos b[x1 x2 x3 ] est an etiquetados por sus argumentos x1 x2 x3 . Note que las mallas de B ezier de b(x) sobre pqx, pxr, y xqr forman parte de una malla compuesta la cual se dobla sobre si misma si x yace fuera de pqr. El c alculo de esta malla compuesta se denomina subdivisi on de la malla de B ezier sobre pqr en x. Dada la malla de B ezier de una supercie polin omica b sobre el tri angulo pqr se puede calcular su malla de B ezier sobre un tri angulo cualquiera xyz a trav es de un proceso de subdivisi on, vea [Prautzsch 84a, Boehm et al. 84]. Primero se subdivide la malla sobre pqr en x, luego se subdivide la malla sobre xqr en y; y nalmente se subdivide, la malla sobre xyr en z, vea la Figura 11.3. La permutaci on de pqr o de xyz resulta en una subdivisi on diferente. Es recomendable subdividir siempre en puntos interiores para evitar combinaciones anes no convexas. La Figura 11.4 ilustra un caso en el cual es imposible evitar combinaciones no convexas con la construcci on anterior, independientemente como se permuten pqr y xyz. Observaci on 3: Para la construcci on anterior se necesitan 3 combinaciones anes
n+2 3
= O(n3 )
Observaci on 4: Cada punto de B ezier b[x . i . . x y .j . . y z .k . . z] de b sobre xyz se puede calcular usando el algoritmo de de Casteljau generalizado, vea la Figura 11.2. Las combinaciones anes calculadas por este algoritmo son
159
Figura 11.3: Reparametrizaci on por subdivisi on repetida. convexas si x, y y z yacen en el tri angulo pqr. Observaci on 5: Para calcular la malla de B ezier sobre xyz por medio de las n+2 aplicaciones del algoritmo de de Casteljau se necesitan n+2 n+3 = 2 2 3 5 O(n ) combinaciones anes.
11.4
La malla de B ezier de b(x) sobre un tri angulo pqr es una buena aproximaci on del parche b si el tri angulo es sucientemente peque no. M as concretamente, sea pqr un tri angulo y sea h su di ametro. Denotemos por i=p i j k +q +r n n n
un punto de coordenadas baric entricas /n. Entonces existe una constante M independiente de pqr tal que max b(i) b M h2 .
160
Figura 11.4: Tri angulos de referencia especiales. Para la prueba sea D el diferencial de b[x, i . . . i] = = b[i . . . i, x] en x = i. Expandiendo el polinomio sim etrico b[x1 . . . xn ] alrededor de [i . . . i] se obtiene b = b[i . . . i] + iD[p i] + jD[q i] + kD[r i] + O(h2 ) = b(i) + O(h2 ) ,
lo cual concluye la prueba. 3 Una aplicaci on de esta propiedad se presenta en la pr oxima secci on
11.5
Generaci on de supercies
Como consecuencia de la Seccion 11.4, la subdivisi on repetida de una malla de B ezier produce aproximaciones tan buenas como se requiera de la supercie exacta. Discutimos tres estrategias de subdivisi on: 1. Repitiendo la subdivisi on siempre en el centro del tri angulo de referenametros cia, tal como se ilustra en la Figura 11.5 deja invariantes los di m aximos de los tri angulos de referencia. Por lo tanto la secuencia de mallas de B ezier obtenidas a trav es de esta estrategia de subdivisi on no converge a la supercie.
Figura 11.5: Subdivisi on en los centros. 2. La subdivisi on uniforme de cada tri angulo de referencia tal como se muestra en las Figuras 11.6 y 11.7 genera una secuencia de B ezier mallas de B ezier, que converge a la supercie.
161
Figura 11.7: Subdivisi on por bisecci on repetida. 3. La subdivisi on uniforme de la Figura 11.6 es computacionalmente costosa y usa combinaciones anes, posiblemente no-convexas, v ease 11.3. Entonces para generar un parche, la mejor estrategia es la ilustrada en la Figura 11.7. Es de bajo coste computacional y para su implementaci on s olo se requiere de la evaluaci on de combinaciones convexas. Comparando con otros m etodos de generaci on de supercies se observa que el m etodo ilustrado en la Figura 11.7 es el m as r apido conocido hasta ahora [Peters 94].
11.6
omica en la direcci on La derivada direccional D b() de una supercie polin = [v0 , v1 , v2 ]t , || = v0 + v1 + v2 = 0, tambi en puede escribirse en t erminos del polinomio sim etrico b[1 . . . n ]. on del polinomio sim etrico Se desprende de 10.5 o directamente por derivaci que D b() = n(v0 b[ 0 . . . ] + v1 b[ = nb[ . . . ] . Claramente, nb[2 . . . D b(). Note que b[2 . . .
1
. . . ] + v2 b[ 2 . . . ])
n ] es af n en 2 , . . . , n y es lineal en .
162
Repitiendo el proceso de diferenciaci on, se puede obtener los polinomios sim etricos de derivadas direccionales de orden superior c() = Dr . . . D1 b() con respecto a r vectores 1 , . . . , r , concretamente, c[r+1 . . .
n ] =
n! b[1 . . . (n r)!
r r+1 . . . n ]
11.7
Conexiones C r simples
La subdivisi on tambi en es una herramienta u til para describir ciertas condiciones de diferenciabilidad sobre dos supercies polin omicas b(x) y c(x) a lo largo de su curva com un en t erminos de sus puntos de B ezier b y c sobre pqr y sqr, respectivamente. V ease la Figura 11.8.
Figura 11.8: La conexi on C 1 simple de Sabin. De 10.5 se desprende que las derivadas hasta orden r sobre el segmento qr determinan y son determinadas por los puntos de B ezier b y c para i = 0, . . . , r. Esto nos lleva a la versi on de Farin del teorema de St ark [Farin 86, p.98]; v ease tambi en [Sabin 77], p.85. Las derivadas de b y c coinciden hasta orden r sobre qr si y s olo si las primeras r + 1 las de los puntos de B ezier de b y c sobre sqr tambi en coinciden, lo cual signica que b[s . i . . s q .j . . q r .k .. r] = c , i = 0, . . . , r.
l . q r n r. l r] tiene puntos de Sobre pqr y sqr, el polinomio b[x . r .. x q .. .. B ezier b y c , respectivamente, donde i r, j l y k n r l. Los puntos
pueden calcularse a partir de los usando el algoritmo de de Casteljau , v ease 11.3 y las Figuras 11.8 y 11.9.
163
Figura 11.9: La conexi on C 2 simple de Farin. Las derivadas de b y c coinciden hasta orden r sobre qr si y l. s olo si para todo l = 0, . . . , n r los polinomios b[x . r .. x q .. n r l r l n r l q r . . . r] y c[x . . . x q . . . q r . . . r] son iguales. Observaci on 6: Los cuadril ateros sombreados de las Figuras 11.8 y 11.9 son im agenes diferentes del cuadril atero pqrs. En consecuencia, cualesquiera ertice com un m parches triangulares i (), i = 1 . . . , m, alrededor de un v tienen una conexi on C 1 simple en ese v ertice si y s olo si sus tri angulospar ametros forman un pol gono que es im agen af n del pol gono formado por los respectivos tri angulos esquinas de las mallas de B ezier asociadas. Observaci on 7: Como dos polinomios son iguales si y s olo si, sus formas polares coinciden, entonces () y () tienen las mismas derivadas hasta orden r sobre el segmento qr si y s olo si sus formas polares satisfacen b[x1 . . . xr q . j . . q r .k . . r] = c[x1 . . . xr q . j . . q r .k . . r] para cualquiera x1 , . . . , xr y todo j y k tales que r + j + k = n. Esta condici on se emplea en [Lai 91] para caracterizar splines C r multivariados sobre triangulaciones arbitrarias
11.8
Elevaci on de grado
Una supercie de B ezier polin omica de grado n siempre tiene tambi en una representaci on de B ezier de grado m, para cualquier m > n. Tal como para el caso de curvas, la conversi on a una representaci on de un grado mayor se denomina elevaci on de grado. Dada una representaci on de B ezier de grado n b(x) = b B n (u) , x = [pqr] ,
164
de una supercie polin omica b() sobre un tri angulo pqr veremos como se construye la representaci on de B ezier de grado n + 1. An alogamente al caso de curvas presentado en 3.11 utilizamos el polinomio sim etrico b[x1 . . . xn ] de b(x). Es f acil vericar que c[x0 . . . xn ] = 1 n+1
n
b[x0 . . . x l . . . xn ]
l=0
es multiaf n, sim etrica y coincide con b(x) sobre la diagonal. Entonces por el teorema fundamental de 11.2 se tiene que los puntos b = c[p .j.0. p q .j.1. q r .j.2. r]
son los puntos de B ezier de b(x) sobre pqr en su representaci on de grado n + 1. j0 0 1 b = b[p j. . . p q .j.1. q r .j.2. r] n+1 j1 1 1 . . q r .j.2. r] b[p .j.0. p q j. + n+1 j2 2 1 + . . r] b[p .j.0. p q .j.1. q r j. n+1 on asociada para n = 2. La Figura 11.10 ilustra la construcci
11.9
Repitiendo el proceso de elevaci on de grado se obtienen representaciones de B ezier de grado mayor b(x) = d B m () , m>n .
165
Los nuevos puntos de B ezier d se pueden expresar f acilmente en t erminos de los b . Tomando r = m n, podemos rescribir b(x) =
| |=n
b Bn 1
como b(x) =
| |=n
b Bn
Br
| |=r
=
| |=m
| |=n
donde
m , b Bk n m r
BnB = = Bm
= (i1 , i2 , i3 ) y
k2 k2 i2 +1 mi1 mi1 i2 +1
i1
k3 n + m mn
i3
i1
k3 n m m
Por lo tanto podemos concluir que la malla de B ezier de grado m de b(x) converge a b(x) linealmente cuando m tiende a innito. Vea [Farin 79, Trump & Prautzsch 96].
166
11.10
Sea b(x) un polinomio n-variado y sea b[x1 , . . . xn ] su forma polar, denotamos por xst = x(s, t) una aplicaci on biaf n que env a el cuadrado unitario [0, 1]2 sobre un cuadril atero convexo, vea Figura 11.11. Entonces el polinomio reparametrizado c(s, t) = b(x(s, t)) es un producto tensorial (n, n) en (s, t). La forma polar de este producto tensorial est a dada por c[s1 . . . sn , t1 . . . tn ] = 1 n! b[x(s1 , 1 ) . . . x(sn , n )] ,
donde la suma se extiende sobre todas las permutaciones (1 , . . . , n ) de (t1 , . . . , tn ). La prueba de esto se reduce a vericar que c satisface las tres propiedades que caracterizan la forma polar de un polinomio: simetr a, anidad en cada variable y restricci on a la diagonal.
Figura 11.11: Una reparametrizaci on biaf n. Conociendo la forma polar del producto tensorial se puede aplicar el teorma ezier de c(s, t) sobre [0, 1] x fundamental 9.3 para obtener los puntos de B [0, 1]. Estos puntos son
j cij = c[0 n . . .i 01 . i . . 1, 0 n . .. 01 . j . . 1]
cij
=
k=0
ijk b[x00
n+kij
...
j siendo n!ijk el n umero de parametrizaciones de (0 n . .. 01 . j . . 1) tales que exactamente k 1 s est an ubicados en las u ltimas i posiciones. Luego
ijk
= =
1 j i . . . (i + 1 k ) (n i) . . . (n i + 1 j + k ) (n j )! k n! j (n i)!(n j )! k! i . k (n + k i j )! n! k
11.11. Conversi on a la representaci on triangular de B ezier De 11.3 recordamos que los puntos b[x00 . . . x00 x01 . . . x01 x10 . . . x10 x11 . . . x11 ]
167
resultan de la subdivisi on de la malla de B ezier de b(x) sobre x00 x01 x10 en x11 , v ease tambi en [DeRose et al. 93].
11.11
Un producto tensorial b(x, y ) de grado (m, n) tiene grado total m + n. Por lo tanto tiene una representaci on de B ezier de grado l = m + n sobre cualquier tri angulo pqr. Para calcular esta representaci on triangular, sea b[x1 . . . xm , y1 . . . yn ] la forma polar del producto tensorial de b(x, y ). Entonces la forma polar (no necesariamente producto tensorial) de b(x) est a dada por 1 c[x1 . . . xl ] = b[xi1 . . . xim , yim+1 . . . yil ] l! donde la suma se extiende por todas las permutaciones (i1 . . . il ) de (1 . . . l) y xi = (xi , yi ). Claramente, c satisface las tres propiedades que caracterizan la forma polar. Los puntos de B ezier de b(x) sobre un tri angulo con v ertices p = [p1 , p2 ]t , t t q = [q1 , q2 ] y r = [r1 , r2 ] puede obtenerse a trav es del teorma fundamental 11.2. Estos son los puntos bijk = c[p . i . . pq . j . . qr . k . . r] =
+ + =m (,, )(i,j,k)
ijk b[p1 . . . p1 q1 . . . q1 r1 . . . r1 ,
p2 i. . . p2 q2 j. . . q2 r2 k . . . r2 ] , donde
ijk =
k m!n! .
De 9.5 obtenemos que los puntos b[p1 . . . p1 q1 . . . q1 r1 . . . r1 , p2 . . . p2 q2 . . . q2 r2 . . . r2 ] aparecen en el algoritmo de de Casteljau para el producto tensorial usado para calcular b(r) a partir de los puntos de B ezier sobre [pqr].
168
11.12
Ejercicios
1 Considere un parche funcional con un poliedro de B ezier convexo. Demuestre que la elevaci on de grado y la subdivisi on uniforme de la Figura 11.6 preservan la convexidad del poliedro de B ezier. 2 Existen parches param etricos para los cuales la observaci on del Ejercicio 1 no es v alida. Produzca un ejemplo. 3 Generalice el algoritmo de intersecci on de 3.7 para parches triangulares. 4 Sean v1 = q p y v2 = r q. Muestre que la malla de B ezier b sobre pqr es plana si v1 v1 b , v1 v2 b y v2 v1 b son cero. Por lo tanto el m aximo de estas diferencias es una medida de la planaridad del parche de B ezier. 5 El almacenamiento digital de mallas de B ezier requiere cierto cuidado en aras de la eciencia, tanto desde el punto de vista de utilizaci on de memoria como de su acceso. Una manera eciente de almacenar muchas mallas de B ezier consiste en guardar los puntos bijk , i + j + k = n de cada malla en un arreglo lineal, digamos a[L] = bijk donde L = L(i, j ) var a desde 1 hasta n+2 apido se garantiza 2 . El acceso r si la funci on L se almacena en una matriz L = [Lij ]. D e una f ormula expl cita para la funci on L del Ejercicio 5.
12 Interpolaci on
12.1 Interpolaci on de Hermite 12.2 El interpolador de Clough-Tocher 12.3 El interpolador de Powell-Sabin 12.4 Supercies de topolog a arbitraria 12.5 Parametrizaci on singular 12.6 Splines C 1 de grado cinco de topolog a arbitraria 12.7 Ejercicios
Dados valores y derivadas de una funci on bivariada es f acil construir un interpolador polin omico por trozos usando la representaci on de B ezier. Sin embargo no existe una extensi on a supercies param etricas arbitrarias, por ejemplo, esferas. Para esto se requieren conexiones C r m as generales y/o parametrizaciones singulares.
12.1
Interpolaci on de Hermite
Dada una triangulaci on T de un dominio poligonal de I R2 se puede construir una funci on polin omica por trozos de grado 4r +1 que es r-veces diferenciable e interpola cualesquiera derivadas dadas en los v ertices de T , hasta orden 2r. La representaci on de B ezier es una herramienta muy u til para describir esta construcci on. La Figura 12.1 muestra un tri angulo de la trangulaci on T y las abscisas de B ezier del interpolador para este tri angulo en el caso r = 2, vea 10.3. Hay tres tipos de abscisas de B ezier: las denotadas por c en las cuales las derivadas est an prejadas, aquellas en las cuales las ordenadas son arbitrarias, etiquetadas con c y las abscisas c, c, c cuyas ordenadas dependen de los tri angulos adyacentes y est an determinadas por las condiciones de conexi on C r .
170
12. Interpolaci on
12.2
El interpolador de Clough-Tocher
Interpoladores de grado m as bajo que los presentados en 12.1 se pueden construir para datos correspondientes a topolog as arbitrarias. Sin embargo, esto se puede hacer s olo a expensas de aumentar el n umero de parches. El interpolador c ubico C 1 polin omico por trozos que se describe a continuaci on fue propuesto por Clough y Tocher [Clough & Tocher 65]. Dada una triangulaci on T de un dominio poligonal en I R2 , subdividimos cada tri angulo de T en un punto interior en tres microtri angulos, tal como se ilustra en la Figura 12.2. Para cualesquiera valores y primeras derivadas en los v ertices de T se puede construir una funci on C 1 que ser a c ubica sobre cada microtri angulo.
Figura 12.2: Subdivisi on de un macrotri angulo en tres microtri angulos. ezier de un tal interpolador sobre un La Figura 12.2 ilustra las abscisas de B tri angulo de T . Las ordenadas de B ezier sobre las abscisas c est an dadas por
171
los datos de interpolaci on en los v ertices. Las ordenadas en las abscisas c, c, c se determinan por las condiciones de conexi on C 1 a lo largo de las aristas de T tal como se describe en 12.1. Las ordenadas en las abscisas c est an determinadas por las condiciones de conexi on C 1 a trav es de las aristas de la triangulaci on renada. Esto signica que los cuatro puntos correspondientes a cada cuadri atero sombreado en la Figura 12.2 son coplanares. Observaci on 1: El interpolador anterior es dos veces diferenciable en los puntos de subdivisi on. Para una prueba considere el parche cuadr atico denido por las ordenadas de B ezier sobre las seis abscisas interiores c, c, c, c de la Figura 12.2. Como las diez ordenadas de B ezier sobre las diez abscisas en constituyen la malla de B ezier interiores c, c, c, c, c de la Figura 12.2 tambi subdividida del parche cuadr atico, la condici on de diferenciablidad se deduce del teorema de St ark de 11.7.
12.3
El interpolador de Powell-Sabin
en se puede abordar con un interEl problema de interpolaci on 12.2 tambi polador C 1 cuadr atico por trozos. Esto, sin embargo, requiere un n umero a un mayor de parches [Powell & Sabin 77]. En esta construcci on cada macrotri angulo se subdivide en seis microtri angulos introduciendo puntos interiores c y puntos 3 sobre las aristas, vea la Figura 12.3. Los segmentos que conectan los puntos interiores, de tri angulos adyacentes deben intersecar las aristas comunes en los puntos 3. Si los puntos c son los incentros de los tri angulos, entonces los segmentos que conectan los incentros de tri angulos adyacentes, en efecto, cortan sus aristas comunes en los puntos 3. V ease tambi en el Ejercicio 5.
Figura 12.3: Abscisas de B ezier de la subdivisi on de Powell-Sabin an determinadas por las condiLas ordenadas de B ezier en las abscisas c est ciones de interpolaci on, las ordenadas denotadas por 3 y c est an dadas por las condiciones de conexi on C 1 a lo largo de las aristas de subdivisi on. Las nueve ordenadas de B ezier que pertenecen al paralelogramo (de l neas
172
12. Interpolaci on
interrumpidas) en la Figura 12.3 yacen sobre una supercie bilineal. Esto implica C 1 -continuidad entre macrotri angulos adyacentes.
12.4
Las conexiones C k simples descritas en 11.7, aunque sucientes para la modelaci on de supercies no param etricas, no son sucientes para la modelaci on de supercies suaves arbitrarias. En particular se tiene lo siguiente: usando solamente parches triangulares regulares y conexiones C 1 simples, es imposible construir una supercie cerrada a menos que sea de g enero uno. eneros 0, 1, 2 y La Figura 12.4 muestra ejemplos de supercies cerradas de g 3.
Figura 12.4: Supercies cerradas de varios g eneros: 0, 1, 2 y 3. Para la prueba consideramos primero el caso cuando el g enero es cero y procedemos por reducci on al absurdo. Considere una supercie cerrada de g enero 0 compuesta de parches triangulares regulares unidos con conexiones C 1 simples. Tal como se ilustra en la Figura 12.5, subdividimos la supercie estos en dos pedazos, entonces por la Observaci on 6 de 11.7, cada uno de se puede escribir en t erminos de una parametrizaci on regular C 1 sobre un dominio triangulado simplemente conexo. Es m as, existe una aplicaci on af n que env a todos los tri angulos frontera del primer dominio sobre tri angulos que bordean el segundo dominio. Sin embargo, claramente, esto es imposible, lo cual termina la prueba en este caso. Note que al contrario de la situaci on anterior, un toro o cualquier otra supercie de g enero 1, se puede parametrizar por medio de una aplicaci on C 1 regular sobre un rect angulo, vea el Ejercicio 1. Finalmente, si una supercie de g enero n 2 estuviera compuesta por esta se podr a parches triangulares con conexi ones C 1 simples (vea 11.7),
173
Figura 12.5: Separaci on de una supercie de g enero en dos componentes. cortar tal como se ilustra en la Figura 12.4 y podr a parametrizarse sobre un dominio triangulado con 2(n 1) huecos cuyas fronteras corresponden a los cortes. Tal como en la situaci on anterior, en estas condiciones tambi en existe una aplicaci on af n que env a los tri angulos frontera de un hueco en sus tri angulos frontera adyacentes del hueco correspondiente. Esto, sin embargo es imposible, por lo cual una supercie de g enero 2 tampoco puede estar compuesta de parches triangulares regulares con conexiones simples C 1 .
12.5
Parametrizaci on singular
Para modelar supercies suaves de topolog a arbitraria hay que introducir conexiones C 1 de tipo general, (las cuales se describen en el Cap tulo 14) o permitir parametrizaciones singulares. Para el caso de parches triangulares se pueden utilizar las singularidades estudiadas en 9.10 para productos tensoriales. Sin embargo, es suciente considerar las singularidades m as d ebiles ilustradas en la Figura 12.6. La Figura 12.6 muestra parte de la malla de B ezier de un parche triangular polin omico b(u, v ) = b B n (u, v, 1 u v ) , donde b00n = b1,0,n1 = b0,1,n1 y b1,1,n2 = b2,0,n2 + b0,2,n2 + b00n
174
12. Interpolaci on
Figura 12.6: Puntos de B ezier de una parametrizaci on singular en un v ertice. con , > 0 , + + = 1 y puntos independientes b00n , b2,0,n2 , b0,2,n2 . Las derivadas de b(u, v ) en u = (u, v ) = (0, 0) se anulan. Sin embargo, existe una reparametrizaci on u(x) tal que c(x) = b(u(x)), regular en x = u1 (o). Despu es de una transformaci on af n se obtiene 1 0 2 2 0 , b0,2,n2 = 1 . b00n = 0 , b2,0,n2 = n(n 1) n(n 1) 0 0 Por lo tanto, la expresi on de Taylor de b(u) en u = (0, 0) es de la forma b(u) = donde x(u) = y d(u) = O( u 3 ) . Claramente, x e y son estrictamente mon otonas en u y v para u, v 0. Por lo tanto x(u) es inyectiva en el dominio u, v 0. Es m as, x(u) es regular para u = 0. En consecuencia, c(x) = b(u(x)) es continuamente diferenciable si c(x) tiene parciales continuas. Estas parciales est an dadas por [cx cy ] = [du dv ] lo cual conduce a cx = O ( u ) = O ( x ) . De manera similar se puede argumentar para dy . Por lo tanto, c(x) y consecuentemente tambi en b(u(x)), son continuamente diferenciables. Observaci on 2: Si , < 0 y 4 > 1, tambi en se puede demostrar que b(u) tiene un plano tangente continuo [Reif 95a]. xu yu xv yv
1
x(u) + d(u) , 0
u2 + 2uv = O( u 2 ) v 2 + 2uv
1 [du dv ] xu yv xv yu
yv yu
xv xu
175
12.6
Para construir supercies C 1 de topolog a arbitraria que interpolan planos tangentes prescritos en puntos dados, se pueden utilizar parametrizaciones singulares de parches triangulares. A continuaci on describimos los ingredientes b asicos para construir estas supercies. Note sin embargo, que esta descripci on no debe ser considerada como un m etodo elaborado para la construcci on. Considere una malla triangular con normales especicadas en cada uno de sus v ertices, tal como se ilustra en la Figura 12.7.
Figura 12.7: Malla triangular con normales en los v ertices. Para cada cara de la malla se construye un interpolador de grado cinco tal como se ilustra esquem aticamente en la Figura 12.8. Dado un tri angulo de la malla cuyos lados est an dados por l neas gruesas, los puntos de B ezier esquina c y los puntos de B ezier adyacentes c (que coinciden con los anteriores) est an dados por los v ertices del tri angulo. El pr oximo anillo de puntos y 3 alrededor de cada conjunto de puntos de B ezier coincidentes se escoge de manera tal que yazcan sobre el plano tangente prescrito en el v ertice de su esquina y tal que los cuadril ateros sombreados sean paralelogramos. Los puntos de B ezier restantes c , c , c se escogen de manera tal que el resto de los cuadril ateros sombreados sean tambi en paralelogramos.
12.7
Ejercicios
1 Construya una supercie cerrada de g enero 1, es decir, una supercie topol ogicamente equivalente a un toro, utilizando parches regulares con conexiones C 1 simples.
176
12. Interpolaci on
2 Muestre que no se puede modelar supercies abiertas C 1 cuya frontera tiene menos de tres esquinas, utilizando solamente parches regulares con conexiones simples C 1 . La Figura 12.9 muestra dos tales supercies.
Figura 12.9: Supercies abiertas sin esquinas y con dos esquinas. 3 Demuestre que se pueden modelar supercies C 1 de topolog a arbitraria con parches triangulares cuadr aticos singulares con conexiones C 1 simples. 4 Demuestre que la supercie del Ejercicio 3, en general, podr a contener parches planos. 5 Dada una triangulaci on de I R2 , conecte los centroides de cada par de tri angulos adyacentes. Verique a trav es de un ejemplo que estos segmentos de conexi on podr an intersecar otros tri angulos. 6 Refute por medio de un ejemplo, que un elemento de Powell-Sabin tenga un poliedro de B ezier c oncavo o convexo si los tres planos tangentes en las esquinas se intersecan encima de un punto interior del tri angulo
12.7. Ejercicios
177
dominio. V ease tambi en [Floater 97, Carnicer & Dahmen 92, Bangert & Prautzsch 99]. 7 Generalice el esquema de interpolaci on Powell-Sabin para funciones multivariadas, v ease tambi en [Bangert & Prautzsch 99].
13.1 La conexi on general C 1 13.2 Conexi on de dos parches triangulares c ubicos ertice compartido 13.3 Un interpolador triangular G1 13.4 El problema del v 13.5 El problema de la paridad 13.6 Ejercicios
La conexi on C 1 simple discutida en 11.7 es demasiado restrictiva para la modelaci on de supercies regulares arbitrarias. Por esta raz on, en esta secci on, introducimos condiciones m as generales para la conexi on C 1 de supercies interpolantes construidas con parches triangulares. Estas supercies nos permitir an dise nar modelos en 3D de topolog a abitraria.
13.1
La conexi on general C 1
Sean p(x, y ) y q(x, y ) dos parches regulares C 1 que poseen una frontera com un a lo largo de x = 0, es decir, p(0, y ) = q(0, y ) para todo y [0, 1]. La Figura 13.1 provee una ilustraci on. Note que no se requiere que los parches p y q sean polin omicos o que sean de tres o cuatro lados. Se dice que p y q tienen una conexi on general C 1 o conexi on geom etrica 1 C o simplemente una conexi on G1 a lo largo de x = 0, si sus normales unitarias coinciden sobre la frontera com un, es decir, si qx q y px py = px py qx q y para x = 0 .
Equivalentemente, la continuidad G1 tambi en se puede caracterizar requiriendo que existan funciones de conexi on (y ), (y ) y (y ) tales que para todo x = 0 y todo y (1) px = qx + qy y > 0 ,
180
Figura 13.1: Dos parches con un borde com un. En particular, si p y q son polin omicos y tienen una conexi on G1 entonces las funciones de conexi on son polinomios y salvo un factor com un, se tiene grado grado qx (0, y ) + grado qy (0, y ) , grado grado px (0, y ) + grado qy (0, y ) , grado grado px (0, y ) + grado qx (0, y ) . Para la prueba se calcula el producto vectorial de ambos lados de la ecuaci on (1) con qx y qy . Se obtiene px qx px qy = qy q x y = qx qy .
Como q es regular, por lo menos una de las coordenadas de [qx x qy ], es diferente de cero. Como la ecuaci on (1) se puede multiplicar por un factor, podemos suponer que = [qx qy ]1 . Esto implica = [px qy ]1 lo cual prueba la aseveraci on. 3 Observaci on 1: Frecuentemente, se ja = 1, entonces y son, en general, funciones racionales. Observaci on 2: La prueba anterior tambi en es v alida cuando p y q son funciones racionales. En este caso, las funciones , y son racionales y salvo un factor com un, satisfacen los estimados de arriba. Observaci on 3: Cualquier conexi on G1 se puede convertir en una conexi on 1 simple C , por medio de un cambio de variable. Concretamente, si p y q y = [px qx ]1 ,
181
satisfacen la condici on G1 dada por (1), entonces a(x, y ) = p(x, y ) y b(x, y ) = q(x, x + y ) tienen una conexi on C 1 simple. V ease 9.7 y 11.7. Observaci on 4: El hecho de que dos parches se conecten G1 a lo largo de su frontera com un no depende de sus parametrizaciones. Sin embargo, las funciones de conexi on dependen de las parametrizaciones. El grado m aximo de las funciones de conexi on es invariante bajo reparametrizaci on af n.
13.2
donde 0 = (i, j, k), | | = i + j + k = 3 y p = q para i = 0. Esto signica que los parches p y q est an conectados continuamente a lo largo de u = 0 y que sus planos tangentes coinciden en 1 = (0, 1, 0) y 2 = (0, 0, 1). Esta situaci on se ilustra en la Figura 13.2. Note que los cuadril ateros sombreados son planos pero no est an necesariamente en correspondencia af n.
Figura 13.2: Conexi on G1 y movimiento de los puntos interiores. En general, los puntos interiores de B ezier p111 y q111 , se pueden mover para lograr una conexi on G1 a lo largo de u = 0. En particular, en esta secci on veremos como obtener una conexi on suave usando funciones de conexi on (v ), (v ) y (v ), que son lineales. Entonces la condici on para la conexi on G1 a lo largo de u = 0 se reduce a una ecuaci on c ubica en w = 1 v . Denotando las derivadas parciales en las direcciones ndices 0 y 1, respectivamente, la ecuaci on c ubica 0 2 y 2 1 , con los sub resulta p0 = q0 q1 , > 0 .
182
En v = 0, las derivadas p0 , q0 y q1 son conocidas. Por lo tanto esta ecuaci on establece un sistema lineal en 0 = (0), 0 = (0) y 0 = (0), el cual tiene una familia a un par ametro de soluciones. Similarmente tambi en se tiene una familia monoparam etrica de soluciones para 1 , 1 y 1 en v = 1. Si escogemos soluciones arbitrarias en v = 0 y en v = 1 estas determinan las funciones lineales , y . Como una c ubica est a determinada por sus valores y los valores de sus derivadas en dos puntos, en nuestro caso, v = 0 y v = 1 y estamos interesados en la expresi on de su derivada, entonces diferenciamos la condici on para la conexi on G1 , a lo largo de u = 0. En consecuencia se obtiene p01 q01 = q11 + q1 p0 + q0 . Expresando p01 , q01 , etc. en t erminos de los puntos de B ezier, en mos las ecuaciones p01 q01 = = etc. 6(p003 + p111 p012 p102 ) , 6(q021 + q111 q012 q120 )
1
obtene-
y expresiones similares para p01 , q01 , etc. en 2 . Los puntos q11 , q1 , q0 y p0 no dependen de p111 , q111 en v = 0 y v = 1. Sustituyendo estas expresiones en la derivada de la condici on G1 , se obtiene una ecuaci on lineal para p111 y q111 : 0 1 [p111 q111 ] = [w0 w1 ] , 0 1 donde w0 y w son combinaciones de puntos de B ezier p y q , con la excepci on de p111 y q111 . Este sistema tiene una soluci on si la matriz 0 0 1 1
es invertible. Por lo tanto, existe una soluci on, a menos que (y ) : (y ) = constante. Esta u ltima situaci on se ilustra en la Figura 13.3 3.
Figura 13.3: Conguraci on cr tica. En efecto, no hay soluci on si (y ) : (y ) = constante, si los dos cuadril ateros no est an en correspondencia af n y si la frontera com un p(0, y ) = q(0, y ) es
183
una c ubica regular, es decir, si qy (0, y ) es una c onica que no pasa por el origen. Concretamente, rescribiendo la condici on G1 como px qx = qy notamos que su lado izquierdo es cuadr atico y como qy tambi en es una cuadr atica sin ra ces reales, se tiene que / tiene que ser constante. Esto, nalmente, contradice la suposici on de que los cuadril ateros de la Figura 13.3 est an en correspondencia af n. Si q0,y es cuadr atica o no regular, se puede vericar que existe una soluci on con funciones lineales , y . Vea el Ejercicio 3.
13.3
Un interpolador triangular G1
ecnica para construir superEn 1985, Bruce Piper [Piper 87] introdujo una t cies cuadr aticas G1 que interpolan un conjunto de curvas c ubicas dispuestas en forma triangular, tal como se ilustra en la Figura 13.4. A continuaci on presentamos esta construcci on, pero evitando situaciones cr ticas, lo cual permite su realizaci on con parches c ubicos.
Figura 13.4: Una red triangular G1 de curvas c ubicas. Los tri angulos adyacentes de la red de c ubicas se comportan tal como se ilustra en la Figura 13.2. Por simplicidad, suponemos que no hay soluciones cr ticas, tales como las ilustradas en la Figura 13.3. Entonces, cada tri angulo se puede interpolar con un macroparche que consiste de tres parches c ubicos como se describe a continuaci on. La Figura 13.5 ilustra esquem aticamente la posici on de los puntos de B ezier del macroparche.
184
Los puntos de B ezier c , en la frontera est an dados por la red de c ubicas. Los puntos de B ezier c son los centroides de ternas de puntos vecinos c , tal como se indica en la Figura 13.5. Los puntos de B ezier c se determinan como en 13.2, de manera que macroparches adyacentes se conecten G1 . Los puntos denotados con son los centroides de las ternas vecinas de puntos c c c . El punto de B ezier es el centroide del tri angulo . Entonces los parches adyacentes del macroparche tienen conexiones C 1 sim ples. Esto es similar al elemento de Clough-Tocher, v ease 12.2.
13.4
Por medio de su construcci on, Piper resuelve de manera impl cita una dicultad que se presenta cuando se trata de construir una conexi on G1 con varios parches que comparten un v ertice. Este se denomina problema del v ertice compartido y consiste en garantizar que todos los parches tengan el mismo plano tangente en el v ertice com un. Estas condiciones forman un sistema c clico. Considere n parches (triangulares o cuadrangulares) pi (x, y ), i = 1, . . . , n tales que pi (0, z ) = pi+1 (z, 0) , donde pn+1 = p1 , tal como se ilustra en la Figura 13.6, y (2)
i+1 i+1 i pi x (0, z ) = i py (z, 0) + i px (z, 0) ,
con 3n funciones de conexi on i (z ), i (z ) y i (z ). Para z = 0, estas ecuaciones imponen restricciones sobre la derivada pi x y las funciones de conexi on.
185
Figura 13.6: Un v ertice compartido por n = 6 parches. Tambi en se tienen condiciones sobre las segundas derivadas, las cuales se obtiene diferenciando las condiciones para la continuidad G1 , dadas por (2),
i i i+1 +1 i+1 +1 + i pi + i pi i px + i pxy = i py xy + i px xx ,
donde
las cuales se denominan restricciones de torsi on. Para z = 0, estas ecuaciones forman un sistema lineal c clico. 1 1 2 2 n [p1 . . . p ] = [r1 . . . rn ] , .. xy xy . n n
i i+1 i+1 +1 ri = + i px + i pi i px + i py xx .
13.5
El problema de la paridad
La matriz c clica A, correspondiente a las restricciones de torsi on tiene rango n si n es impar, y rango n 1 si n es par. Por lo tanto A es no singular s olo para n impar. Se tiene entonces, que las restricciones de torsi on se pueden satisfacer si el n umero de parches es impar. Cuando n es par, en general no se puede garantizar que las restricciones puedan ser satisfechas. Para vericar este sorprendente hecho, n otese que det A = 1 . . . n 1 . . . n = i i . Calculando el producto vectorial de
i+1 +1 i pi + i pi , x = i py x
186
+1 con pi = pi x x se obtiene
lo cual implica que i : i = (1)n y, como i = 0 para todo i, det A = = 0 si n es par = 0 si n s impar .
Como la submatriz de A obtenida eliminando la primera la y la primera columna, tiene rango m aximo entonces el rango de A es por lo menos n 1, lo cual termina la vericaci on. Observaci on 5: Las restricciones de torsi on, AT = R, se satisfacen si los datos provienen de parches p1 , . . . , pn que forman una supercie G1 . En particular este es el caso si los pi resultan de reparametrizaciones locales de un parche polin omico p.
Observaci on 6: Si n = 4 y i (0) = i (0) = i (0) = 0, para i = 1, 2, 3, 4 como se ilustra en la Figura 13.7, entonces las restricciones de torsi on pueden ser satisfechas, v ease 9.7.
Figura 13.7: Tangentes opuestas iguales. Observaci on 7: Cuando se subdivide cada parche pi , tal como en la construcci on de Peters, las restricciones de torsi on siempre pueden ser satisfechas. V ease [Peters 91].
13.6. Ejercicios
187
13.6
Ejercicios
1 Demuestre que el problema de la Secci on 13.2 siempre se puede resolver si p y q son parches cuadr aticos. on 2 Resuelva el problema de la Secci on 13.2 para la siguiente conguraci de pijk s 1 1 0 p030 q030 q012 0 = 0 0 6 1 1
p012
1 1 0
2 0 0
p111
4 0 1
q111
5 1/2 . 1
6 0 1
3 Verique que el problema de la Secci on 13.2, vea la Figura 13.3, tiene una soluci on con funciones lineales = y , si q(0, v, 1, v ) es cuadr atica o no regular. Sugerencia: Si q(0, v, 1, v ) es cuadr atico escogemos = = 1. Si q(0, v, 1, v ) = 0 para v = v0 , escogemos = = (v v0 )c1 y = vc2 , donde las constantes c1 y c2 se eligen de manera que se satisfaga la condici on G1 para v = 1. 4 Demuestre que las restricciones de torsi on de 13.4 se satisfacen si y s olo si 1 n s = t1 1 1 n se puede resolver para t1 , donde s= 1 n1 1 1 rn + + r2 + r1 . 1 n 1 2 1
5 La ecuaci on s = 0 se puede interpretar como un sistema lineal en 1 (0), 2 (0) y 1 (0). Este sistema tiene una soluci on u nica a menos que p2 xx = o.
188
13. Construcci on de supercies suaves tales que las curvas frontera p(x, 0) y q(x, 0) coinciden y son c ubicas. Vea la Figura 13.8. Y sean , y , funciones de conexi on de grado 1, 1 y 3, respectivamente, tales que la condici on de continuidad G1 py (x, 0) = py (x, 0) + qx (x, 0) y su derivada con respecto a x, en x = 0 y x = 1, se satisfacen.
Demuestre que, en general se pueden ajustar los puntos p21 y q21 de manera que la condici on G1 se satisfaga para todo x.
14 Construcciones - Gk
14.1 La conexi on general C k 14.2 Conexiones Gk usando curvas tranversales 14.3 Conexiones Gk usando la regla de la cadena 14.4 Supercies Gk de topolog a arbitraria 14.5 Parches suaves de n lados 14.6 Parches multilaterales en el plano 14.7 Ejercicios
Dos parches se pueden conectar suavemente si cada uno se puede parametrizar de manera tal que todas sus derivadas hasta cierto orden son iguales en cada uno de los puntos de su frontera com un. Para una reparametrizaci on arbitraria esta condici on para una conexi on suave signica que, en cada punto de la frontera com un las derivadas de ambos parches est an relacionadas por una matriz de conexi on. Esto es an alogo al caso de las curvas. En este cap tulo consideraremos las condiciones de suavidad y las utilizaremos para construir supercies de topolog a arbitraria con un grado de suavidad prescrito.
14.1
La conexi on general C k
190
14. Construcciones - Gk
Decimos que p y q tienen una conexi on general C k a lo largo de b si para cada b0 de b estos dos parches tienen una conexi on local C k simple, reparametrizando si es necesario. Esto signica que localmente existen reparametrizaciones regulares u y v tales que p u y q v tienen derivadas parciales iguales a lo largo de la curva b hasta orden k . N otese que es suciente reparametrizar uno solo de los parches, digamos q por v u1 , vea la Figura 14.2. Una conexi on general C k se denomina tambi en conexi on Gk .
Figura 14.2: La conexi on general C k simplicada. Si p y q tienen una conexi on Gk en un punto b0 , de su frontera com un, entonces se puede construir una parametrizaci on local C k proyectando sobre un plano conveniente. Esto se deduce del teorema de la funci on impl cita. r(x, y ) = p u 1 (x, y ) q v 1 (x, y ) si (x, y ) si (x, y ) yace en yace en (p) (q) .
191
Usando la regla de la cadena podemos expresar esta derivada en t erminos de la derivada de c y las parciales de p y q. Entonces como c (s0 ) = (0, 1) y se tiene o = k [p(x) q(x)]x=0 , y k
14. Construcciones - Gk
Observaci on 1: Si la curva b(t) no es diferenciable en t = t0 , pero el cociente [b(tn ) b(t0 )]/(tn t0 ) converge a dos direcciones diferentes, por lo menos para dos secuencias tn t0 , entonces p y q tienen una conexi on Gk k 1 en b(t0 ) si tienen una conexi on G a lo largo de b(t).
donde ux > 0. N otese que u(0, y ) = (0, y ). En paraticular, si p y q son racionales, estas condiciones Gk implican que ux (0, y ), vx (0, y ), uxx (0, y ), . . . son tambi en funciones racionales. Las condiciones de conexi on Gk se simplican si u es lineal en x. En este s caso ux...x es cero para s = 2, . . . , k y se tiene p px pxx = q , = qu + q v , = quu 2 + 2quv + qvv 2 , . . . k q i j i j , = i u...uv...v
i+j =k
(1)
px...x k
donde = (y ) = ux (0, y ) y = (y ) = vx (0, y ). Note que el lado derecho de la igualdad representa tambi en las derivadas de q en la direcci on [ ]t = ux . Observaci on 2: Una derivada parcial cruzada px...xy se puede expresar j i ...y en t erminos de las parciales cruzadas de q hasta orden total i + j y de las
14.4. Supercies Gk de topolog a arbitraria parciales cruzadas de u(x, y ) hasta orden (i, j ). Por ejemplo pxy = quu ux uy + quv (ux vy + uy vx ) + qvv vx vy + qu uxy + qv vxy .
193
Observaci on 3: En particular, si u(x, y ) es una dilataci on en x e y , es decir, u(x, y ) = [c1 x c2 y ]t , entonces todas las parciales cruzadas px...xy se pueden j i ...y expresar en t erminos de las parciales cruzadas de q y u hasta de orden (i, j ).
14.4
En esta secci on consideramos la t ecnica de dise no a mano alzada. Nuestra meta es construir supercies que interpolen un conjunto v ertices ci con contactos prescritos en esos puntos ci por superces polin omicas si . Consideramos que los ci est an organizados en una malla de cuadidrl ateros. La supercie resultante es Gk continua y consiste de parches producto tensorial, cada uno denido sobre [0, 1] [0, 1]. Cada parche correponder a un vocamente a un cuadril atero. Por simplicidad suponemos que la malla es orientable y no tiene frontera. Un v ertice se denomina regular si tiene exactamente cuatro vecinos e irregular si esta condici on no se cumple. Supondremos adem as que los v ertices irregulares est an aislados, esto signica que los vecinos de cada v ertice aislado son regulares, vea la Figura 14.4.
Figura 14.4: Malla con v ertices irregulares aislados. Los pasos de la construcci on son los siguientes: 1. Se reparametrizan las supercies si por rotaciones del dominio.
194
14. Construcciones - Gk
2. Para cualesquiera dos supercies vecinas, si y sj , calculamos un interpolador de Hermite bij . 3. Para cada cuadril atero ci cj ck cl de la malla construimos un parche p que tiene contacto Gk con bij , bjk , bkl y bli a lo largo de sus cuatro curvas frontera. Si todos las v ertices son regulares p tiene bi-grado 2k + 1 y si no, entonces el bigrado es 2k 2 + 2k + 1. A continuaci on daremos la descripci on detallada de cada uno de estos pasos. 1. Para cada i, suponemos que si (0, 0) = ci y denotamos por, el n umero de segmentos que conuyen en ci . Rotamos la supercie si por i = 360 / . Estos producen los polinomios
k sk i (x) = si (R x) ,
donde R=
cos i sin i
sin i cos i
Enumeramos los vecinos de ci en el sentido contrario de las agujas del reloj. Si cj es el k - esimo vecino, entonces asociamos el polinomio escalado x, sij (x) = sk i y tan(j /2)
195
2. Para cada arista dirigida ci cj se determina un polinomio bij (x) por interpolaci on de Hermite de sij (x) y sji (x). Si ci es regular entonces bij se construye de manera que hasta orden (k, k ) sus derivadas en x = (0, 0) coincidan con las de sij . Esto se abrevia por bij (x) x = s (x) . = 0 ij Si ci es irregular, entonces se requiere C 2k -contacto, bij (x) x= s (x) = 0 ij y an alogamente en x = (1, 0), se requiere contacto C k,k o contacto, C 2k de bij (x, y ) y sji (1 x, y ), respectivamente. Esto se ilustra en la Figura 14.6.
2k k,k
Figura 14.6: Un polinomio frontera. Los bij se determinan de manera tal que sus derivadas transversales r bij (x, 0) , r = 0, . . . , k , y r tengan grado minimal. Por lo tanto si ci y cj son regulares, entonces bij tiene r grado 2k +1 y si ci o cj es irregular, entonces y r bij tiene grado 3k +1 r . Los puntos de B ezier de bij se presentan esquem aticamente en la Figura 14.7 para k = 2, cuando ci es irregular. Los puntos determinados por los C 2k -contactos en ci se se nalan con tri angulos , los puntos determinados por los contactos y los puntos determinados por la C k,k en cj se denotan con cuadrados condici on de minimalidad se se nalan con c rculos . Los puntos etiquetados por no son de inter es.
An alogamente se obtiene un segundo polinomio bji para la arista (orientada al rev es) cj ci . Por construcci on ambos polinomios tienen contacto simple C k a lo largo de y = 0, bij (x, y ) y = bji (1 x, y ) . =0 Adem as, tambi en por construcci on, los polinomios bij y bik asociados al v ertice ci tienen contacto Gk,k o G2k en ci .
k
196
14. Construcciones - Gk
Figura 14.7: Esquema de los puntos de B ezier de un polinomio frontera. 3. Para cualquier cuadril atero de la malla se construye un parche p(u, v ) de la supercie nal Gk a partir de los cuatro polinomios asociados a sus aristas. Para cada ci cj usamos la reparametrizaci on xij (u, v ) =
2k,2k brs Brs (u, v )
de bigrado 2k . La malla de B ezier de la reparametrizaci on xij se muestra en la Figura 14.8 para k = 2 y = i = 360 /5.
Figura 14.8: Reparametrizaci on xij . En general, si cj es regular, los puntos de B ezier relevantes de xij est an dados por cos i 1 11 11 brs = B11 (u, v ) B01 (u, v ) + i sin i tan 2 + donde (u, v ) =
1 2k (r, s)
0 0
11 B00 (u, v )
1 0
11 B10 (u, v )
brs =
197
Los puntos de B ezier restantes brs , para r > k pueden escogerse en forma arbitraria, lo cual se indica por l neas punteadas en la Figura 14.8. Si cj es irregular, xij se obtiene a partir de xji por medio de la transformaci on xij (u, v ) = 1 0 + 1 0 0 1 xji (1 u, v ) .
Note que la aplicaci on xij es la identidad si ci y cj son regulares. Sean c1 , c2 , c3 , c4 los v ertices de un cuadril atero (ordenados en el sentido contrario a las agujas de un reloj). Entonces el parche p(u, v ) correspondiente de la supercie nal Gk se construye de manera que k = b x12 (u, v ) v = 0 12 k b x23 (v, 1 u) u = = 1 23 (2) p(u, v ) k b x34 (1 u, 1 v ) v = = 1 34 k = b x41 (1 v, u) u = 0 41
Note que, por construcci on, las derivadas parciales de p hasta orden (k, k ) en los v ertices est an bien denidas por estas condiciones. Adem as recuerde que la r- esima derivada transversal a la frontera de un polinomio bij es de grado menor o igual que 3k + 1 r. Por lo tanto se desprende de (1) en 14.3 que la r- esima derivada transversal a la curva frontera de p(u, v ) es de grado menor o igual que 2kr + 3k + 1 r 2k 2 + 2k + 1. A lo largo de una arista entre dos v ertices regulares el grado es m as bajo, de hecho menor o igual que 2k + 1. Si todos los v ertices son regulares, las condiciones (2) denen un u nico parche p de bigrado 2k + 1. Si uno o dos de los v ertices son irregulares entonces p ha de tener bigrado 2k 2 + 2k + 1 para satisfacer todas las condiciones de frontera (2). Sin embargo en este caso, las condiciones (2) no determinan p completamente: sus 2k 2 2k 2 puntos de B ezier interiores pueden ser escogidos arbitrariamente.
14.5
La construcci on en 14.4 produce una supercie de bigrado 2k 2 + 2k + 1. A un para k = 2, el bigrado resultante: 13, podr a ser demasiado alto en aplicaciones pr acticas. Concretamente, los costos de almacenamiento son altos y los procesos de evaluaci on, largos y susceptibles a errores de redondeo.
198
14. Construcciones - Gk
Para evitar lo anterior [Prautzsch 97] introdujo un m etodo general para construir supercies Gk regulares de bigrado 2(k +1). A continuaci on presentamos las ideas fundamentales de este m etodo. Recordemos de 14.4 y 13.4 que la dicultad fundamental para construir una supercie suave con parches rectangulares (o triangulares) consiste en la uni on de tres o m as de cuatro parches con un v ertice com un. Por lo tanto es de inter es estudiar parches suaves con n curvas frontera, que puedan ser ajustados con conexiones simples C k en huecos con n lados. Para construir tales supercies se puede proceder de la manera siguiente. Primero, construimos una reparametrizaci on del plano x, y con parches planos xi (u), u [0, 1]2 , i = 1, . . . , 4n, de bigrado k +1 de manera que formen un pol gono curvil neo, tal como se ilustra en la Figura 14.9 para n = 5. Los parches interiores x1 , . . . , xn = x1 tienen conexi on C 0 , xi (0, u) = xi+1 (u, 0) , mientras que todas las otras conexiones son conexiones simples C k , es decir, para todo u, v e i = 1, . . . , n se satisfacen las siguientes ecuaciones: xi (u, 1) xi (1, v ) xi+3n (1, v ) xi+n (u, 0) x1+2n (u, 0) y para i = 2, . . . , n xi+2n (u, 0) = xi+3n (0, u) .
k
= xi+3n (u, 0) , = xi+2n (0, v ) , = xi+n (0, v ) , = xi+2n (u, 1) , = x4n (0, u)
k k k k
Note que todas la conexiones son G (es decir, Gk , para cualquier k ) pues la supercie yace en el plano. En 14.6 describiremos los parches xi , expl citamente. Segundo, consideramos cualquier polinomio p(x, y ) en I R3 y lo reparametrizamos a trav es de las aplicaciones xi . Entonces obtenemos 4n parches pi (u) = p(xi (u)) , i = 1, . . . , 4n ,
conectados G . Es m as, dos parches adyacentes pi y pj con i n o j n tienen una conexi on C k simple. La supercie con n lados que consiste de los parches pi se denomina macroparche o suscintamente p-parche. El p-parche tiene muchos par ametros
199
Figura 14.9: Un macroparche plano de n lados, n = 5. libres, o sea que los parches pi pueden ser modicados preservando las conexiones C k simples y las Gk -conexiones. En particular, sea p un polinomio cuadr atico, entonces el p-parche es de bigrado 2k + 2. Sus puntos de B ezier se despliegan esquem aticamente en la Figura 14.10 para k = 1 y n = 5. Los puntos de B ezier indicados con puntos s olidos determinan las conexiones Gk entre los n parches interiores y se denominan jos. Los puntos de B ezier etiquetados con cuadrados y aquellos sin marcas se denominan libres. Estos pueden ser modicados arbitrariamente. Los dem as puntos de B ezier est an etiquetados con c rculos y son dependientes. Estos se determinan a partir de la condici on de que cualesquiera dos parches adyacentes pi y pj para j > n, tengan una conexi on C k simple . Similarmente, tenemos puntos de B ezier jos, libres y dependientes para cualesquiera k y n. En particular, se pueden escoger todos los puntos de B ezier libres de manera que todas las n fronteras del p-parche y tambi en sus derivadas transversales hasta orden k (o k + 1) sean polin omicas y no solamente polin omicas por trozos. En consecuencia dados cualesquiera parches polin omicos r1 , . . . , r2n de bigrado menor o igual 2k + 2 con C k conexiones, as como se ilustra en la Figura 14.11, existen p-parches de n lados de bigrado 2k + 2 que se ajustan con conexiones C k al hueco formado por r1 , . . . , r2n . Tambi en es posible escoger los puntos de B ezier de dos p-parches de manera que tengan cuatro parches polin omicos en com un. Por ejemplo, los puntos de B ezier indicados por cuadrados en la Figura 14.10 pueden escogerse como los puntos de B ezier jos del segundo p-parche.
200
14. Construcciones - Gk
Figura 14.10: Puntos de B ezier de un macroparche de 5 lados. Por lo tanto, si cada v ertice irregular tiene s olo vecinos regulares, es posible interpolar cualquier malla de cuadril ateros por medio de parches polin omicos con conexiones Gk simples y generales. Una cara de la malla de este interpolador corresponde a un parche de bigrado 2k + 1 si todos sus v ertices son regulares, y corresponde a cuatro parches de bigrado 2k + 2, en caso contrario. En v ertices regulares, la supercie puede interpolar cualesquiera parciales cruzadas hasta orden (k, k ) y en v ertices extraordinarios hasta orden 2.
14.6
En 14.5 consideramos p-parches planos que consisten de 4n parches x1 , . . . , x4n de bigrado k +1 con conexiones simples C 0 y C k , lo cual se ilustra en la Figura 14.9 . En esta secci on estudiamos los p-parches planos expl citamente. Estos parches son regulares e inyectivos y no tienen superposici on. Omitiremos los detalles t ecnicos de la prueba. on B-spline, La Figura 14.12 muestra los puntos de control de la representaci de los parches exteriores xn+1 , . . . , x4n para k = 4 y n = 5. Estos se indican por c rculos. El centro de la gura es un punto de control m ultiple. Los c rculos peque nos indican algunos de los puntos de control para el caso k = 3
201
Figura 14.11: Construyendo un p-parche para un hueco. y n = 5. A continuaci on especicamos estos parches con mayor precisi on. Cualesquiera cuatro parches de la frontera xi+n , xi+3n , xi+1+2n , xi+1+n forman una supercie B-spline producto tensorial
k+1 k+1
si (u, v ) =
r =3 s=0
ci rs Ni (u)Nj (v ) ,
(u, v ) [k 2, k + 2] [k + 1, k + 2]
donde los Ni denotan los B-splines uniformes de grado k + 1 y nodos i, i + 1, . . . , i + k + 2. Note que las supercies si se superponen en los parches de las esquinas xi+n .
i Los puntos de control ci 00 , . . . , ck2,k2 son todos cero y para k par, los puntos k an dados por crs , tales que r y s > 2 1, est
ci rs = (r
k + 1) 2
cos i1 sin i1
+ (s
k + 1) 2
cos i sin i
con i = i 360 /n. Los dem as puntos de control se denen por la relaci on
i+1 ci rs = cs,k2r ,
3 r
k 1 2
k 1sk+1 . 2
Los centros de los cuadril ateros de la malla de control son los puntos de control ci para los x de bigrado impar k . i rs Los n parches interiores x1 , . . . , xn tienen contacto C k con los parches exteriores xn+1 , . . . , x4n . Por lo tanto conocemos todos los puntos de B ezier con
202
14. Construcciones - Gk
Figura 14.12: La malla de control para xn+1 , . . . , x4n . la excepci on de x00 , el cual est a asociado con el polinomio de Bernstein, k+1 k+1 producto tensorial B0 (u) B0 (v ). Por razones de simetr a denimos x00 = 0. Observaci on 4: La escogencia de arriba de los xi no es la u nica posible. Por ejemplo, la aplicaci on caracter stica del esquema del punto medio, vea 16.1 y 16.6, provee tambi en buenos candidatos pra los parches xn+1 , . . . , x4n para k = 1 y k = 2. Observaci on 5: Los parches x1 , . . . , xn tienen una singularidad en el origen si cij = o para todo i, j = 0, . . . , k 1. Con esta reparametrizaci on la construcci on de 14.6 resulta en splines C k parametrizados singularmente, v ease [Reif 98].
14.7
Ejercicios
i+j q(u(x, y )) xi y j
1 Calcule la derivada
en t erminos de las derivadas parciales de q(u, v ) y u(x, y ). 2 En 14.4 se supone que cada parche de la supercie Gk que se construye tiene por lo menos dos v ertices regulares en esquinas opuestas.
14.7. Ejercicios
203
Modique la construcci on de manera que esta condici on no sea necesaria. Cual es el grado de la supercie resultante? 3 Haga una construcci on similar a la de 14.4 pero consistente de parches triangulares conectados Gk . Cu al es el m aximo grado de los parches? 4 Haga una construcci on similar a la de 14.6, de un p-parche regular que consiste de parches polin omicos triangulares con conexiones Gk . En este caso cu al ser a el grado m aximo de los parches? 5 Desarrolle una construcci on de un macroparche multilateral plano consistente de parches triangulares con conexiones C 0 o C k . Trabaje an alogamente a 14.6. Demuestre que el grado minimal de un tal macroparche es 3k/2 + 1. V ease [Prautzsch & Reif 99].
15.1 Esquemas de producto tensorial 15.2 Subdivisi on estacionaria en general y m ascaras 15.3 Teoremas de convergencia 15.4 Promedios crecientes 15.5 C alculos con esquemas de diferencias 15.6 C alculos con esquemas de on de mallas triangulares 15.8 Box splines sobre promedios 15.7 Subdivisi on de mallas hexagonales 15.10 Half-box mallas triangulares 15.9 Subdivisi splines sobre mallas triangulares 15.11 Ejercicios
En el esquema de subdivisi on una malla de control regular se transforma en otra malla de control regular cuyos v ertices son combinaciones anes de los puntos de control originales. Los pesos de esta combinaciones anes se pueden dar gr acamente por medio de m ascaras o pueden ser representadas algebraicamente a trav es de un polinomio caracter stico como en el caso de curvas. En este cap tulo discutimos esquemas de subdivisi on especiales y generales sobre mallas triangulares y hexagonales e introducimos box splines y half-box splines sobre mallas triangulares regulares.
15.1
Cualesquiera dos esquemas de subdivisi on para curvas denen un esquema de subdivisi on para productos tensoriales, denido sobre una malla rectangular. Tal como fue presentado en 8.6 y 8.8, sean A = [j 2i ] y B = [j 2i ] dos esquemas estacionarios para curvas, y sean (x) = i xi y (y ) = j j y , sus polinomios caracter sticos, respectivamente. Sean cij , i, j Z los v ertices de una malla rectagular y supongamos, por simplicidad que la matriz C = [cij ] es bi-innita en las y columnas. Esto tambi en cubre el caso de mallas nitas pues siempre se pueden agregar puntos de control iguales a cero. Diremos que la secuencia de mallas de control Cm = (At )m CB m
206
obtenida a partir de C subdividiendo m veces, todas las columnas usando A y todas las las usando B , resulta de la aplicaci on del esquema de producto tensorial dado por A y B .
+1 de la malla Cm+1 se calcula a partir M as precisamente, cualquier v ertice cm ij m de los v ertices ckl de Cm a trav es de la ecuaci on de renamiento +1 cm = ij k l
cm kl i2k j 2l .
Usando los multi- ndices i, j Z2 y la abreviaci on kl = k l la ecuaci on de renamiento toma una forma similar a la de 8.8 para los esquemas de curvas, concretamente
+1 cm = i j
cm j i 2j .
Si A y B coinciden en la matriz de subdivisi on del algoritmo de LaneRiesenfeld Sn = DM n , para splines uniformes de grado n, (vea 8.4), entonces el esquema de producto tensorial que se le asocia tambi en se puede describir por medio de los siguientes dos operadores. El operador de duplicaci on D cuadruplica todos los puntos de control de una malla de control C , D(C ) = Dt CD = [ci/2 ] . Sean e1 = [1 0], e2 = [0 1] y e = [1 1]. Entonces el operador de promediaci on A aplica una malla C en la malla A(C ) = M t CM =
1 [ci + cie1 + cie2 + cie ] 4 la cual conecta los centroides de cualesquiera dos cuadril ateros de C que tengan una arista com un. Entonces el algoritmo de Lane-Riesenfeld para splines producto tensorial de bigrado n est a dado por el operador Mn = An D. En particular, M1 = AD representa el operador de renamiento que aplica una malla C en una malla M1 (C ) m as na, que conecta los puntos medios de la aristas de C con sus extremos y los centroides de dos cuadril ateros adyacentes de C . En la Figura 15.1 la malla C se indica con trazos suaves, la malla M1 (C ) con trazos suaves y trazos punteados y la malla M2 (C ) con trazos s olidos. Observaci on 1: De 8.2 se desprende que para cualquier m la secuencia de mallas de control m C m = [cm ij ] = Mn (C ) representa la misma supercie spline s(u, v ) =
i,j n cij Nin (u)Nj (v ) ,
207
Figura 15.1: Renaci on y promediaci on de una malla. donde Nin denota el B-spline uniforme de grado n sobre los nodos i, i + 1, . . . , i + n + 1. Aplicando dos veces el resultado sobre convergencia de 6.3 se obtiene la siguiente estimaci on
m sup s((i, j )/2m ) cm ij = O (1/4 ) i,j
15.2
con un n umero nito de coecientes i representa un esquema general de subdivisi on. Si los ij son productos de la forma i j , entonces se tiene el esquema de producto tensorial, presentado en 15.1. En la ecuaci on de renamiento se presentan cuatro tipos de combinaciones diferentes. Los ndices k de los pesos k usados en el c alculo del punto ci m+1 2 forman el conjunto i + 2Z el cual es uno de los siguientes Z2 , e1 + Z2 , e2 + Z2 , e + Z2 . Las cuatro matrices (nitas) [2k ], [e1 2k ], [e2 2k ] y [e2k ] se denominan m ascaras. Las m ascaras tambi en caracterizan el esquema de subdivisi on. Observaci on 2: Una condici on necesaria para la convergencia de un esquema de subdivisi on es que cada m ascara dena una combinaci on af n, (vea
208
15.3). Esto signica que los pesos de cada m ascara deben sumar uno. Sin embargo, para evitar fracciones es com un trabajar con alg un m ultiplo. La m ascara siempre se puede recuperar dividiendo por la suma de los pesos. En lo que sigue usaremos esta convenci on. Observaci on 3: Las cuatro m ascaras del operador M1 denido en 15.1, son 1 0 1 0 , 1 1 1 1 , 0 1 0 0 , 0 1 0 1 .
Ellas se representan gr acamente del lado izquierdo de la Figura 15.2. El lado derecho de esta gura muestra las cuatro m ascaras 9 3 3 1 , 3 9 1 3 , 3 9 1 3 , 1 3 3 9 .
Observaci on 4: Note que el operador de renamiento M1 se describe con cuatro m ascaaras, mientras que el operador de promediaci on A es caracterizado por una sola m ascara. Las Figuras 15.3 y 15.4 ilustran las m ascaras de A y A2 .
209
15.3
Teoremas de convergencia
Una secuencia de mallas de control Cm = [cm i ] se obtiene en el esquema de subdivisi on estacionaria a partir de una secuencia nita i :
+1 cm = i j
cm j i2j .
Decimos que la secuencia Cm converge uniformemente a una funci on c(x, y ) si el m aximo de las distancias
m sup cm i c(i/2 ) i
converge a cero, cuando m tiende a innito. Si la funci on l mite c(x) es continua y diferente de cero, entonces ascara, suman uno. los pesos i2j , j Z2 , de cada m Para la prueba, sin p erdida de generalidad podemos suponer que c(o) = o. Entonces, para todo i, los puntos
m m m cm i = c(i/2 ) + (ci c(i/2 ))
converge a c(o) =
j
c(o)i2j ,
lo cual concluye la prueba. 3 La convergencia de una secuencia de mallas de control Cm , depende de dos secuencias de pol gonos de diferencias
m k Cm = [cm i ciek ] ,
k = 1, 2 .
210
15. Subdivisi on estacionaria para mallas regulares Una secuencia Cm obtenida por subdivisi on estacionaria converge uniformemente a una funci on uniformemente continua c(x, y ) si y s olo si los pol gonos de diferencias 1 Cm y 2 Cm convergen uniformemente a cero.
Obviamente, si Cm converge a una funci on continua entonces las diferencias tienden a cero. Para simplicar la prueba del rec proco supongamos que el m aximo de las diferencias m = max sup k cm i
k=1,2 i
un interpolador lineal por trozos de la malla de control Cm , donde Ni (x) es el B-spline lineal por trozos sobre los nodos i 1, i, i + 1. Entonces cm (i/2m ) = cm i . Como
+1 cm cm j 2j m cm |2j2k | k cj
m , donde es un m ultiplo de i |i |, que depende del tama no de la m ascara [2k ]. Por lo tanto para i 2j + {0, 1}2 obtenemos
+1 +1 +1 cm cm +cm cm (j/2m )+cm (j/2m )cm (i/2m+1 ) 2m+1 +m +m . i 2j 2j
Esto implica sup cm+1 (x) cm (x) 2m+1 + ( + 1)m . Por lo tanto los splines lineales cm (x) y sus mallas Cm convergen uniformemente a funciones uniformemente continuas c(x) . 3 Es m as, si los pol gonos Cm y los pol gonos de diferencias divididas 2m v Cm = m m m 2 [ci civ ] convergen uniformemente a funciones uniformememnte continuas c(x) y d(x), respectivamente, donde v Z2 , entonces d(x) es la derivada direccional de c(x) respecto a v. Para la prueba, sea u Z2 tal que u y v sean linealmente independientes. Claramente, las mallas de control
m [cm ij ] = [ciu+j v ]
211
convergen a c(xu + y v) y los pol gonos de diferencias 2m v [cm ij ] convergen a d(xu + y v). Entonces sin p erdida de generalidad, podemos suponer que v = e2 . Claramente los splines localmente constantes dm (x, y ) =
i,j 0 m 0 m 2m v cm ij Ni (2 x)Nj (2 y )
convergen uniformemente a d(x) y c(x), respectivamente. Entonces c(x, y ) = d(x, y )dy , lo cual concluye la prueba . 3
15.4
Promedios crecientes
En 15.3 consideramos diferencias divididas de mallas de control. En esta secci on estudiaremos promedios de mallas Si la secuencia de pol gonos Cm = [ci ]i Z2 converge uniformemente a una funci on c(x), con soporte compacto e integrable Riemann, entonces la sucesi on de promedios am ij 1 = m 4
2 m 1
cm ik,j l
k,l=0
c(x t)dt .
Para la prueba, sea el intervalo (i [0, 1]2 )/2m el cual depende de i y m. Como c(x) tiene soporte compacto y es integrable Riemann, las sumas
iZ
2
rm i
=4
m k,l=0
c((ik, j l)/2m )
212
15. Subdivisi on estacionaria para mallas regulares Si la sucesi on de pol gonos Cm = [ci ]i Z2 converge uniformemente sobre cualquier compacto a una funci on continua c(x), entonces los promedios crecientes sobre rectas bm i 1 = m 2
2 m 1
cm ikv ,
k=0
v Z2 ,
b(x) =
0
c(x tv)dt .
Observaci on 5: Los promedios am i son promedios sobre rectas de promedios sobre rectas. Concretamente, am i donde bm i 1 = m 2
2 m 1
1 = m 2
2 m 1
bm ike1 ,
k=0
e1 = [1 0] ,
cm ile2 ,
l=0
e2 = [0 1] .
15.5
Un esquema de subdivisi on estacionaria tambi en puede representarse con funciones generatrices. An alogamente al m etodo de la secci on 8.8, multiplicamos la ecuaci on de renamiento por el monomio xi = xi y j y sumamos sobre i. Esto resulta en
+1 i cm x i i
=
i j
2j i2j cm j i2j x x 2j cm j x j k
k xk ,
k xk
213
representa el esquema de subdivisi on y se denomina su s mbolo o polinomio caracter stico. En el caso de un producto tensorial el polinomio caracter stico es el producto de dos polinomios univariados, (x) y (y ), que representan a los dos esquemas de subdivisi on de las curvas. Cualquier esquema de subdivisi on para curvas tiene un esquema de diferencias subyacente, pero esto en general no es cierto para los esquemas de subdivisi on de supercies. Para estudiar cuando un esquema de subdivisi on para supercies tiene un esquema de diferencias, identicamos las mallas de control y los esquemas de subdivisi on con sus polinomios generatrices. Dada una malla de control c(x) = c i xi ,
su renamiento bajo un esquema estacionario (x) est a dado por b(x) = c(x2 ) (x) ,
2 gono y las diferencias v ci = ci civ , v Z , forman el pol v v c(x) = c(x)(1 x ) .
Entonces las diferencias del polinomio renado b(x) = c(x2 ) (x) est an dadas por 1 xv 2 . v b(x) = v c(x ) (x) 1 x2v En consecuencia, existe un esquema estacionario, que denominaremos, el esquema de las olo si v -diferencias, el cual aplica v c en v b si y s (x) = (x)/(1 + xv ) es un polinomio. Cuando (x) resulta un polinomio, entonces es el polinomio caracter stico del esquema de diferencias. Observaci on 6: Dada una malla de control C = [ci ] denotamos por C la malla de control cuyos v ertices son las matrices ci = [ e1 ci e2 ci ] Si la malla de control B se obtiene por subdivisi on estacionaria de C , entonces B se obtiene a partir de C bajo un esquema estacionario cuyos pesos son matrices 2 2. V ease [Kobbelt 00, Cavaretta et al. 91, Teorema 2.3].
Observaci on 7: El esquema de Lane-Riesenfeld Mn (vea 15.1), tiene polinomio caracter stico (x, y ) = 4n (1 + x)n+1 (1 + y )n+1 . Esto se desprende directamente de la Observaci on 5 de la secci on 8.8.
214
15.6
Usando polinomios caracter sticos es f acil ver que para cualquier esquema de subdivisi on estacionaria hay un esquema estacionario para los promedios. Sea cm (x) = (x)cm1 (x2 ) la representaci on de la secuencia de mallas de control [cm i ] obtenida con el k esquema de subdivisi on estacionaria . Usando las variables xk = x2 esta secuencia se puede escribir como cm (x) = (x0 ) . . . (xm1 )c0 (xm ) .
i bm i x que repre-
Es m as, para cualquier v Z2 los polinomios bm (x) = sentan los promedios por rectas bm i 1 = m 2
2 m 1
cm ikv .
k=0
)cm (x)
m 1
= 2m (1 + y)(1 + y2 )(1 + y4 ) . . . (1 + y2 = (x0 ) . . . (xm1 )c0 (x) , donde (x) = (x)(1 + xv )/2
)cm (x)
es el polinomio caracter stico del esquema de promedios obtenido a partir del esquema . Esto siginica que el esquema se puede describir a trav es del siguiente algoritmo: Dados puntos de control bi , i Z2 y un vector v Z2 repetimos 1 Para cada i subdividimos con el esquema , es decir, di = j bj i2j 2 Para cada i calculamos los promedios por rectas bi = 1 2 (di + div ) Similarmente, se tiene que los promedios am i 1 = m 4
2 m 1
cm ik,j l
k,l=0
215
0 se obtienen a partir de los puntos a0 i = ci con el esquema estacionario representado por (x) = (x)(1 + x)(1 + y )/4.
Este esquema se describe tambi en con un algoritmo: Dados lo puntos de control ai , i Z2 repetimos 1 Para cada i subdividimos con el esquema , es decir, di = j aj i2j 2 Para cada i calculamos los promedios por rectas 1 (di + die1 ) fi = 2 3 Para cada i calculamos los promedios por rectas 1 ai = 2 (fi + fie2 )
15.7
Cada malla regular de cuadril ateros puede ser transformada en una malla regular de tri angulos y viceversa agregando o eliminando aristas diagonales tal como se ilustra en la Figura 15.5. Por lo tanto cada malla regular de tri angulos se puede representar por una matriz bi-innita . . .. . . C= cij . . . .. .
Figura 15.5: Transformaci on de una malla regular de cuadril ateros en una malla
de tri angulos.
216
de I R2 generan una red triangular regular uniforme tal como se ilustra en la Figura 15.6.
Figura 15.6: Una malla regular uniforme generada por tres vectores. Usando las tres direcciones de la malla triangular podemos generalizar el algoritmo de Lane-Riesenfeld a un algoritmo de promediaci on en tres en [Boehm et al. 87]. direcciones. V ease [Prautzsch 84b], y tambi Dada una matriz C = [ci ]i Z2 que representa una malla triangular regular, la promediaci on en tres direcciones se describe con cuatro operadores: el operador de duplicaci on D, el cual cuadruplica todos los v ertices D(C ) = [di ]iZ2 , donde di = ci/2 , y los tres operadores de promediaci onAk , k = 1, 2, 3, los cuales promedian v ertices con respecto a cada una de las direcciones ek , Ak (C ) = [ai ]iZ2 , donde ai = 1 (ci + ciek ) . 2
Observaci on 8: El operador D coincide con el operador M0 de Lanestico es Riesenfeld, dado en la Observaci on 7. Su polinomio caracter (x, y ) = (1 + x)(1 + y ) .
representa el algoritmo de promediaci on en las tres direcciones y Cm = m Bn (C ) representa la secuencia de mallas triangulares obtenidas a partir de C con el algoritmo de promediaci on Bn .
217
Observaci on 9: En particular, B001 representa al operador de renamiento R el cual subdivide cada tri angulo de una malla regular, uniformemente en cuatro subtri angulos congruentes, tal como se ilustra en la Figura 15.7. Esta gura tambi en ilustra las cuatro m ascaras que representan B001 . Los pesos de estas cuatro m ascaras forman los coecientes del polinomio caracter stico de B001 , (vea 15.2). Este polinomio es: 1 1 1 0 y 1 . x1 1 x 1 2 1 1 (x, y ) = (1 + x)(1 + y )(1 + xe3 )/2 = 2 0 1 1 y
Figura 15.7: El operador de renamiento R aplicado a una malla triangular y sus cuatro m ascaras. Observaci on 10: Cualquier malla obtenida por aplicaciones sucesivas del operador de renamiento R a una malla triangular regualr C representa la misma supercie lineal por trozos. Por lo tanto una secuencia de mallas obtenida por renamiento con R converge.
Observaci on 11: El operador de promediaci on sim etrica A111 = A1 A2 A3 ascara est a dado por una sola m ascara y se ilustra en la Figura 15.8. Esta m fue introducida en [Boehm 83]. El polinomio que representa a A111 es 1 0 1 1 1 1 x x2 1 2 1 y . (x, y ) = 8 y2 1 1 0
15.8
Sea Cm una secuencia de mallas triangulares obtenidas por la aplicaci on del operador de promediaci on Bn . Claramente, si Bn es el operador de duplicaci on, dado por n = (0, 0, 0), o el operador de renamiento, dado por
218
Figura 15.8: La m ascara de Boehm del operador de promediaci on sim etrica A111 . n = (0, 0, 1), entoces Cm converge a un spline localmente constante o a un spline continuo y lineal por trozos, respectivamente. En general, si k = min{n1 +n2 , n1 +n3 1, n2 +n3 1} 0 , entonces, sobre cada dominio compacto, Cm converge a un spline C k , polin omico de grado total |n| = n1 + n2 + n3 sobre cada tri angulo de la malla generada por e1 , e2 y e3 . Estos splines son box splines a tres direcciones, los cuales ser an estudiados con detalle en el Cap tulo 17. Para la prueba, aplicamos repetidamente los resultados de 15.4 y 15.6 y tomamos en cuenta que si f (x) es continua entonces la integral
1 0 0 1 0 1
tiene derivadas cruzadas continuas respecto a cualesquiera dos direcciones ei y ej . Como ei = ej + ek para todas las permutaciones i, j, k de (1, 2, 3), todas las parciales de orden dos existen. Por lo tanto la integraci on iterada con respecto a dos direcciones eleva el grado de suavidad en uno pero la integraci on iterada con respecto a tres direcciones lo eleva en dos. 3 en es cierto si suponemos Observaci on 12: El segundo resultado de 15.4 tambi convergencia sobre un compacto a un spline polin omico por trozos, sobre una malla triangular. En consecuencia, el teorema anterior tambi en se cumple para k = 1.
Observaci on 13: Si n3 = 0 entonces Bn representa el algoritmo de subdivisi on de Lane-Riesenfeld para productos tensoriales uniformes de bigrado (n1 , n2 ).
219
15.9
Cualquier malla regular triangular determina una malla hexagonal cuyas aristas conectan los centros de tri angulos adyacentes. La Figura 15.9 ilustra esto en el caso especial de una malla triangular uniforme
Figura 15.10: Descomposici on de una malla hexagonal en dos mallas triangulares. Es m as, una malla hexagonal regular puede originar dos mallas triangulares (con v ertices distintos) tal como se ilustra en la Figura 15.10. Entonces, una malla regular hexagonal se puede representar por dos matrices bi-innitas . . . . . . . . . . . . , y c c C = C = ij , ij . . . . . . . .. . .. cuyos elementos son los v ertices de las mallas o se representan por los polinomios i i c (x) = c y c (x) = c i x i x .
El algoritmo de promediaci on en tres direcciones de la secci on 15.7 se puede adaptar a mallas hexagonales. El operador de duplicaci on Dhex , para mallas hexagonales est a dado por
Dhex [C , C ] = [[d i ], [di ]] ,
220 donde
y
d 2i,2j = d2i,2j +1 = d2i,2j +1 = d2i+1,2j +1 = cij .
Los ndices se indican en la Figura 15.9. Los tres operadores de promediaci on Ak , k = 1, 2, 3, denidos en 15.7 se generalizan a Ak [C , C ] = [Ak C , Ak C ] . Y para cada n = (n1 , n2 , n3 ) I N3 0 , el operador compuesto
n2 n3 1 Hn = An 1 A2 A3 Dhex
representa el algoritmo de promediaci on en tres direcciones para mallas hexagonales introducido en [Prautzsch 84b]. Los operadores de subdivisi on Hn tambi en pueden representarse con matrices caracter sticas 2 2 cuyos elementos son polinomios. En particular, la operaci on de duplicaci on [C , C ] = Dhex [C , C ] se describe a trav es de la asignaci on polin omica: c (x) c (x) = 1+x+xy x y 1+y +xy c (x2 ) c (x2 ) ,
lo cual puede abrevirase a c(x) = D(x)c(x2 ) . La Figura 15.11 ilustra las cuatro m ascaras asociadas, arriba para la malla C y abajo para C
221
Es m as, la operaci on de promediaci on [C , C ] = Ak [C , C ] se describe por la asignaci on polin omica c (x2 ) c (x2 ) la cual abreviamos por c(x) = k (x)c(x) . Por lo tanto Hn se representa por una matriz polin omica 2 2
n1 n2 n3 1 2 3 D .
1 (1 + xek ) 2
c (x2 ) c (x2 )
ascara asociada con el operador de promediaci on La Figura 15.12 muestra la m sim etrica A111 = A1 A2 A3 para C del lado izquierdo, y para C , del lado derecho.
Figura 15.12: Las m ascaras del operador de promediaci on sim etrica A111 .
convergen a cero cuando m tiende a innito. Entonces Cm converge a una funci on continua c(x) si las dos secuencias de tri angulos, Cm y Cm , convergen a c(x).
Sea Cm = [Cm , Cm ] una secuencia de mallas hexagonales obtenida por la aplicaci on repetida del operador de promediaci on Hn denido en 15.9. Claramente, si Hn es el operador de duplicaci on, es decir, n = (0, 0, 0), entonces Cm converge a un spline localmente constante sobre la malla triangular.
222
Es m as, usando los argumentos de 15.6 se puede ver que cualquier secuencia m (Ak Hn )m C se obtiene de Hn C por promediaci on creciente, tal como se describi o en 15.4. Adem as, como promediamos la malla hexagonal C a trav es de la promediaci on de las mallas triangulares C y C separadamente, similarmente a 15.8, se obtiene lo siguiente: para k = min{ni + nj |i = j } 1, la secuencia Cm converge sobre cualquier compacto a un spline C k . Este spline es polin omico de grado total |n| = n1 + n2 + n3 sobre cada tri angulo de la malla generada por e1 , e2 y e3 . Estos splines se denominan half-box splines y ser an estudiados con detenimiento en el Cap tulo 17. En particular, los operadores sim etricos Hnnn generan splines C 2n1 localmente polin omicos, de grado 3n.
15.11
Ejercicios
1 El algoritmo de la mariposa intoroducido por [Dyn et al. 90] es un esquema interpolatorio de subdivisi on de mallas triangulares. Est a dado por las dos m ascaras ilustradas en la Figura 15.13, donde la segunda m ascara corresponde a las tres m ascaras sim etricas. Demuestre que cualquier secuencia de mallas triangulares regulares obtenida por aplicaciones repetidas del algoritmo de la mariposa, converge a una supercie C 1 para 0 < < 1/2, v ease [Gregory 91, Shenkman et al. 99].
Figura 15.13: La m ascara del algoritmo de la mariposa. 2 Sea Cm = [cm i ] una secuencia de mallas obtenida por el renamiento
+1 cm = i
cm j 2ij
a partir de una malla inicial C0 . Suponga que para cualquier malla inicial C0 la secuencia Cm converge a una funci on c(x). Demuestre que existe una funci on renable N (x), es decir, N (x) = i N (2x i) ,
15.11. Ejercicios
223
la cual dene una base, esto es, que la funci on l mite para cualquier malla C0 , se puede expresar como c(x) =
m cm x i) . i N (2
3 Sea N (x) una base continua para el esquema de subdivisi on del Ejercicio 2 y sea v Z2 . Demuestre que
1
N (x) =
0
N (x tv)dt
es la funci on base para el esquema de subdivisi on cuya m ascara tiene los coecientes 1 i = (i + iv ) . 2 4 En 15.5 se denieron los esquemas de diferencias 1 , 2 y 3 . Demuestre que existe un esquema de diferencias v para todo v Z2 , si existen esquemas de diferencias 1 y 2 . 5 Encuentre un esquema de subdivisi on estacionaria tal que los esquemas de diferencias 1 y 2 no son estacionarios. 6 Pruebe el segundo teorema de 15.4 en el cual se sustituye la convergencia a una funci on uniformemente continua por convergencia sobre compactos a un spline polin omico por trozos sobre una malla triangular generada por e1 , e2 y e3 .
16.1 El esquema del punto medio 16.2 La supercie l mite 16.3 La on 16.5 Continuidad parametrizaci on standard 16.4 La matriz de subdivisi de supercies obtenidas por subdivisi on 16.6 La aplicaci on caracter stica 16.7 Suavidad de orden superior 16.8 Mallas triangulares y hexagonales 16.9 Ejercicios
En 1978 Doo y Sabin presentaron una generalizaci on del algoritmo de subdivisi on de splines producto tensorial bicuadr aticos. Simult aneamentente, Catmull y Clark tambi en presentaron una generalizaci on an aloga para splines bic ubicos. Estos algoritmos pueden aplicarse a mallas de cuadril ateros de topolog as arbitrarias y producen secuencias de mallas de control que convergen a supercies bicuadr aticas o bic ubicas por trozos que tienen un n umero nito de puntos extraordinarios. En contraste con la atractiva simplicidad de estos algoritmos ha sido dif cil el an alisis de la suavidad de estas supercies l mite en sus puntos extraordinarios. Tom o 15 a nos y s olo despu es de varios intentos por otros investigadores, Ulrich Reif logr o establecer un conjunto de condiciones sucientes bajo las cuales los algoritmos de Catmull-Clark, de Sabin y otros similares generan supercies cuyo plano tangente var a continuamente.
16.1
En 15.1 describimos el algoritmo de Lane-Riesenfeld para splines producto tensorial en t erminos de dos operadores. El primero es el operador de renamiento R, el cual aplica una malla de control C en una malla RC que conecta los puntos medios de todas las aristas de C con sus extremos y los centroides de pol gonos adyacentes de la malla. El segundo es el operador de promediaci on A el cual aplica una malla de control C en una malla AC que conecta los centroides de pol gonos adyacentes de la malla. Para la aplicaci on de estos dos operadores no hace falta suponer que los
226
pol gonos de la malla C son cuadril ateros o que la malla es regular. La malla puede ser arbitraria, tal como se ilustra en Figura 16.1, en la cual las l neas suaves indican la malla C , las l neas suaves y las punteadas indican la malla RC y las l neas s olidas, la malla ARC .
Figura 16.1: Renamiento y promediaci on de una malla. El operador Mn = An1 R, el cual rena una malla y la promedia (n 1) veces sucesivas, se denomina el operador del punto medio. Dada una malla C decimos que la secuencia de mallas Mi n C se obtiene a partir de C a trav es del esquema del punto medio Mn .
Para n par e impar el esquema Mn del punto medio tiene propiedades duales. Si n es impar, todas las mallas Mi ateros y n C, i 1, son mallas de cuadril si n es par, los v ertices interiores de cada malla Mi n C, i 1, pueden tener solamente valencia 4. Las mallas cuyos pol gonos no son cuadril ateros y los v ertices internos de valencia = 4 se denominan mallas extraordinarias y v ertices extraordinarios, respectivamente.
En particular, si C es una malla de cuadril ateros, entonces Mn representa el algoritmo de Lane-Riesenfeld para splines producto tensorial de bigrado n. Es m as, para mallas arbitrarias, M2 y M3 representan instancias espec cas de los algoritmos de Doo-Sabin [Doo & Sabin 78] y CatmullClark [Catmull & Clark 78], respectivamente. La Figura 16.2 ilustra una secuencia de mallas obtenidas bajo el esquema de subdivisi on M3 .
Cada v ertice extraordinario de una malla Mi n C es el resultado de una combinaci on af n de v ertices que yacen alrededor del v ertice extraordinario co1 rrespondiente de la malla Mi n C . Como un elemento extraordinario de i1 Mn C corresponde a lo sumo a un elemento extraordinario en Mi n C , entonces el n umero de estos u ltimos est a acotado por el n umero de elementos extraordinarios en C . Si C es una malla sin frontera, entonces el n umero de elementos extraordinarios es el mismo para cada una de las mallas Mi n C, i 0. Observaci on 1: La distancia entre dos v ertices extraordinarios en una
227
Figura 16.2: Una secuencia de mallas obtenida por medio del algoritmo de
Catmull-Clark.
malla Mi umero de aristas del camino m as corto que n C se dene como el n +1 los conecta. La distancia entre los dos v ertices extraordinarios en Mi n C que les corresponden es aproximadamente el doble.
16.2
La supercie l mite
El esquema del punto medio Mn restringido a una submalla regular de una malla de cuadril ateros cualquiera coincide con el algoritmo de Lane-Riesenfeld para splines de bigrado n. Si C es la malla de cuadril ateros, entonces la secuencia de mallas Mi N, converge a una supercie s poligonal por n C, i I trozos y las secuencias de v ertices extraordinarios convergen. Vea 16.5. Estos puntos l mite se denominan puntos extraordinarios de s. Note que s consiste de un n umero innito de parches polin omicos en cada vecindad de un punto extraordinario. En este cap tulo estudiaremos el comportamiento de la supercie l mite s en un punto extraordinario. De la Observaci on 1 de 16.1 se desprende que es suciente considerar una malla C con un solo punto extraordinario, rodeado de varios anillos de cuadril ateros tal como se ilustra en la Figura 16.3.
228
Figura 16.3: Mallas de control con un solo punto extraordinario. Cada submalla regular de la malla Mi ateros n n n C que consiste de cuadril es la B-malla de control de un parche de la supercie polin omica s. Los parches denidos por todas estas submallas regulares de Mi n C forman una supercie si , (n 1) veces diferenciable que es parte de la supercie l mite s. Es m as, la diferencia de la supercie si y la supercie si1 forma un anillo ri de m lados que consiste de 3m2 n parches, donde n = n/2 = max{i I N|i n/2} . Conjuntamente, los anillos ri constituyen la supercie s. Cada supercie 3m anular ri se puede partir en 3m macroparches r1 i , . . . , ri , cada uno de ellos parametrizado sobre [0, 1] [0, 1]. Cada macroparche consiste de n n parches. Esto se ilustra esquem aticamente en la Figura 16.4, en la cual las lineas punteadas indican parches de r5 1 para n = 3.
229
16.3
La parametrizaci on standard
Conjutamente todos los anillos conforman una supercie con conexiones simples C n1 . De acuerdo con 9.7 esto signica que
j u ri (1, v )
La supercie anular completa ri est a parametrizada sobre 3m copias de [0, 1] [0, 1] o equivalentemente, = {1, . . . , 3m} [0, 1]2 .
= =
j +1 (0, v ) u ri j +2 (u, 1) v ri
, ,
(1)
j +1 (u, 0) v ri j +2 (u, 0) v ri
j +3 = u (0, u) ri
y
j v ri+1 (u, 1) j +1 v ri+1 (u, 1)
= = = =
j u v ri ( 2 , 0)
, , ,
j 1 u v ri ( 2 + 2 , 0)
(2)
j +1 u ri+1 (1, v ) j +2 u ri+1 (1, v ) j +2 1 v (0, 2 +2) u ri j +2 (1, v u ri 2)
para todo u, v [0, 1], i I N, = 0, 1, . . . , n 1, y j = 1, 4, 7, . . . , 3n 2, n+1 1 donde r3 = r . i i Es m as, si c1 , . . . , cp denotan los puntos de control de ri , entonces este tambi en se puede expresar como
p
ri (j, u, v ) =
rj i (u, v )
=
l=1
j cl Bl (u, v ) ,
Observaci on 2: Usando la numeraci on de las Figuras 16.3 y 16.4 se obtiene para n = 2 y j = 2, 3 2 3 N 2 2 3 3 N 0, 0 0 , 2 B6 B8 B9 B3 B5 B7 . . 2 2 2 3 3 3 B3 . . B5 B7 B2 B4 = B1 = , . . 2 2 2 3 3 3 B1 B2 B4 B10 B12 B15 N 2 , 2 N 2 , 0
2 2 donde Nkm denota el producto tensorial Nk (u)Nm (v ) de B-splines cuadr aticos sobre los nodos k, . . . , k + 3 y m, . . . , m + 3, respectivamente.
230
16.4
La matriz de subdivisi on
Cada supercie anular ri tiene tres funciones coordenada. Denotamos por R el espacio lineal de todas las posibles funciones coordenada R={ Sea ri (j, u, v ) =
j cl Bl (u, v ) | cl I R} .
j ci R3 l Bl (u, v ) I
la supercie anular obtenida por aplicaciones sucesivas del esquema Mn del 0 punto medio a partir de los puntos del control iniciales c0 1 , . . . , cp . Como los i1 puntos ci , se tiene una matriz de subdivisi on l son combinaciones anes cl S , de dimension p p tal que para todo i 1,
i1 i t 1 t [ci . . . ci 1 . . . cp ] = S [c1 p ] .
La matriz de subdivisi on S es estoc astica, esto es: sus elementos son no negativos y cada la suma uno. Por lo tanto el autovalor dominante de S corresponde al autovector e = [1 . . . 1]t . Todos los puntos c2 l dependen de los 0 2 v ertices extraordinarios de la malla inicial c0 1 . . . cp . Por lo tanto, S tiene una la estrictamente positiva, lo cual implica que uno es un autovalor simple de S 2 , v ease [Micchelli & Prautzsch 89].
i En consecuencia las mallas de control [ci 1 . . . cp ] convergen a un punto [c . . . c] de multiplicidad p, el cual representa un punto extraordinario c, de la supercie s resultante del proceso de subdivisi on.
Observaci on 3: Usando la numeraci on de la izquierda de la Figura 16.3 la matriz de subdivisi on S para el esquema del punto medio M2 alrededor de un pol gono de m lados es la matriz c clica 9m 9m S1 S2 Sm 1 S m S 1 S m 1 S= . . . .. . 16 . . . . S2 Sm S1 Los Si son bloques 9 9 de la forma Si = Ai O O O ,
231
con a = 8 + 4/m, b = 4 + 4/m y los elementos que son cero se indican con puntos.
A1 =
b . 3 . A2 = . . 1 .
. 1 , . 3
Am
b . . . 3 1 . . . . 1 3
16.5
A partir de ahora consideramos que R es un espacio lineal arbitrario de funciones r(j, u, v ) denido para j {1, . . . , 3n} y u, v [0, 1] las cuales son k veces diferenciables en u y v . Y sea S una aplicaci on lineal de R tal que para cualquier funci on ri R y su imagen ri+1 = Sri satisface las condiciones de suavidad (1) y (2) de 16.3 para todo = 1, . . . , k. Sean x1 , . . . , xp los autovectores y los autovectores generalizados de S que forman una base de R y sean 1 , . . . , p los autovalores asociados, los cuales supondremos ordenados en forma decreciente, es decir, |1 | |2 | . . . |p |. Cualquier supercie anular ri cuyas coordenadas est an en R, es imagen del anillo x1 . r0 = . . xp
y cualquier supercie de subdivisi on obtenida por aplicaciones sucesivas de S es una imagen de la supercie r conformada por los anillos m S x1 . . N0 , rm = S m r0 = , mI . S m xp
bajo alguna aplicaci on lineal. Por lo tanto para estudiar la suavidad de estas supercies de subdivisi on es suciente analizar r. Claramente, los iterados rm convergen al origen cuando |1 | < 1 y convergen a un punto diferente, es decir, una funci on constante diferente de cero, si 1 = 1 y |2 | < 1 y x1 es una funci on constante. Recuerde que las funciones
232
xi son linealmente independientes. Por lo tanto s olo una funci on coordenada xi puede ser constante. Si x1 es constante y 1 = 1, entonces la supercie de subdivisi on r es un trasladado de la supercie de subdivisi on formada por los iterados m as cortos S m [x2 . . . xp ]t . En consecuencia para analizar la suavidad es suciente suponer |1 | < 1.
Note sin embargo que cualquier esquema de subdivisi on anmente independiente tiene una matriz de subdivisi on con el autovalor uno asociado a autovectores que son funciones constantes. V ease por ejemplo el esquema del punto medio de 16.4.
16.6
t Bajo estas condiciones rm /m 1 converge a [x1 x2 0 . . . 0] . Por lo tanto si r tiene un plano tangente en el origen , este coincide con el plano x1 x2 . Este argumento tambi en demuestra que r no tiene plano tangente en el origen si hay m as de dos autovectores dominantes xi .
En esta secci on continuaremos el an alisis de la suavidad de la supercie r en el origen. Cuando |1 | < 1. Supondremos adem as que 1 = 2 (lo cual implica que 1 es real) y |2 | > |3 | y que los xi son autovectores (no generalizados).
Si r es una supercie regular en el origen, entonces es la gr aca de una funci on en x1 , x2 . En particular, esto signica que para cada j = 1, . . . , 3n el parche cj (u, v ) = [x1 (j, u, v ) x2 (j, u, v )], j = 1, . . . , 3n, tiene inversa. Adem as las condiciones (1) y (2) de 16.3 implican que la intersecci on de dos de estos parches es su frontera com un. M as brevemente, la aplicaci on c : {1, . . . , 3n} I R2 es invertible. Esta aplicaci on fue introducida en [Reif 93] y se denomina la aplicaci on caracter stica del esquema de subdivisi on S . Su imagen es un anillo planar R sin pliegues y los iterados m I R llenan el hueco encerrado por R sin intersecciones dos a dos. La Figura 16.5 ilustra la situaci on. Entonces cualquier coordenada ri de r puede considerarse como una funci on sobre U = m=0 m R, es decir, la i- esima coordenada es la funci on (3)
1 ri (x) = m (x/m )) , donde x m R . i xi (c
16.7
Si una supercie de subdivisi on r es regular y k veces continuamente diferenciable, entonces como funci on de x1 , x2 tiene un desarrollo de Taylor hasta
233
Figura 16.5: Una aplicaci on caracter stica x y su versi on escalada x . orden k en el origen. Comparando esta expansi on con (3) se deduce que i debe ser una potencia de o satisfacer |i | < ||k . Es m as, si i = , se tiene que el autovector xi es un polinomio homog eneo de orden en x1 y x2 . Rec procamente, supongamos que los autovalores y autovectores de S tienen estas propiedades. Si i = , < k , entonces ri es un polinomio en x1 y x2 . Si |i | < |k |, entonces para cualquier derivada mixta de orden k se tiene que m i (xi c1 )(x/m ) ri (x) = converge a cero cuando x tiende a cero o equivalentemente cuando m tiende a innito. En consecuencia se tiene el siguiente teorema [Prautzsch 98] Suponemos que 1 > || > |3 | y que est a asociado a dos autovectores x1 y x2 que denen una aplicaci on caracter stica. Entonces la supercie de subdivisi on r es regular y C k si y s olo si la aplicaci on caracter stica es invertible y para todo i = 1, . . . , p se tiene que i = y xi pertenece al k espacio generado {x 1 x2 | + = } o |i | < || . Observaci on 4: El teorema anterior tambi en es v alido si uno es un autovalor de S cuyo autovector asociado es una funci on constante. V ease tambi en 16.5. Observaci on 5: Un teorema similar tamb en es v alido si los autovalores
234
1 y 2 son complejos conjugados o reales distintos, v ease [Prautzsch 98, Reif 95b].
16.8
El an alisis presentado hasta ahora en el presente cap tulo tambi en es v alido para la subdivisi on estacionaria de mallas triangulares y hexagonales. Una malla triangular arbitraria consiste de tri angulos, pero podr a tener v ertices extraordinarios, es decir, aquellos v ertices con valencia distinta de 6, vea la Figura 16.6. Dualmente a lo anterior, una malla hexagonal arbitraria tiene solamente v ertices regulares, es decir, de valencia 3, pero puede contener pol gonos extraordinarios, es decir, que no tienen 6 lados. Ver la Figura 16.6. Tal como ya se present o en 15.9 a partir de una malla triangular se puede obtener una hexagonal conectando los centros de tri angulos adyacentes. Similarmente, la obtenci on de mallas triangulares a partir de mallas hexagonales se ilustra en la Figura 16.6.
Figura 16.6: Conversi on de una malla triangular en hexagonal y viceversa. Tal como se discuti o en 15.8 y 15.10 una malla triangular o hexagonal controla una supercie que consiste de parches triangulares. En general, estos parches no tienen porque ser polin omicos. Alrededor de un punto extraordinario el arreglo de los parches se ilustra en la Figura 16.7. Es m as, alrededor de un punto extraordinario es posible aparear parches triangulares para constituir una malla de cuadril ateros, lo cual se ilustra en la Figura 16.4. Por lo tanto el an alisis de suavidad y el teorema 16.7 tambi en se pueden aplicar en el caso de mallas triangulares y hexagonales.
16.9. Ejercicios
235
16.9
Ejercicios
1 Sea S una matriz estoc astica n n con una columna estrictamente positiva. Demuestre que existe una constante (0, 1) tal que para todos los vectores v = [v1 . . . vn ]t diam(S v) diam(v) , donde diam(v) denota el di ametro max vi min vi . V ease tambi en [Micchelli & Prautzsch 89]. 2 Implemente el algoritmo de la mariposa dado por la m ascara en la Figura 15.13 para mallas triangulares arbitrarias.
Figura 16.8: Las m ascaras del algoritmo de Loop. 3 En 1987, Loop [Loop 87] generaliz o las m ascaras de Boehm para el algoritmo de subdivisi on de box splines de grado cuatro considerado en 15.7. Las m ascaras generalizadas de Loop se pueden aplicar a mallas
236
16. Subdivisi on estacionaria para mallas arbitrarias triangulares arbitrarias. Estas se ilustran en la Figura 16.8, en la cual n denota la valencia del v ertice y es un par ametro libre que depende de n. Verique el resultado de Loop, el cual establece que los planos tangentes de la superce l mite var an continuamente en puntos extraordinarios si (6) = 5/8 y 2 3 1 2 1 cos < (n) < + cos . 4 n 4 4 n
4 Rene una malla triangular arbitraria subdividiendo cada tri angulo uniformemente en cuatro subtri angulos. Calcule los centros de los subtri angulos. Estos puntos son los v ertices de una malla hexagonal. Finalmente calcule los centroides de todos los pol gonos ordinarios y extraordinarios de la malla hexagonal. Estas operaciones conforman un paso del esquema del punto medio para mallas triangulares. Calcule las m ascaras de este esquema y comp arelas con las m ascaras del algoritmo de Loop. 5 Rene una malla hexagonal arbitraria cuadruplicando cada uno de los ertices denen una malla v ertices, vea la Figura 15.11. Los nuevos v hexagonal que contiene pol gonos degenerados. Estos forman una malla tri angulos, calcule sus centros. Este proceso es un paso del esquema del punto medio para mallas hexagonales. Calcule las m ascaras de este esquema y comp arelas con las m ascaras del algoritmo de subdivisi on para los half-box splines c ubicos de 15.9. 6 Una aplicaci on caracter stica x polin omica por trozos regular e invertible que corresponde a una matriz de subdivisi on S alrededor de un punto extraordinario, que es k veces diferenciable, tiene grado k + 1. V ease [Prautzsch & Reif 99]. Use este hecho para demostrar que una supercie polin omica por trozos C 2 , obtenida por subdivisi on con curvatura Gaussiana positiva en su punto extraordinario tiene necesariamente grado 6.
Parte III
Splines Multivariados
17 Box splines
17.1 Denici on de box splines 17.2 Box splines como sombras 17.3 Propiedades de los box splines 17.4 Derivadas de un box spline 17.5 Propiedades de las supercies box spline 17.6 Subdivisi on de supercies box spline 17.7 Convergencia bajo subdivisi on 17.8 Half-box splines 17.9 Supercies half-box 17.10 Ejercicios
Los box splines son funciones de densidad de las sombras de poliedros de dimensi on mayor. Ellos incluyen a los B-splines univariados y tambi en las supercies obtenidas por el algoritmo de promediaci on sobre una malla regular triangular son box splines. En este cap tulo se presenta una introducci on a la teor a general de los box splines y de los half-box splines. De hecho los halfbox splines sim etricos de grado 3n son m as convenientes para la construcci on de supercies G2n1 consistentes de parches triangulares que los box splines.
17.1
Un box spline s-variado B (x|v1 . . . vk ) est a determinado por k direcciones vi en I Rs . Por simplicidad supondremos que k s y que v1 , . . . , vs son linealmente independientes. Bajo esta hip otesis los box splines Bk (x) = B (x|v1 . . . vk ), k = s, s + 1, . . . , se denen por convoluciones sucesivas, an alogamente a 8.1, Bs (x) Bk (x) = =
0
1/| det[v1 . . . vs ]| 0
1
Figura 17.1: Box splines bivariados sobre una malla triangular. Los box splines Bi (x) satisfacen la condici on de normalizaci on I Rs Bk (x)dx = 1 ,
la cual puede ser vericada directamente para k = s y por inducci on para k > s. Concretamente,
1 1 1
I Rs
I R
dt = 1 .
0
17.2
Un box spline Bk (x) = B (x|v1 . . . vk ) tambi en se puede construir geom etricamente. Sea la proyecci on ortogonal : [t1 . . . tk ]t [t1 . . . ts ]t , y sea k = [u1 . . . uk ][0, 1)k el paralelep pedo tal que vi = ui Entonces Bk (x) representa la densidad de la sombra de k , es decir, (1) Bk (x) = 1 volks k (x) , volk k
241
Figura 17.2: La construcci on geom etrica de un box spline lineal por trozos sobre
una malla triangular.
Esta caracterizaci on de los box splines se prueba por inducci on: para k = s la ecuaci on (1) es obvia y para valores mayores de k se observa que k (x) =
s[0,1)
(k1 + suk ) 1 x
Por lo tanto si h mide la distancia entre k1 y uk + k1 a lo largo de k- esimo vector unitario de I Rk (vea la Figura 17.3), se tiene que
1
volks k (x) =
0
h volks1 k1 (x svk ) ds ,
lo cual corresponde a la denici on inductiva de box splines, salvo un factor multiplicativo constante. Consecuentemente volks k (x) es un m ultiplo del
242 box spline Bk (x) y como volks k (x) dx = volk k I Rs queda demostrada la ecuaci on (1). 3 y I Rs
Bk (x)dx = 1 ,
Figura 17.3: Medidas de la caja k . Observaci on 1: De la denici on geom etrica (1) se deduce que el box spline B (x|v1 . . . vk ) satisface la ecuaci on funcional I Rs B (x|v1 . . . vk )f (x)dx = f ([v1 . . . vk ]t)dt
[0,1)k
17.3
A partir de la denici on geom etrica de B (x) = B (x|v1 . . . vk ) se desprende que el box spline no depende del orden de las direcciones vi ,
es sim etrico con respecto al centro de su soporte. Es m as, sea B (x) la sombra de la caja como en 17.2. Entonces las caras (s 1)-dimensionales de proyectadas en I Rs forman un teselado del soporte. Esto se ilustra en la Figura 17.4 para [v1 . . . vk ] = 1 1 1 0 1 0 1 1 y [v1 . . . vk ] = 1 1 0 0 1 1 1 1 0 1 .
243
Figura 17.4: Soporte de box splines cuadr aticos y c ubicos. El box spline B (x) es polin omico de grado k s sobre cada tesela de esta partici on. Para la prueba observe que los puntos extremos de los conjuntos convexos 1 x yacen en las caras s-dimensionales de . Entonces un punto extremo es de la forma [xt et ]t , donde e I Rks , depende linealmente de x, sobre la proyecci on de la correspondiente cara s-dimensional. El volumen 1 x puede expresarse como una combinaci on lineal de determinantes de matrices (k s) (k s) cuyas columnas representan diferencias de los puntos extremos e. Luego, el volumen es un polinomio de grado k s en x sobre cada tesela de la partici on dada. 3
17.4
De la denici on inductiva de los box splines se desprende que la restricci on del box spline B (y ) = B (x + y vr ) es constante por trozos en y si vr no pertenece al espacio generado por {v1 , . . . , vr , . . . , vk }. Si vr pertenece a este espacio, entonces B (y ) es continuo pues se puede obtener por convoluci on a partir de
B (y ) = B (x + y vr |v1 . . . vr . . . vk ) ,
esto es,
1 y
B (y ) =
0 y
B (y t)dt =
B (t)dt
y 1
(2)
B (t) B (t 1)dt .
Es m as la derivada direccional respecto a vr est a dada por (3) B (y )|y=0 = B (0) B (1) .
244
Si v1 , . . . , vr , . . . , vk generan I Rs para r = 1, . . . , s, entonces B (x|v1 . . . vk ) es continuo y su derivadas direccionales se pueden escribir como una com binaci on de trasladados de los box splines B (x|v1 . . . vr . . . vk ). Aplicando este argumento repetidamente se obtiene
B (x) es r veces continuamente diferenciable si todos los subconjuntos de {v1 , . . . , vk } obtenidos por eliminaci on de r + 1 vectores vi generan I Rs . Observaci on 2: Las expresiones anteriores se pueden utilizar para dar una prueba inductiva de las propiedades polin omicas de B (x). Concretamente, si B (x) es polin omica de grado k s 1 sobre cada tesela de la partici on, entonces B (x vr ) tambi en lo es. Por (3), B (y ) es polin omica de grado k s en cada direcci on vr y por lo tanto en x. Observaci on 3: El box spline cuadr atico C 1 cuyo soporte se ilustra en el lado izquierdo de la Figura 17.4 se llama el elemento de Zwart-Powell.
17.5
De aqu en adelante supondremos que las direcciones v1 , . . . , vk pertenecen Rs . a Zs , y que como antes, v1 , . . . , vs generan I Claramente, la suma de los trasladados B (x j|v1 . . . vs ), j [v1 . . . vs ]Zs , es (4) = 1/| det[v1 . . . vs ]| .
umero nito, digamos m, de subconComo Zs se puede descomponer en un n juntos de la forma i + [v1 . . . vs ]Zs , vea la Figura 17.5, se tiene que B (x i|v1 . . . vs ) = m .
iZ
Como
1 0
B (x i|v1 . . . vk ) B (x i|e1 . . . es v1 . . . vk ) ,
=
iZ
s
donde ei es el i- esimo vector unitario. Finalmente, por (4) la u ltima suma es uno y entonces se tiene
245
Figura 17.5: Descomposici on de Zs en trasladados de mallas m as gruesas. los desplazamientos (enteros) de cualquier box spline B (x) = B (x|v1 . . . vk ) forman una partici on de la unidad. Por lo tanto cualquier supercie box spline s(x) =
iZ
s
ci B (x i)
es una combinaci on af n de sus puntos de control ci . Esta supercie es anmente invariante esto signica que las im agenes de los puntos de control bajo una aplicaci on af n son los puntos de control de la supercie imagen. Como los box splines son no negativos, cada punto s(x) de la supercie es una combinaci on convexa de sus puntos de control y por lo tanto yace en la c apsula convexa de estos puntos. Es m as, los B (x i|v1 . . . vk ), i Zs , son linealmente dependientes si |det[v1 . . . vs ]| = 1. Como el box spline no depende del orden de los vi , esta secuencia es linealmente dependiente si existe una subsecuencia independiente vi1 . . . vis tal que |det[vi1 . . . vis ]| = 1. El rec proco tambi en es cierto [Dahmen & Micchelli 83, 85] y puede vericarse por inducci on. V ease [Jia 83, 85]. En resumen, se tiene el siguiente teorema B (x i|v1 . . . vk ), i Zs , es linealmente independiente sobre cada subconjunto abierto de I Rs si y s olo si [v1 . . . vk ] es unimodular, Una matriz [v1 . . . vk ] se dice unimodular si el determinante de cada submatriz [vi1 . . . vis ] es 1, 0 o 1.
246
Si las direcciones v1 , . . . , vk1 generan I Rs , entonces podemos calcular la derivada direccional Dvk s de s con respecto a vk . Usando la f ormula de la derivada (3) de 17.3 se obtiene (5) Dvk s(x) =
iZ
s
vk ci B (x i|v1 . . . vk1 ) ,
donde as, si para todo j = 1, . . . , k las k 1 direcciones v ci = ci civ . Es m v1 , . . . , v j , . . . , vk generan I Rs , entonces B (x) es continua, como se demuestra en 17.3 y sus trasladados generan los polinomios lineales. En particular, si 1 mi = i + (v1 + + vk ) 2 denota el centro del soporte suppB (x i), entonces (6)
iZ
s
mi B (x i) = x .
De hecho, por simetr a, esta ecuaci on se verica para x = mo para todo j = 1, . . . , s y se tiene Dvj mi B (x i) = vj .
Como la representaci on box spline es anmente invariante, para todo polinomio lineal l(x) se tiene l(x) = l(mi )B (x i .
Nos referimos tambi en a esta propiedad como la precisi on lineal de la representaci on box spline. Vea los Ejercicios 1 y 2.
17.6
Cualquier caja = [u1 . . . uk ][0, 1)k de I Rk se puede particionar en 2k = /2 generada por las direcciones u i = trasladados de la caja escalada on para probar que la somui /2. En [Prautzsch 84a] se usa esta observaci bra no normalizada M (x) = volks ( 1 x ) de bajo la proyecci on de : [t1 . . . tk ]t [t1 . . . ts ]t
247
se puede expresar como una combinaci on lineal de los trasladados de los box splines escalados s k M M (2x) . (x) = 2 Por lo tanto, si las proyecciones vi = ui yacen en Zs , entonces cualquier supercie box spline s(x) = c1 i B (x i) s iZ con B (x) = B (x|v1 . . . vk ) tambi en tiene una representaci on m as na s(x) =
iZ
s
c2 i B (2x i) .
Los nuevos puntos de control c2 i pueden ser calculados iterativamente a partir de los puntos de control iniciales c1 on de recurrencia i por medio de la relaci d0 (i) dr (i) c2 i = = = o c1 i/2 si i/2 Zs Zs , , r = 1, . . . , k ,
Para la prueba se puede utilizar una t ecnica similar a la presentada en r1 ur . . . uk ][0, 1)k [Prautzsch 84a]: se subdivide cada caja r1 = [ u1 . . . u r + r . Las sombras asociadas satisfacen en r y u r ) , Mr1 (x) = Mr (x) + Mr (x v r = vr /2. Dividiendo esta ecuaci donde v on por vol r1 = 2 volr , se obtiene Br1 (x) = 1 r ) Br (x) + Br (x v 2 ,
1 . . . v r vr+1 . . . vk ). Usando esta identidad repetidadonde Br (x) = B (x|v mente y la relaci on 1 . . . v k ) = 2s B (2x|v1 . . . vk ) B (x|v resulta s(x) =
iZ
s
c1 i B0 (x i) dr (i)Br (x i/2) , r = 0, 1, . . . , k ,
=
iZ
s
c2 i B0 (2x i) ,
lo cual concluye la prueba. 3 Observaci on 4: La suma de los trasladados Br (x j) sobre j Zs /2 y r s es 2s debido a que Br (x j) = 2s B (2x 2j|v1 . . . vr 2vr+1 . . . 2vk ) .
1 Observaci on 5: Si [v1 . . . vs ]Zs = Zs , entonces 2s ds i = ci/2 y cada punto 2 1 ci es una combinaci on convexa de los puntos iniciales ci . V ease tambi en el Ejercicio 7.
Observaci on 6: Es f acil la extensi on de algoritmo de subdivisi on, para obtener una representaci on m as na, es decir, para cualquier m I N se tiene s(x) =
iZ
s
cm i B (mx i) ,
s k donde los puntos cm es i = m d (i) se pueden calcular sucesivamente a trav de las f ormulas
d0 (i) = dr (i) = 1 m
o c1 i/m
m 1
si i/m
Zs Zs
l=0
dr1 (i lvr ) ,
r = 1, . . . , k .
Esta forma y versiones m as generales del algoritmo de subdivisi on se pueden encontrar en [Cohen et al. 84] y [Dahmen & Micchelli 84]. Estos trabajos ofrecen derivaciones algebraicas del algoritmo. Observaci on 7: La derivaci on geom etrica del algoritmo de subdivisi on presentada arriba, muestra que cada punto de control cm depende de los puntos j de control c1 , para los cuales supp B ( m x j ) supp B ( x i ). Entonces su i cantidad est a acotada por un n umero h que no depende de m y j. Por lo tanto (7) cm h sup c1 j i s iZ .
Observaci on 8: El algoritmo de subdivisi on se puede utilizar una segunda vez para calcular los puntos de control de c(x) sobre cualquier malla m as na Zs /(mn). Como la partici on de una caja en trasladados de cajas escaladas
249
/(mn) es u nica, los puntos de control cmn resultantes se pueden calcular a i partir de los c1 por una sola aplicaci o n del algoritmo de subdivisi on. i Observaci on 9: Similarmente se observa que los puntos cm i no dependen del orden de las direcciones v1 , . . . , vk , es decir, del orden de los pasos de promediaci on.
17.7
Por medio de la aplicaci on repetida del algoritmo de subdivisi on de 17.6 se obtienen los puntos de control de la representaci on renada s(x) =
iZ
s
cm i B (mx i) ,
N. Una de una supercie s(x) sobre cualquier malla escalada Zs /m, m I propiedad importante de este proceso es que, bajo condiciones adecuadas sobre V = [v1 . . . vk ] los puntos cm i convergen a la supercie s(x). Sea h como en (7) y
s M = sup{ vr c1 i , iZ v1 , . . . , vr , . . . , vk
generan
I Rs } .
Entonces se tiene el siguiente teorema Si [v1 . . . vk ]Zk = Zs , entonces cm i s(x) hM/m para todo i, tal que B (mx i) > 0. Este resultado fue obtenido por de Boor et al. [de Boor et al. 93] quienes tambi en demuestran que una condici on suciente para que la convergencia sea cuadr atica es que [v1 . . . vi . . . vk ]Zk1 = Zs y que B (x|v1 . . . vk ) sea diferenciable.
Para la prueba ordenamos v1 , . . . , vk de manera que v1 , . . . , vr , . . . , vk generan I Rs si y s olo si r q para alg un q {1, . . . , k + 1}. Entonces I Rs es la suma directa
I R s = v1 I R v q 1 I R [vq . . . vk ]I R k q . Es m as, cualquier punto s(x) de la supercie yace en la c apsula convexa de los puntos de control cm , con m jo y B ( m x i ) > 0. Veremos que los i di ametros de estas c apsulas convexas tienden a cero.
. . . vk ] no coincide con Como [v1 . . . vk ]Zk = Zs y el generado de [v1 . . . vr s I R para r = 1, . . . , q 1, entonces resulta de B (mxi) > 0 que B (mxk) = 0 para todo k Zs tal que i k no pertenece al generado de vq . . . vk .
250
m Por lo tanto, si cm i y ck son dos puntos de control de s(x) entonces i k = v pertenece al generado [vq . . . vk ] y +v o v pertenecen a suppB (x).
v1 Z . . . vq1 Z [vq1 . . . vk ]Zkq , se tiene que cualquier v Zs span [vq . . . vk ] se puede expresar como una suma de vectores posiblemente repetidos del conjunto {vq , vq , . . . , vk , vk }. Por lo tanto cualquier diferencia v cm i se puede expresar como una suma de diferencias vr cm , r = q, . . . , k . Entonces para terminar la prueba es sui ciente acotar las diferencias vr cm . i
Para r q podemos omitir el r- esimo paso de promediaci on del algoritmo de subdivisi on de 17.6, obteni endose (haci endo caso omiso del factor m) el esquema de diferencias vr , v ease 15.5 y 15.6. Esto signica: si aplicamos el algoritmo de subdivisi on 17.6 omitiendo el r- esimo paso de promediaci on a las diferencias vr ci 1 obtenemos las diferencias divididas mvr cm . i Entonces de (7) resulta sup vr cm hM/m , i s iZ lo cual termina la prueba. 3 En caso contrario, cuando [v1 . . . vk ]Zk = Zs , entonces no hay convergencia, como vericaremos para s(x) = B (x).
Concretamente, si existe un punto i de la malla Zs , el cual no yace en un j J = i +[v1 . . . vs ]Zs yace en [v1 . . . vk ]Zk . [v1 . . . vk ]Zk , entonces ning Como jJ B (x j) > 0, (vea (4) de 17.6), para cada x I Rs existe j J tal que B (x j) > 0. Subdividiendo un box spline B (x) con el algoritmo de 17.5 obtenemos puntos de control cm i tales que B (x) =
iZ
s
cm i B (mx i) .
Entonces, si [v1 . . . vk ]Zk = Zs o J = , entonces para todo x I Rs existe m un punto de control cj = 0 tal que B (mx j) > 0. Para cada x, tal que B (x) > 0, estos puntos de control, que son cero, no convergen a B (x) cuando m tiende a innito.
La derivaci on geom etrica del algoritmo de 17.6 demuestra que cm i = 0 si y s olo si i [v1 . . . vk ]Zk . m
251
17.8
Half-box splines
Los half-box splines se denen sobre mallas triangulares generadas por los vectores e1 = [1 0]t , e2 = [0 1]t y e3 = [1 1]t . En 15.10, estos splines fueron introducidos, en el contexto de la subdivisi on de mallas hexagonales. En esta secci on presentamos la denici on inductiva propuesta en [Sabin 77] y su interpretaci on geom etrica. Subdividiendo el cuadrado unitario a lo largo de su diagonal en la direcci on e se obtienen dos tri angulos = {x|0 x y < 1} y = {x|0 y < x < 1} .
Estos tri angulos determinan los siguientes half-box splines, de soporte constante 1 si x H (x|) = 0 en caso contrario y 1 si x . H (x|) = 0 en caso contrario An alogamente al caso de los box spline, los half-box splines de orden superior se pueden obtener por medio de convoluciones sucesivas,
1
H (x|v3 . . . vk ) y
=
0
H (x|v3 . . . vk ) =
donde k 3. Supondremos que los vi , son direcciones unitarias v3 , . . . , vk {e1 , e2 , e3 } . Note que la suma de los half-box splines H (x|v3 , . . . , vk ) y H (x|v3 , . . . , vk ) es el box spline B (x|e1 e2 v3 . . . vk ), inclusive para k = 2. La Figura 17.6 ilustra dos half-box splines C 1 . Similarmente a lo estudiado para box splines en 17.1, se obtienen propiedades para los half-box splines. Por razones de simetr a listamos solamente las propiedades correspondientes a H (x) = H (x|v3 . . . vk ). Los half-box splines est an normalizados
I R2
H (x)dx = 1/2 .
252
Figura 17.6: Dos half-box splines C 1 c ubicos por trozos. Cualesquierea k direcciones independientes u1 , . . . , uk I Rk denen un halfbox spline ={ ui i |0 1 2 y 2 , . . . , k [0, 1]} .
La densidad de la sombra de esta media caja representa un half-box spline. Esto es, si denota la proyecci on de I Rk sobre I R2 que aplica u1 , . . . , uk en e1 , e2 , v3 , , . . . , vk , entonces H (x|v3 . . . vk ) = 1 volk2 ( 1 x ) . 2 volk
A partir de esta construcci on geom etrica se desprende que H (x) satisface las siguientes propiedades no depende del orden de v3 . . . vk , es positivo sobre el conjunto convexo + [v3 . . . vk ](0, 1)k2 , tiene como soporte a clausura() + [v3 . . . vk ][0, 1]k2 , tiene derivada direccional
Dvr H (x) = H (x|v3 . . . vr . . . vk ) H (x vr |v3 . . . vr . . . vk )
con respecto a vr , r 3 , es r veces continuamente diferenciable si todos los subconjuntos de {v3 . . . vk } obtenidos omitiendo r + 1 vectores vi generan I R2 . es polin omica de grado total k 2 sobre cada tri angulo i + , para i Z2 . Observaci on 10: Los half-box splines H (x|e1 . k . . e1 e2 . k . . e2 e3 . k . . e3 ) son continuamente diferenciables 2k 1 veces y tienen grado 3k .
253
17.9
Supercies half-box
H (x) H (x)
= H (x|e3 v3 . . . vk )
= H (x|e3 v3 . . . vk ) ,
es el box spline B (x|e1 e2 e3 v3 . . . vk ). Por lo tanto los trasladados H (x i) y H (x i), i Z2 , forman una partici on de la unidad.
(c i H (x i) + ci H (x i))
es una combinaci on af n de sus puntos de control y por lo tanto anmente invariante. Esto signica que bajo cualquier aplicaci on af n las im agenes de los puntos de control, determinan la supercie imagen de s(x). Como los half-box splines son no negativos, s(x) es una combinaci on convexa de sus puntos de control y por lo tanto yace en la c apsula convexa de estos.
Si conectamos los puntos de control c angulos asociados i + i y cj cuyos tri y j + tienen una arista en com un, entonces obtenemos una malla hexagonal, la malla de control de s. La Figura 17.7 ilustra un ejemplo en forma esquem atica.
Figura 17.7: Una malla de control hexagonal. La derivada direccional de s con respecto a vr se puede calcular a trav es
Si H (x) es continuo o equivalentemente, si dos de las direcciones v3 , . . . , vk , son independientes, entonces cualquier derivada direccional de la suma de los trasladados H (x i), es cero. Por lo tanto esta suma es una funci on constante. Por simetr a y debido a que los half-box splines H y H forman una partici on de la unidad se tiene (8)
iZ
2
donde v ci = ci civ .
H (x i) =
iZ
H (x i) = 1/2 .
En particular, esto implica que los trasladados de H y H son linealmente dependientes. Adem as, si el box spline B (x) = B (x|e1 e2 v3 . . . vk ) = H (x) + H (x) es continuo, entonces a partir de (6) en 17.5 se obtiene
2
iZ
mi (H (x i) + H (x i)) = x ,
donde mi es el centro de suppB (x i). Si H es continuo, usando (8) para cualquier v I R2 se tiene
iZ
2
Por ejemplo, si v = (e1 e2 )/6, los puntos m i = mi + v y mi = mi v forman una malla hexagonal regular tal como se ilustra en la Figura 17.8.
Como la representaci on de los half-box splines es anmente invariante, para cualquier polinomio lineal l(x), se tiene l(x) =
iZ
2
Nos referimos a esta propiedad como precisi on lineal de la representaci on half-box spline. Observaci on 11: Cualquier supercie half-box spline s(x) =
iZ
2
(c i H (x i) + ci H (x i))
17.10. Ejercicios
255
para cualquier m I N. En particular, para m = 2k , k I N, los nuevos puntos de control di y d (los cuales dependen de m ) pueden calcularse i por k aplicaciones repetidas del algoritmo de subdivisi on 15.9. Similarmente al algoritmo de subdivisi on para box splines de 17.6, este algoritmo tiene una generalizaci on inmediata que permite generar los puntos d i y di para cualquier m I N. Dejamos como un ejercicio la formulaci on y prueba de esta generalizaci on.
17.10
Ejercicios
1 Suponga que las direcciones v1 , . . . , vk Zs generan I Rs y que el box spline asociado B (x) = B (x|v1 . . . vk ) es r veces continuamente diferenciable. Dado un polinomio c(x) de grado total d r + 1 demuestre por inducci on sobre k que s(x) =
iZ
s
c(i)B (x i)
256
2 Bajo las mismas condiciones del Ejecicio 1 verique que la aplicaci on c(x) c(i)B (x i) es lineal y regular en el espacio de los polinomios de grado r + 1. 3 Pruebe por inducci on que el conjunto de los polinomios B (xi|v1 . . . vk ), olo si [v1 . . . vk ] es unimodular. i Zs es linealmente independiente si y s 4 Verique la siguiente relaci on de recurrencia para box splines B (x|v1 . . . vk ) = 1 ks
k r =1 (r B (x|v1 . . . vr . . . vk )
donde x = r=1 r vr . Esta f ormula fue descubierta por de Boor y H ollig ollig 82]. En 1984 Boehm encontr o una prueba geom etrica [de Boor & H y descubri o un mecanismo de evaluaci on de los box splines similar al algoritmo de de Boor [Boehm 84a]. 5 Dada la malla de control hexagonal de una supercie half-box C 1 , sus puntos de B ezier se pueden calcular usando las tres m ascaras de la Figura 17.9 y de las versiones sim etricas de estas m ascaras. La Figura 17.9 tambi en indica esquem aticamente la parte relevante de la malla hexagonal y un tri angulo de B ezier cuyo punto de control s olido es calculado por la m ascara. Use estas m ascaras para calcular la representaci on de B ezier de un half-box spline c ubico, vericando que obtiene el resultado correcto.
Figura 17.9: M ascaras para el c alculo de puntos de B ezier. 6 Dada una supercie cu artica C 2 con representaci on box spline iZ2 ci B (x i|e1 e1 e2 e2 e3 e3 ) sobre I R2 su malla de B ezier se puede calcular como sigue. En primer lugar se subdivide la malla de control por medio del operador de renamiento R. (Vea la Observaci on 10 de 15.7). A
17.10. Ejercicios
257
continuaci on se usa la m ascara ilustrada en la Figura 17.10 para calcular los puntos de B ezier a trav es de la malla subdividida [Boehm 83, Prautzsch & Boehm 02].
Figura 17.10: C alculo de los puntos de B ezier de una supercie box spline cu artica
C2.
7 Verique que los puntos de control cm i calculados con el algoritmo de subdivisi on de la Observaci on 5 de 17.6, son combinaciones convexas de los puntos de control iniciales c1 i si [v1 . . . vk ]Zk = Zs .
8 Sean v1 , . . . , vk direcciones de I R2 tales que los angulos entre v1 y vr para r = 1, . . . , k crecen y est an acotados por 180 . Demuestre que la frontera del soporte del box spline B (x|v1 . . . vk ) est a formada por los puntos x = v 1 + + v r 1 + v r y x = vk + + vr+1 + vr , donde r = 1, . . . , k y [0, 1] como se ilustra en la Figura 17.2. 9 Sea S el soporte de un box spline y suponga, por simplicidad, que el spline es bivariado. Demuestre que la intersecci on de S con cualquier trasladado de S es el soporte de alg un box spline. 10 Sea k = 4 y [v1 . . . vk ] = 1 0 1 1 . Verique que los puntos c2 i 0 1 1 1 en pueden obtenidos a trav es del algoritmo de subdivisi on de 17.6 tambi ser calculados a trav es del siguiente esquema de promediaci on:
1 1 1 1. Calcule los puntos medios de todas las aristas c1 i civ1 y ci civ2 .
258
17. Box splines 2. Conecte los puntos medios de cualesquiera dos aristas que tienen un punto extremo en com un. Estas son las nuevas aristas. 3. Los puntos medios de las nuevas aristas son los puntos c2 i. Este esquema fue introducido en [Sabin 86] y se ilustra en la Figura 17.11. Su aplicaci on a mallas de control arbitraria se estudia en [Peters & Reif 97] .
Figura 17.11: Un esquema elemental de subdivisi on. 11 Deduzca el algoritmo de subdivisi on para supercies half-box para un m etricamente o arbitrario. Vea la Observaci on 11 de 17.9. Trabaje geom anal ticamente.
18 Simplex splines
18.1 Sombras de simples 18.2 Propiedades de los simplex splines 18.3 Simon de nodos 18.5 Una relaci on de plex splines normalizados 18.4 Inserci recurrencia 18.6 Derivadas 18.7 Ejercicios
en pueden construirse proyecLos B-splines introducidos en el Cap tulo 5 tambi tando simples sobre el eje real. Concretamente, un B-spline es la funci on densidad de la sombra de un simplex. Esta interpretaci on geom etrica fue descubierta por Schoenberg en 1965 y Carl de Boor [de Boor 76b] la utiliz o para denir spline multivariados en 1976. Esta interpretaci on tambi en permite una presentaci on m as natural de las propiedades recursivas y de suavidad de la inserci on de nodos y de la elevaci on de grado.
18.1
Sombras de simples
Para construir los splines multivariados empleamos la proyecci on de I Rk en s I R dada por [x1 . . . xk ]t = [x1 . . . xs ]t . Para cada x I Rs 1 x = {z I Rk | z = x} ,
se denomina bra de . Las bras son subespacios k s dimensionales paralelos de I Rk . Si p0 , . . . , pk son k + 1 puntos independientes de I Rk , entonces su c apsula convexa se denomina simplex. La sombra de en I Rs con respecto a dene un simplex spline s-variado, el cual est a dado por M (x) = volks ( 1 x) . La Figura 18.1 y 18.2 ilustran el caso k = 3, cuando s = 2 y s = 1, respectivamente.
260
Figura 18.1: La sombra de un tetraedro sobre un plano. Note que M (x) es el volumen k s dimensional de una rodaja de .
En particular si k = s, entonces M es la funci on carcacter stica de , la cual est a denida por M (x) = (x) = 1 0 si x en caso contrario ,
18.2
Claramente cualquier simplex spline M es no negativo y su soporte es la proyecci on del simplex . Adem as M es continuo sobre su soporte y si se hace cero sobre la frontera, entonces es continuo sobre I Rs . Los v ertices pi de se proyectan en los puntos ai = pi , denominados nodos de M . La c apsula convexa de cualesquiera m nodos se denomina m-nodo. En particular, es un (k + 1)-nodo, y cualquier k -nodo de dimensi on s 1 de yace en su frontera. Es m as, M es continuo en todo I Rs excepto posiblemente en un k -nodo de dimensi on s 1.
261
Figura 18.2: La sombra de un tetraedro sobre una recta. Para la prueba, supongamos que a1 , . . . , am determinan un m-nodo de dimensi on s 1 que yace en la frontera de = suppM . Supongamos adem as que la c apsula af n de este m-nodo no contiene a ning un otro nodo. Sea el simplex correspondiente dado por p1 . . . pm . Entonces, como yace en la frontera de , se tiene que para cada x 1 x = 1 x . Como 1 x es (m 1) (s 1) = m s dimensional, entonces M (x) no se anula sobre si y s olo si m = k . 3 Los s-nodos (no degenerados) particionan el soprte de M . Esto se ilustra en la Figura 18.3 para k = 4 y s = 2.
Figura 18.3: Nodos de soporte y 2-nodos de un simplex spline cuadr atico bivariado. Veremos que M restringido a cada tesela de esta partici on es un polinomio de grado total k s y que M es continuamente diferenciable k m 1 veces sobre cada s-nodo cuya c apsula af n contiene m nodos. Entonces si los nodos est an en posici on general, se tiene que M es diferenciable k s 1 veces. Observaci on 1: Para cada funci on continua f denida sobre I Rs se tiene I Rs M (x)f (x)dx =
f ( y)dy .
262
Por lo tanto M tambi en se puede denir requiriendo que esta ecuaci on se satisfaga para todo f . V ease [Micchelli 80] y tambi en la Observaci on 1 de 17.2.
18.3
De acuerdo a nuestra denici on un simplex spline s-variado M depende de un simplex de dimensi on k . A continuaci on veremos que M realmente s olo depende de sus nodos en I Rs . Sea otro k -simplex tal que sus nodos (es decir, las proyecciones de sus v ertices sobre I Rk ) coinciden con los nodos pi de , entonces la aplicaci on af n que env a sobre , satisface = . Por lo tanto la imagen por de una rodaja x = 1 x coincide con x = 1 x.
Cualesquiera dos rodajas x y y son paralelas, por lo tanto la raz on de sus vol umenes se preserva bajo , lo cual implica que las razones M (x) : M (y) = M (x) : M (y)
y M (x) : M (x) = M (y) : M (y) son constantes para todo x. Como M (x)dx = volk , I Rs podemos concluir que el simplex spline normalizado M (x|a0 . . . ak ) = M (x)/volk depende solamente de los nodos a0 , . . . , ak y no depende del k -simplex . Observaci on 2: La integral de un simplex spline normalizado es uno, I Rs M (x|a0 . . . ak )dx = 1 .
Observaci on 3: Las propiedades de suavidad establecidas en 18.2 caracterizan un simplex spline univariado M (x|a0 . . . ak ) como un m ultiplo de un B-spline ordinario N (x|a0 . . . ak ) sobre los mismos nodos, vea 5.4. Por lo tanto, se desprende del Ejercicio 2 de 5.12 que M (x|a0 . . . ak ) = k N (x|a0 . . . ak ) , ak a0
263
18.4
Inserci on de nodos
La f ormula de inserci on de nodos para B-splines univariados presentada en 6.1 corresponde a una subdivisi on del simplex generador y se puede generalizar f acilmente. Como antes, denotamos por el simplex de v ertices p0 . . . pk y ai = pi son los nodos correspondientes en Rs . Sea
k k
ak+1 =
i=0
i ai ,
1=
i=0
i ,
que yace en I Rk . Si k > s los pesos i no est an un vocamente determinados por ak+1 . Finalmente, denotamos por i el simplex p0 . . . p i . . . pk+1 , donde el asterisco denota la ausencia del v ertice correspondiente. En particular lo anterior implica que k+1 = y se tiene que los otros simples: 0 , . . . k forman una partici on del simplex de manera que la siguiente suma de los splines Mi coincide con M , esto es
k
M =
i=0
(signi )Mi .
En la Figura 18.4 se ilustran dos ejemplos, uno para k = 2 y otro para k = 3. En el caso k = 2, M = M1 + M2 M0 , y para k = 3, M = M 0 + M 1 + M 2 + M 3 .
Figura 18.4: Subdivisi on de un tri angulo y de un tetraedro. Para la prueba considere un punto y = i pi y sean k+1 = 0 y k+1 = 1. Entonces, para cualquier I R se tiene la ecuaci on
k+1 i=0
y=
(i i )pi .
264
En particular, para = j = j /j , los pesos i j i son las coordenadas baric entricas de y con respecto a j . Es m as, y yace en el interior del simplex j si y s olo si todos los pesos i j i , j = i, son positivos. Si j = k entonces y yace en la frontera com un de j y k . Supondremos que este no es el caso. Como los pesos i i son mon otonos en y existen coecientes i tanto positivos como negativos, entonces existe a lo sumo un intervalo no vac o (j , k ) sobre el cual todos los pesos i i son positivos. Por lo tanto, y no pertenece a ning un simplex o yace en exactamente dos simples j y k , caso en el cual j y k tienen signos opuestos. Vea la Figura 18.5.
Figura 18.5: Los pesos i i . Entonces la funciones caracter sticas de los splines satisfacen 0 = (sign0 )0 + + (signk )k k+1 sobre I Rk sin incluir las caras de dimensi on inferior de i . Esto implica que M = sign0 M0 + + signk Mk y concluye la prueba. 3 Si se normaliza la expresi on anterior obtenemos la f ormula de inserci on de nodos
k
(1)
M (x|a0 . . . ak ) =
i=0
i M (x|a0 . . . a i . . . ak+1 )
para todo x donde los splines considerados son continuos. Vea [Micchelli 80] en que el lado derecho de la f ormula de y los Ejercicios 2 y 3. Observe tambi inserci on de nodos es una combinaci on af n.
265
18.5
Si el nuevo nodo insertado ak+1 coincide con x, entonces la f ormula de inserci on (1) de 18.3 se transforma en una representaci on del simplex spline en x como una combinaci on af n de simplex splines, con x como un nodo, espec camente
k
M (x|a0 . . . ak ) = donde x = i ai y 1 = i .
i=0
i M (x|x a0 . . . a i . . . ak ) ,
Esto conduce a una f ormula recursiva pues los simplex splines del lado derecho tienen grado m as bajo. Por ejemplo, sea 0 el simplex de v ertices p p1 . . . pk en I Rk con sombra M0 (x) = M (x|x a1 . . . ak ) , donde p, p1 , . . . , pk son los nodos x, a1 , . . . , ak . Suponemos que el simplex base , denido por los v ertices p1 , . . . , pk yace en el hiperplano ortogonal a las bras de la proyecci on . Por lo tanto, si h denota la distancia eucl dea entre p y , entonces se tiene volk 0 = y volks (0 1 x) = 1 h volk1 k
Figura 18.6: C alculo de los vol umenes de 0 y 0 1 x. Dividiendo la segunda de estas ecuaciones por la primera, obtenemos M (x|x a1 . . . ak ) = k M (x|a1 . . . ak ) . ks
266
i M (x|a0 . . . a i . . . ak ) ,
Esta relaci on representa un simplex spline con k + 1 nodos como una combinaci on lineal de los simplex spline de k nodos. V ease [Micchelli 80]. Como los pesos i dependen linealmente de x, la aplicaci on repetida de esta relaci on de recurrencia implica que un simplex spline s-variado con k + 1 nodos es polin omico por trozos de grado total k s. Observaci on 4: Comparando las relaciones de recurrencia para simplex splines y polinomios de Bernstein (vea 10.1), se observa que un simplex spline s-variado con solamente s + 1 distintos nodos es un polinomio de Bernstein, es decir donde = (i0 . . . is ), k = i0 + + is + s, denota el simplex a0 . . . as y el vector columna de coordenadas baric entricas de x con respecto a . Vea la Figura 18.7.
0 +1 s +1 M (x|a0 i. . . a0 . . . as i. . . as ) =
k s
vols
B ks () ,
Figura 18.7: Polinomios de Bernstein cuadr aticos. Observaci on 5: Aplicando repetidamente la relaci on de recurrencia (2) se puede demostrar que cada segmento polin omico de un B-spline multivariado depende continuamente de los nodos ai .
18.6
Derivadas
18.6. Derivadas
267
donde x0 = i pi con i = 1, representa un punto y v = i pi con i = 0, representa un vector en I Rs . Derivando un B-spline s-variado M (x|a0 . . . ak ) con respecto a t obtenemos la derivada direccional en x . La derivada direccional puede ser con respecto a v, la cual se denota por M expresada en t erminos de B-splines Mi = M (x| a0 . . . a i . . . ak ), (3) =k M i M i . Para la prueba, supondremos primero que k = s + 1. Entonces la relaci on (3) se obtiene derivando la relaci on de recurrencia de Micchelli de 18.5. Si k es mayor que s + 1, consideramos los puntos a0 . . . ak como las proyec0 , . . . , a k en ciones bajo : [x1 . . . xk1 ]t [x1 . . . xs ]t de ciertos puntos a I Rk1 . Se obtiene x k 0 . . . a k )dy . .s . .1 (4) M (x|a0 . . . ak ) = M( |a y I R I R Como M (x|a0 . . . ak ) tiene derivadas continuas por la derecha y por la izquierda, se pueden derivar ambos lados de la identidad e intercambiar el s mbolo integral y la derivada. Esto conduce a d d x k 0 . . . a k )dy . |a .s . .1 M (x|a0 . . . ak ) = M( y dt dt I R I R on para M Aplicando (3) al integrando y usando (4) se obtiene la expresi dada por (3). 3 La diferenciaci on repetida de la derivada r- esima de un B-spline s-variado M (x|a0 . . . ak ) se puede expresar como una combinaci on lineal de B-splines con k +1 r nodos ai . Estos splines son continuos sobre cualquier s-nodo cuya c apsula af n no contiene m as de k r 1 nodos. Por lo tanto, M (x|a0 . . . ak ) es continuamente diferenciable k m 1 veces sobre cualquier s-nodo cuya c apsula af n no contiene m as de m nodos. Observaci on 6: Derivando la relaci on de recurrencia de Micchelli (2) de 18.5 se obtiene k = k i) . M (i Mi + i M k s i=0 Por (3) esto es equivalente a la f ormula = M k 1 M+ ks ks
k
i , i M
i=0
lo cual se puede transformar en la relaci on de recurrencia para la derivada [Micchelli 80] d k M (x|a0 . . . ak ) = dt ks1
k
i
i=0
d M (x|a0 . . . a i . . . ak ) . dt
268
18.7
Ejercicios
1 det (k s)! q0 1 ... ... q k s 1
1 El volumen de un simplex q0 . . . qks en I Rks est a dado por volks [q0 . . . qks ] = .
Utilice esta f ormula para deducir a partir de la denici on en 18.1 que un simplex spline s-variado con k + 1 nodos es polin omico por trozos de grado k s. alida tambi en 2 Demuestre que la f ormula de inserci on de nodos de 18.4 es v en la frontera de la c apsula convexa [a a0 . . . ak ] inclusive en el caso cuando alguno de los splines involucrados no son continuos en esta. 3 Deduzca la f ormula de inserci on de nodos para B-splines univariados a partir de la f ormula general (1) de 18.4. 4 Deduzca la relaci on de recurrencia para B-splines univariados a partir de la f ormula general (2) de 18.5. 5 Un simplex p1 . . . pk en I Rk y una direcci on v denen un prisma. Esta es la c apsula convexa de sus 2k v ertices pi y qi = pi +v , i = 1, . . . , k. Demuestre que los k simples q1 . . . qi pi . . . pk , para i = 1, . . . , k tienen el mismo volumen y forman una partici on del prisma. Vea la Figura 18.8.
v v p1 v p2 Figura 18.8: Triangulaci on de un prisma. ormula de elevaci on de grado 6 Use el Ejercicio 5 para demostrar la f de Micchelli para B-splines multivariados [Micchelli 79]. M (x|a0 . . . ak ) = 1 k+1
k i=0
p3
M (x|a0 a1 . . . ai ai . . . ak ) .
19 Splines multivariados
19.1 Generalizaci on del algoritmo de de Casteljau 19.2 B-polinomios y Bon lineal 19.4 Derivadas de un B-parche 19.5 Bparches 19.3 Precisi splines multivaridos 19.6 Combinaciones lineales de B-splines 19.7 Una relaci on de recurrencia 19.8 Derivadas de un spline 19.9 El teorema fundmental 19.10 Ejercicios
El algoritmo de de Boor es una generalizaci on del algoritmo de de Casteljau y los B-splines univariados generalizan a los polinomios de Bernstein. De manera similar se puede generalizar el algoritmo de de Casteljau para polinomios de varias variables a splines multivariados. Las funciones base subyacentes del algoritmo generalizado son los simplex splines, los cuales forman una partici on de la unidad. Estos simplex splines son la generalizaci on adecuada de los B-splines univariados y muchas de las propiedades de estos u ltimos tambi en son v alidas para los simplex splines multivariados.
19.1
Los polinomios de Bernstein restringidos a un simplex pueden ser interpretados como simplex splines con nodos m ultiples. Vea la Observaci on 4 en 18.5. Por lo tanto, el algoritmo de de Casteljau es un caso especial del algoritmo de de Boor para splines univariados. De manera an aloga el algoritmo de de Casteljau para polinomios multivariados tambi en se puede extender [Seidel 91]. La idea se ilustra en las Figuras 19.1 y 19.2 para el caso de un polinomio cuadr atico c(x). Como anterirormente (vea la Figura 11.1) denotamos por x y, la evaluaci on c[x y], de la forma polar correspondiente al polinomio c.
270
La Figura 19.1 ilustra el algoritmo de de Casteljau con respecto al tri angulo 012. A partir de los seis puntos de B ezier c[i j] se calculan los tres puntos intermedios c[j x] y a partir de estos u ltimos se obtiene c(x) = c[x x].
Figura 19.1: El algoritmo de de Casteljau en el caso cuadr atico. La Figura 19.2 esquematiza la generalizaci on: En vez de tres nodos se tiene tres secuencias de nodos 0 0, 1 1, 2 2. A partir de los seis puntos de con ], c[ trol c[0 0], c[ 0 1], c[ 11], c[ 1 2], c[22 2 0] se calculan los tres puntos c[i x] los cuales a su vez determinan c(x) = c[x x].
donde = [i0 . . . is ] n y
n = { | Zs+1 , , i0 + + is = n} . + + s c = n1 0 ,
19.2. B-polinomios y B-parches donde k son las coordenadas baric entricas de x con respecto al simplex
js 0 S = [aj 0 . . . as ]
271
y que los nodos est an en posici on general si todos los simples S son no degenerados. Observaci on 1: Si c(x) es cuadr atico, entonces sus puntos de B ezier b sobre el simplex S satisfacen b
i+ j
=c
i+ j
para todo i = j ,
i+ j
y b i + i yace en el plano generado por los puntos c Figura 19.5 muestra un ejemplo.
, j = 0, . . . , s. La
19.2
B-polinomios y B-parches
La generalizaci on del algoritmo de de Casteljau presentada en 19.1, se puede aplicar a una malla arbitraria de puntos de control c , | | n . En particular, si los puntos de control est an dados por c = 1 0 si = en caso contrario , n ,
los polinomios C n (x), a valores reales, forman una base para el espacio vectorial de polinomios de grado menor o igual que n. De hecho, como el algoritmo de de Casteljau generalizado es lineal en los puntos de control, cualquier polinomio c(x) de grado n se puede representar c(x) =
n
c C n (x) ,
a denido en 19.1. Adem as, como el n umero de polinomios C n donde c est n+s coincide con la dimensi on s del espacio de los polinomios de grado total n, tenemos que estos son linealmente independientes.
on Los polinomios C n , los denominaremos B-polinomios y la representaci anterior de c(x), como una combinaci on lineal de los B-polinomios, se denomina B-parche. De la construcci on anterior se desprenden las siguientes propiedades, similares a las de los polinomios de Bernstein de la Secci on 10.1. Los B-polinomios s-variados de grado n forman una base del espacio vectorial de todos los polinomios de grado total n,
son positivos para todo x del interior de la intersecci on , de todos los simples S , | | n 1, satisfacen la relaci on de recurrencia
s
C n (x) =
k=0
1 k C n k (x) ,
donde k es la k- esima coordenada baric entrica de x con respecto a S C = 0 si tiene alguna coordenada negativa.
La intersecci on de los simples S , n 1, se ilustra en la Figura 19.3 para n = 2 y s = 2. N otese que esta intersecci on podr a ser vac a, lo cual depende de la posici on de los nodos.
Figura 19.3: La regi on sobre la cual todos los B-splines para n = s = 2 son
positivos.
Como los B-polinomios forman una partici on de la unidad, c(x) es una combinaci on af n de los puntos c . Por lo tanto los B-parches son invariantes por transformaciones anes. Es m as, para x , c(x) yace en la c apsula convexa de los B-puntos c pues los B-polinomios son no negativos sobre . Observaci on 2: Si todos los nodos de cada cadena son iguales, es decir, S = S para todo , entonces los B-polinomios C n coinciden con los polinomios de Bernstein B n sobre el simplex S pues ambos conjuntos de polinomios satisfacen la misma relaci on de recurrencia.
19.3
Precisi on lineal
El polinomio identidad c(x) = x, de I Rs , se puede representar com un Bparche de grado n con respecto a los nodos aj i introducidos en 19.1. Como
19.4. Derivadas de un B-parche la forma polar de x es x[x1 . . . xn ] = sus B-puntos son x = 1 0 is 1 0 1 (a + + ai + + a0 ) . s + + as 0 n 0 1 (x1 + + xn ) , n
273
Figura 19.4: La representaci on de la identidad sobre I R2 como B-parche cuadr atico. Similarmente se pueden obtener los B-puntos de cualquier otro polinomio c(x) de grado uno. Como c(x) es una aplicaci on af n, su forma polar est a dada por c[x1 . . . xn ] = c(x[x1 . . . xn ]) . Por lo tanto los B-puntos de c(x) son c = c(x ). Esta propiedad de la representaci on de un polinomio de grado uno como un B-parche se denomina precisi on lineal. Observaci on 3: Una consecuencia importante de la precisi on lineal es que cualquier supercie funcional c(x) de grado n se puede representar como c(x) = x c(x) , donde c(x) = c C n (x) .
Esto es, los B-puntos de c(x) son c = [xt c ]t , tal como se ilustra en la Figura 19.5 para n = s = 2.
19.4
Derivadas de un B-parche
c(x) = c C n (x)
274
Figura 19.5: Un polinomio cuadr atico con sus ordenadas como parche y como
B-parche de B ezier.
dado como un B-spline con respecto a una secuencia de nodos A tiene una representaci on como un B-parche de grado n 1 con respecto a la secuencia de nodos A2 . Esta representaci on depende de los puntos c de una manera elemental. Sea x una direcci on cualquiera de I Rs y denotemos por c (x) = d c(x + tx)|t=0 dt
la derivada direccional de c en la direcci on x en el punto x. Si c[x1 . . . xn ] es el polinomio sim etrico de c(x), entonces la forma polar de c (x) est a dada por c [x2 . . . xn ] = nc[x x2 . . . xn ] , (x) son tal como se present o en 11.6. Por lo tanto los B-puntos de c
i0 1 is 1 nc = nc[x a0 . . . a0 ] , 0 . . . a0 s . . . as
n1 .
x =
k=0
0=
k=0
k ,
c =
k=0
k c
275
Figura 19.6: Las diferencias c . Observaci on 4: Sean x los B-puntos del polinomio identidad p(x) = x con respecto a los nodos ai k . Entonces, podemos pensar en la B-malla de c(x) como una colecci on de parches lineales
s
c (x) =
k=0
k c
n1 ,
sobre los simples x + 0 . . . x + s , donde 0 , . . . , s son las coordenadas baric entricas de x respecto a x + 0 . . . x + s . on x es nc y Como k = nk , la derivada direccional de c (x) en la direcci se tiene que la derivada de la B-malla consiste en los B-puntos de la derivada c (x). Esto se ilustra para una funci on cuadr atica bivariada en la Figura 19.7.
19.5
B-splines multivariados
n1 n1 a0 , . . . , a0 . 0 , . . . , a0 s , . . . , as
Si se agregan s + 1 nodos a0n , . . . , asn demostraremos que los simplex splines normalizados N = vol S s M (x|A ) , ( n+ s ) n ,
276
x = interior (
S) .
0 n
Este resultado fue probado en [Dahmen et al. 92]. Los splines N son B-splines multivariados y tienen propiedades an alogas a las de los splines univariados. De hecho, si s = 1, los B-splines N (x) coinciden con los B-splines univariados denidos en 5.3. Prueba: A partir de la denici on de simplex splines en 18.1 y teniendo en Rs la cuenta la f ormula de recurrencia (2) de 18.5, obtenemos para todo x I siguiente relaci on de recurrencia
0 N (x) = s
1 0
si x S en caso contrario
, ) , j=| | ,
N (x) =
k=0
k donde S k se obtiene a partir de S reemplazando aj k por x. Las orientaciones k 1 y +1 de las secuencias S y S se denotan por y k , respectivamente.
277
N (x) (1)
= =
k=0
s
vol S kek
vol S k N
(x)
k k N
k=0
(x) ,
esima coordenada baric entrica con respecto a S k . Para donde k k es la k - que todos los t erminos est en bien denidos, para jk = 0, convenimos kek (2) N
(x)
)=1
Entonces, si jk = 0, tenemos que N k es un simplex spline sobre la secuencia n un nodo de la k - esima nube a0 de nodos A k , la cual no contiene ning k . . . ak . Su soporte tiene intersecci on vac a con , lo cual probamos a continuaci on. apsula convexa de los nodos A k . Por lo tanto El soporte de N k es la c cualquier punto en el soporte es una combinaci on convexa de ciertos puntos a0 , . . . , a , . . . , a , donde cada a yace en la c a psula convexa de los primeros s i k ji ji + 1 nodos a0 , . . . , a de la i - e sima cadena de nodos. Por lo tanto debemos i i demostrar que cualquier simplex a0 . . . a . . . a no interseca . Como s k est a contenido en todos los simples S , para los cuales , entonces 0 tambi en est a contenido en cualquier simplex a0 a0 1 . . . as . Repitiendo este razonamiento se demuestra que el abierto est a contenido en el simplex a0 . . . as , lo cual implica que y el soporte de N k son disjuntos. Por lo tanto para todo x la recurrencia para los B-splines N coincide con la recurrecia para los B-polinomios C . Luego, N (x) = C (x) para todo x . 3
19.6
Hasta ahora hemos considerado B-splines sobre un complejo de s + 1 cadenas de nodos. Sin embargo, la verdadera utilidad de los B-splines se maniesta cuando consideramos el espacio de splines denidos sobre una partici on de I Rs en complejos de tales cadenas de nodos. ertices de una triangulaci on I Rs y denotemos por K Sean a0 k , k Z, los v s+1 Z el conjunto de ndices para los splines.
0 a0 k 0 . . . ak s ,
= [k0 . . . ks ] K ,
de la triangulaci on. Supongamos adem as que cada uno de estos v ertices j0 js n al simplex a . pertenece a una cadena a0 . . . a , y denotamos por S k k k 0 . . ak s
j0 js 0 a0 k 0 . . . ak 0 . . . ak s . . . ak s ,
0 . . . n1 .
K la intersecci on S
0 n
es no vac a y como en 19.5, denotamos por N denido sobre la cadena de nodos A . Cualquier combinaci on lineal s(x) =
K n
el B-spline multivariado
c N (x)
de los B-splines N conforman una supercie C n1 polin omica por trozos de grado total n si los nodos est an en posici on general. Los coecientes c forman la malla de control de s(x). La Figura 19.8 ilustra el caso n = s = 2. Note que la malla de control no tiene porque ser conexa, pudiendo descomponerse en submallas, una para cada K . Estas son las B-mallas de los segmentos polin omicos s(x), x .
Figura 19.8: La malla de control de un spline cuadr atico bivariado sobre dos
tri angulos.
279
forman una malla conexa, si para cualesquiera dos simples adyacentes S y S , despu es de un cambio adecuado de ndices de manera que 0 k0 = k los puntos de control c i0 = 0. 1 . . . k s ] , y [k1 . . . ks ] = [k , para los cuales
19.7
Si el spline
tiene una malla de control conexa, entonces de la relaci on de recurrencia (1) en se puede expresar como una combide 19.5 se desprende que s(x) tambi as precisamente, naci on de B-splines N de grado | | = n 1. M (3) donde d =
l=0
s(x) =
K n 1
d N (x) ,
l c
, +
y 0 , . . . , s son las coordenadas baric enticas de x respecto a S . Para la prueba aplicamos la relaci on de recurrencia (1) de 19.5 a los B-splines N , obteni endose
s
s(x) =
l=0
l ,
c N
con jl = 1. Veremos que la suma de todos estos t erminos es cero, lo cual nos llevar a a expresi on para s(x), de la ecuaci on (3). Debido a la transformaci on de los ndices es suciente considerar un ndice , para el cual j0 = 1 y = [0 . . . s]. Adicionalmente podemos suponer a tambi en en K . Por lo tanto los simples S 0 y S 0 que = [1 1 . . . s] est tienen orientaciones opuestas, es decir, = .
280
Por aplicaciones sucesivas del argumento usado para deducir (1) se obtiene y consecuentemente 0 = 0 . Como la malla de control es conexa y N 0 c
, +
0
= ,
+ 0 c,
N = 0 ,
19.8
Derivadas de un spline
La relaci on de recurrencia (2) de 18.5 y la f ormula de la derivada (3) de 18.6 para los simplex splines son similares. La f ormula de la derivada, salvo un factor constante, se obtiene diferenciando los pesos de la f ormula de recurrencia, a pesar de que podr a esperarse m as t erminos, debido a la regla del producto. Debido a esto la relaci on de recurrencia (1) de 19.5 para splines multivariados se puede transformar en una f ormula para la derivada. Derivando las coordenadas baric entricas en la prueba de la f ormula de recurrencia de 19.7 se obtiene que, la derivada direccional en la direcci on x de un spline s(x) s(x) =
K
c N (x)
a dada por de grado n = | | con una malla de control conexa est d s(x + tx)|t=0 = n dt donde c =
l=0 s
c N (x) ,
K
l c
, +
y 0 , . . . , s son las coordenadas baric entricas de la direcci on x con respecto al simplex S . V ease tambi en 19.4. Observaci on 5: Como ya se observ o en 19.4 las direcciones c est an relacionadas con las derivadas respecto a x de las mallas de control c (x) de s(x) sobre los simples x , + 0 . . . x , + s .
281
19.9
El teorema fundamental
En esta secci on usamos la notaci on de 19.6 y suponemos que los primeros r r 1 nodos a0 de cada nube de nodos son iguales. Tomando en cuenta k , . . . , ak on de I Rs probaremos que cualquier que los simples S forman una triangulaci funci on polin omica por trozos, con continuidad C nr sobre esta triangulaci on es una combinaci on lineal de los B-splines N . En segundo lugar, expresaremos sus puntos de control en t erminos de las formas polares de sus segmentos polin omicos. Sea s(x) un spline n r veces continuamente diferenciable, tal que sobre cada simplex S coincide con un polinomio s (x) de grado n. Entonces la versi on multivariada del teorema principal de 5.5 tiene la siguiente formulaci on [Seidel 92]: El spline s(x) se puede expresar como (4) s(x) =
K n
s [A
]N (x) ,
donde s [x1 . . . xn ] es la forma polar de s . La prueba de este teorema es por inducci on sobre n r. Si n r = 1, entonces los B-splines N son los polinomios de Bernstein sobre S . V ease on 2 de 19.2. En este caso la identidad (4) se desprende la 19.5 y la Observaci del teorema de 11.2. Supongamos ahora que n r 0 y sea Ds(x) la derivada direcional de s(x) con respecto a un vector x y supongamos que Ds(x) =
K n 1
Ds [A
] = ns [x A
s
= n
l=0
l s [A
, +
] ,
donde 0 , . . . , s son las coordenadas baric entricas de x con respecto a S . Por la Observaci on 7 in 11.7 los puntos de control s [A malla conexa. Entonces 19.8 implica que D s [A
, ,
] forman una
]N
= Ds
Por lo tanto (4) se verica, salvo una constante. Pero como (2) es cierto sobre , (vea 19.4 y 19.5), esta constante es cero, lo cual concluye la prueba. 3
282
=1 .
19.10
Ejercicios
1 Escriba un algoritmo de elevaci on de grado para B-parches. Dada una sen cuencia de cadenas de nodos A = a0 Rs y cualquier polinomio 0 . . . as en I p(x) de grado n, considere las dos representaciones por B-parches p(x) =
n
p C n (x)
y p(x) =
n+1
p C n+1 (x)
con respecto a A y A , respectivamente. Exprese los puntos de control p como combinaciones anes de los puntos p . 2 Encuentre un algoritmo que permita rescribir un spline sobre la trianr 1 gulaci on S , , K , denida en 19.9 con nodos a0 k = = ak , de multiplicidad r, como una combinaci on lineal de B-splines con nodos de r multiplicidad r + 1, a0 = = a . k k 3 Proponga un algoritmo de elevaci on de grado para splines multivariados sobre una triangulaci on de I Rs . Estos splines deben presentarse como combinaciones lineales de B-splines. 4 Encuentre un algoritmo para calcular la representaci on de B ezier de un spline sobre la triangulaci on S , K , denida en 19.9.
n 5 Sea A = [a0 0 . . . as ] la matriz de s +1 cadenas, cada una con n +1 nodos 1 y denotemos por x = n A e, sus abscisas de Greville. V ease la Obseran bien posicionados si vaci on 3 de 19.3. Decimos que los puntos x est todos los simples, x + 0 . . . x + s , n1 tienen interiores disjuntos. Demuestre que los x est an bien posicionados si cualquier nodo a se puede expresar como s
a = a0 +
k=0
k ak0 ,
19.10. Ejercicios
283
donde 0 = 0 + +s y |0 |, . . . , |s | < 1/2. V ease tambi en [Prautzsch 97, Teorema 4.2]. 6 Sea A , n0 = n1 = n2 = 2, una secuencia de nodos con abscisas de Greville bien posicionadas. Demuestre que cualquier polinomio cuadr atico bivariado (a valores en I R2 ) es convexo sobre I R2 si la malla de su Bparche, con respecto a A , es convexa. Vea 10.6 y las Figuras 10.6 y 19.5. R2 con abscisas de Greville bien posi7 Sea A una secuencia de nodos en I cionadas. Demuestre que cualquier polinomio cuadr atico bivariado, a valores en R, es convexo sobre el dominio , denido en 19.5 si su Bmalla con respecto a A es convexa.
284
Bibliograf a
C. Bangert and H. Prautzsch (1999). A geometric criterion for the convexity of Powell-Sabin interpolants and its multivariate extension. Computer Aided Geometric Design, 16(6):529538. R.E. Barnhill and R.F. Riesenfeld, editors (1974). Computer Aided Geometric Design. Academic Press, New York, 1974. W. Boehm (1977). Uber die Konstruktion von B-Spline-Kurven. Computing, 18:161166. W. Boehm (1980). Inserting new knots into B-Spline-Curves. ComputerAided Design, 12(4):199201. W. Boehm (1983). Generating the B ezier points of triangular splines. In R.E. Barnhill and W. Boehm, editors (1983), Surfaces in Computer Aided Geometric Design, pages 7791. Elsevier Science Publishers B.V. (North-Holland), 1983. W. Boehm (1984a). Calculating with box splines. Computer Aided Geometric Design, 1:149162. W. Boehm (1984b). Ecient evaluation of splines. Computing, 33:171177. W. Boehm (1985). Curvature continuous curves and surfaces. Computer Aided Geometric Design, 2:313323. W. Boehm (1987). Smooth curves and surfaces. In G. Farin, editor (1987), Geometric Modeling: Algorithms and New Trends, pages 175 184. SIAM, 1987. W. Boehm, G. Farin, and J. Kahmann (1984). A survey of curve and surface methods in CAGD. Computer Aided Geometric Design, 1(1):1 60. W. Boehm and H. Prautzsch (1993). Numerical Methods. Vieweg, Wiesbaden and AK Peters, Wellesley, Mass. W. Boehm, H. Prautzsch, and P. Arner (1987). On triangular splines. Constructive Approximation, 3:157167.
286
Bibliograf a
C. de Boor (1972). On calculating with B-splines. Journal of Approximation Theory, 6:5062. C. de Boor (1976). Total positivity of the spline collocation matrix. Indiana University Journal Math., 25:541551. C. de Boor (1976a). Splines as linear combinations of B-splines. In Schumaker, Lorentz, Chui, editor (1976a), Approximation Theory II, pages 147. Academic Press, New York, 1976. C. de Boor (1978). A Practical Guide to Splines. Springer, New York. C. de Boor (1984). Splinefunktionen. Research Report 84-05, Seminar f ur angewandte Mathematik, Eidgen ossische Technische Hochschule, Z urich, Switzerland, 1984. C. de Boor (1987). B-form basics. In G. Farin, editor (1987), Geometric Modeling: Algorithms and New Trends, pages 131148. SIAM, Philadelphia, 1987. llig (1982). Recurrence relations for multivariate C. de Boor and K. Ho B-splines. Proceedings of the American Mathematical Society, 85(3). llig, and S. Riemenschneider (1993). Box Splines. C. de Boor, K. Ho Applied Mathematical Sciences 98. Springer, New York. M. do Carmo (1976). Dierential Geometry of Curves and Surfaces. Prentice Hall, Englewood Clis, New Jersey, 1976. J.M. Carnicer and W. Dahmen (1992). Convexity preserving interpolation and Powell-Sabin elements. Computer Aided Geometric Design, 9(4):279290. P. de Faget de Casteljau (1959). Outillage m ethodes calcul. Enveloppe Soleau 40.040, Institute National de la Propriet e Industrielle, Paris. P. de Faget de Casteljau (1985). Formes a poles. In Mathematiques et CAO 2. Hermes Publishing, Paris, 1985. E. Catmull and J. Clark (1978). Recursively generated B-spline surfaces on arbitrary topological meshes. Computer-Aided Design, 10(6):350 355. A.S. Cavaretta, W. Dahmen, and C.A. Micchelli (1991). Stationary subdivision. Memoirs of the American Mathematical Society, 93(453):1186. G.M. Chaikin (1974). An algorithm for high-speed curve generation. Computer Graphics and Image Processing, 3:346349.
Bibliograf a
287
R.W. Clough and J.L. Tocher (1965). Finite element stiness matrices for the analysis of plate bending. In Proceedings of the 1st Conference on Matrix Methods in Structural Mechanics, Wright-Patterson AFB AFFDL TR, pages 515545, 1965. E. Cohen, T. Lyche, and R.F. Riesenfeld (1980). Discrete B-splines and subdivision techniques in computer-aided geometric design and computer graphics. Computer Graphics and Image Processing, 14:87 111. E. Cohen, T. Lyche, and R.F. Riesenfeld (1984). Discrete box splines and renement algorithms. Computer Aided Geometric Design, 1:131 148. E. Cohen, T. Lyche, and L.L. Schumaker (1985). Algorithms for degree raising of splines. ACM Transactions on Graphics, 4(3):171181. M.G. Cox (1972). The numerical evaluation of B-splines. J. Inst. Maths. Applics., 10:134149. H.B. Curry and I.J. Schoenberg (1966). On P olya frequency functions IV: The fundamental spline functions and their limits. J. dAnalyse Math., 17:71107. W. Dahmen and C.A. Micchelli (1983). Translates of multivariate splines. Linear Algebra and its Applications, 217-234. W. Dahmen and C.A. Micchelli (1984). Subdivision algorithms for the generation of box spline surfaces. Computer Aided Geometric Design, 1:115129. W. Dahmen and C.A. Micchelli (1985). On the local linear independence of translates of a box spline. Studia Math., 82:243-262. W. Dahmen, C.A. Micchelli, and H.-P. Seidel (1992). Blossoming begets B-splines built better by B-patches. Mathematics of computation 59, 199:97115. W. Degen (1988). Some remarks on B ezier curves. Computer Aided Geometric Design, 5:259268. A.D. DeRose, R.N. Goldmann, H. Hagen, and S. Mann (1993). Functional composition algorithms via blossoming. ACM Transactions on Graphics, 12:113135. D.W.H. Doo and M.A. Sabin (1978). Behavior of recursive division surfaces near extraordinary points. Computer-Aided Design, 10(6):356 360.
288
Bibliograf a
N. Dyn, J. Gregory, and D. Levin (1990). A buttery subdivision scheme for surface interpolation with tension control. ACM Transactions on Graphics, 9:160169. N. Dyn, J.A. Gregory, and D. Levin (1991). Analysis of uniform binary subdivision schemes for curve design. Constructive Approximation, 7:127147. N. Dyn, D. Levin, and J.A. Gregory (1987). A 4-point interpolatory subdivision scheme for curve design. Computer Aided Geometric Design, 4:257268. N. Dyn and C.A. Micchelli (1988). Piecewise polynomial spaces and geometric continuity of curves. Numerical Mathematics, 54:319337. M. Eck (1993). Degree reduction of B ezier curves. Computer-Aided Design, 10:237251. M. Eck (1995). Least squares degree reduction of B ezier curves. ComputerAided Design, 27 (11):845853. G. Farin (1979). Subsplines u ber Dreiecken. Diss., TU Braunschweig, Germany, 1979. G. Farin (1982). Visually C 2 cubic splines. Computer-Aided Design, 14:137 139. G. Farin (1986). Triangular Bernstein-B ezier patches. Computer Aided Geometric Design, 3(2):83127. G. Farin (2002). Curves and Surfaces for Computer Aided Geometric Design. Morgan Kaufmann Publishers, 5th edition. D. Filip, R. Magdson, and R. Markot (1986). Surface algorithms using bounds on derivatives. Computer Aided Geometric Design, 3(4):295 311. M.S. Floater (1997). A counterexample to a theorem about the convexity of Powell-Sabin elements. Computer Aided Geometric Design, 14:383 385. T.A. Foley and G.M. Nielson (1989). Knot selection for parametric spline interpolation. In T. Lyche and L.L. Schumaker, editors (1989), Mathematical Methods in Computer Aided Geometric Design, pages 261271. Academic Press, Boston, 1989. W. Gordon and R.E. Riesenfeld (1974). B-spline curves and surfaces. In [Barnhill & Riesenfeld 74], pages 95125, 1974.
Bibliograf a
289
T.A. Grandine (1989). On convexity of piecewise polynomial functions on triangulations. Computer Aided Geometric Design, 6(3):181187. J. Gravesen (1997). Adaptive subdivision and the length of B ezier curves. Computational Geometry, 8:1331. J.A. Gregory (1991). An introduction to bivariate uniform subdivision. In D.F. Griffiths and G.A. Watson, editors (1991), Numerical Analysis, pages 103117. Pitman Research Notes in Mathematics, Longman Scientic and Technical, 1991. T.N.E. Greville (1967). On the normalization of the B-splines and the location of the nodes for the case of unequally spaced knots. In O. Shiska, editor (1967), Inequalities. Academic Press, New York, 1967. J. Hoschek and D. Lasser (1992). Grundlagen der geometrischen Datenverarbeitung. B.G. Teubner, Stuttgart, second edition. English translation: Fundamentals of Computer Aided Geometric Design, AK Peters, Wellesley, 1993. R.-Q. Jia (1983). Linear independence of translates of a box spline. Journal of Approximation Theory, 40:158-160. R.-Q. Jia (1985). Local linear independence of the translates of a box spline. Constructive Approximation, 1:175-182. S. Karlin (1968). Total Positivity. Stanford University Press, 1968. W. Klingenberg (1978). A Course in Dierential Geometry. Springer, New York. L. Kobbelt (1994). Iterative Erzeugung glatter Interpolanten. Diss., Universit at Karlsruhe, 1994. L. Kobbelt (2000). 3-Subdivision. Proceedings of SIGGRAPH 2000, Academic Press, New York, pages 103112. L. Kobbelt and H. Prautzsch (1995). Approximating the length of a spline by its control polygon. In T. Lyche M. Dhlen and L.L. Schumaker, editors (1995), Mathematical Methods for Curves and Surfaces, pages 291292, 1995. M.-J. Lai (1991). A characterization theorem of multivariate splines in blossoming form. Computer Aided Geometric Design, 8:513521. J.M. Lane and R.F. Riesenfeld (1980). A theoretical development for the computer generation and display of piecewise polynomial surfaces. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2(1):3546.
290
Bibliograf a
E.T.Y. Lee (1982). A simplied B-spline computation routine. Computing, 29:365373. E.T.Y. Lee (1989). Choosing nodes in parametric curve interpolation. Computer-Aided Design, 21:363370. E.T.Y. Lee (1994). Remarks on an identity related to degree elevation. Computer Aided Geometric Design, 11:109111. W. Liu (1997). A simple, ecient degree raising algorithm for B-spline curves. Computer Aided Geometric Design, 14:693698. C.T. Loop (1987) Smooth subdivision surfaces based on triangles. Master thesis, University of Utah, 1987. D. Lutterkort, J. Peters and U. Reif (1999). Polynomial degree reduction in the L2 -norm equals best Euclidean approximation of B eziercoecients. Computer Aided Geometric Design, 16:607612. M.-L. Mazure and H. Pottmann (1996). Tchebyche curves. In M. Gasca and C.A. Micchelli, editors (1996), Total Positivity and its Applications, pages 187218. Kluwer, 1996. C.A. Micchelli (1979). On a numerically ecient method for computing multivariate B-splines. In W. Schempp and K. Zeller, editors (1979), Multivariate Approximation Theory, pages 211248. Birkh auser, Basel, 1979. C.A. Micchelli (1980). A constructive approach to Kergin interpolation in Rk : multivariate B -splines and Lagrange interpolation. Rocky Mountain Journal of Mathematics, 10(3):485497. C.A. Micchelli and H. Prautzsch (1987). Renement and subdivision for spaces of integer translates of a compactly supported function. In D.F. Griffiths and G.A. Watson, editors (1987), Numerical Analysis, pages 192222. Longman, London, 1987. C.A. Micchelli and H. Prautzsch (1989). Computing curves invariant under subdivision. Computer Aided Geometric Design, 4:321328. D. Nairn, J. Peters, and D. Lutterkort (1999). Sharp, quantitative bounds on the distance between a polynomial piece and its B ezier control polygon. Computer Aided Geometric Design, 16(7):613633. G. Nielson (1974). Some piecewise polynomial alternatives to splines under tension. In R.E. Barnhill and R.F. Riesenfeld, editors (1974), Computer Aided Geometric Design, pages 209235. Academic Press, 1974.
Bibliograf a
291
J. Peters (1991). Smooth interpolation of a mesh of curves. Constructive Approximation, 7:221246. J. Peters (1994). Evaluation and approximate evaluation of the multivariate Bernstein-B ezier form on a regularly partitioned simplex. ACM Transactions on Mathematical Software, 20(4):460480. J. Peters and U. Reif (1997). The simplest subdivision scheme for smoothing polyhedra. ACM Transaction on Graphics, 16(4):420431. L. Piegl and W. Tiller (1994). Software-engineering approach to degree elevation of B-spline curves. Computer-Aided Design, 26(1):1728. B. Piper (1987). Visually smooth interpolation with triangular B ezier patches. In G. Farin, editor (1987), Geometric Modeling: Algorithms and New Trends, Philadelphia, pages 221233. SIAM, 1987. H. Pottmann (1993). The geometry of Tchebychean splines. Computer Aided Geometric Design, 10:181210. H. Pottmann and A.D. DeRose (1991). Classication using normal curves. Curves and Surfaces in Computer Vision and Graphics 2, 1610:217228. M.J.D. Powell (1981). Approximation theory and methods. Cambridge University Press. M.J.D. Powell and M.A. Sabin (1977). Piecewise quadratic approximations on triangles. ACM Transactions on Mathematical Software, 3(4):316325. H. Prautzsch (1984a). Degree elevation of B-spline curves. Computer Aided Geometric Design, 1:193198. H. Prautzsch (1984b). Unterteilungsalgorithmen f ur multivariate Splines Ein geometrischer Zugang. Diss., TU Braunschweig, 1984. H. Prautzsch (1989). A round trip to B-splines via de Casteljau. ACM Transactions on Graphics, 8(3):243254. H. Prautzsch (1997). Freeform splines. Computer Aided Geometric Design, 14:201206. H. Prautzsch (1998). Smoothness of subdivision surfaces at extraordinary points. Advances in Computational Mathematics, 9:377389. H. Prautzsch (2002). Preprint, 2002. B-splines with arbitrary connection matrices.
H. Prautzsch and W. Boehm (2002). Box Splines. In Kim et al, editor (2002), Handbook of Computer Aided Design, Elsevier, 2002.
292
Bibliograf a
H. Prautzsch and B. Piper (1991). A fast algorithm to raise the degree of spline curves. Computer Aided Geometric Design, 8:253265. H. Prautzsch and U. Reif (1999). Degree estimates for C k -piecewise polynomial subdivision surfaces. Advances in Computational Mathematics, 10:209217. L. Ramshaw (1987). Blossoming: a Connect-the-Dots Approach to Splines. Technical report, Digital Systems Research Center, Palo Alto, California, June 21, 1987. U. Reif (1993). Neue Aspekte in der Theorie der Freiform achen beliebiger Topologie. Diss., Mathematisches Institut A der Universit at Stuttgart, 1993. U. Reif (1995a). A note on degenerate triangular B ezier patches. Computer Aided Geometric Design, 12:547550. U. Reif (1995b). A unied approach to subdivision algorithms near extraordinary vertices. Computer Aided Geometric Design, 12:153174. U. Reif (1996). A degree estimate for subdivision surfaces of higher regularity. Proc. of the AMS, 124(7):21672174. U. Reif (1998). TURBS - Topologically unrestricted rational B-splines. Constructive Approximation, 14(1):5778. U. Reif (2000). Best bounds on the approximation of polynomials and splines by their control structure. Computer Aided Geometric Design, 17:579589. G. de Rham (1947). Un peu de math ematiques ` a propos dune courbe plane. Elemente der Mathematik, 2(4):89104. V.L. Rvachev (1990). Compactly supported solutions of functional dierential equations and their applications. Russian Math. Surveys, 45:87 120. M.A. Sabin (1977). The use of piecewise forms for the numerical representation of shape. PhD thesis, Hungarian Academy of Science, Budapest, 1977. M.A. Sabin (1986). Recursive subdivision. In Gregory, editor (1986), The Mathematics of Surfaces, Claredon Press, Oxford, England, pages 269-282. P. Sablonniere (1978). Spline and B ezier polygons associated with a polynomial spline curve. Computer-Aided Design, 10:257261.
Bibliograf a
293
R. Schaback (1993). Error estimates for approximations from control nets. Computer Aided Geometric Design, 10:5766. I.J. Schoenberg (1967). On spline functions. In O. Sischa, editor (1967), Inequalities, pages 255291. Academic Press, New York, 1967. I.J. Schoenberg and A. Whitney (1953). On P olya frequency functions, 3: The positivity of translation determinants with applications to the interpolation problem by spline curves. TAMS, 74:246259. L.L. Schumaker (1973). Constructive aspects of discrete polynomial spline functions. In G.G. Lorentz et al, editor (1973), Approximation Theory, pages 469476. Academic Press, New York, 1973. L.L. Schumaker (1981). Spline functions Basic theory. John Wiley & Sons, New York. H.-P. Seidel (1989). Computing B-spline control points. In W. Strasser and H.-P. Seidel, editors (1989), Theory and Practice of geometric modeling, pages 1732. Springer, Berlin, 1989. H.-P. Seidel (1991). Symmetric recursive algorithms for surfaces: B-patches and the de Boor algorithm for polynomials over triangles. Constructive Approximation, 7:257279. H.-P. Seidel (1992). New algorithms and techniques for computing with geometrically continuous spline curves of arbitrary degree. Mathematical Modelling and Numerical Analysis, 26(1):149176. P. Shenkman, D. Dyn, and D. Levin (1999). Normals of the buttery subdivision scheme surfaces and their application. Journal of Computational and Applied Mathematics, 102(1):157180. rk (1976). Mehrfach dierenzierbare B E. Sta ezier-Kurven und B ezierFl achen. Diss., TU Braunschweig, 1976. W. Trump (2001). Neue Algorithmen zur Graderh oung und Umparametrisierung von B ezier- und B-Spline-Darstellungen. Diss., Universit at Karlsruhe, 2001. W. Trump and H. Prautzsch (1996). Arbitrary degree elevation for simplicial B ezier polynomials. Computer Aided Geometric Design, 13:387 398.
Indice
A-marco, 37 generalizado, 95 abscisas de Greville, 70, 80, 282 de B ezier, 21, 146 anes invariante bajo aplicaciones, 69 anmente independientes, 4 invariante, 129, 144, 245, 253 af n aplicaci on, 5 combinaci on, 5, 129, 144 coordenadas, 4 en cada variable, 25, 130, 155 espacio, 3 osculantes, 102 ajuste por m nimos cuadrados, 53 algoritmo de Aitken, 46 de Catmull-Clark, 226 de de Boor, 63, 66, 78 extendido, 70 generalizado, 67, 106 de de Casteljau, 13, 131, 132, 146 estabilidad num erica, 14, 146 generalizaci on, 158, 269, 270 de Doo-Sabin, 226 de inserci on de nodos, 101, 107 de la mariposa, 222, 235 de Lane-Riesenfeld, 30, 111, 206, 216, 226
de Oslo, 79 de promediaci on en tres direcciones, 220 de subdivisi on estacionaria, 109 esquema de promedios, 214 para la elevaci on de grado, 81 aplicaci on caracter stica, 232 del esquema de subdivisi on, 232 lineal subyacente, 5 aproximaci on, 43, 52 aproximante, 52 Arner, 216 autointersecciones, 41 B-malla, 278 B-parche, 271 derivada, 273 B-polinomio, 271 B-punto, 270 B-spline, 60, 62, 276 como diferencias divididas, 74 conversi on a la representaci on, 69 de grado n, 68 derivada, 69 discretos, 79 escalados, 110 f ormula de recursi on, 64, 111 gamma, 96 propiedades de suavidad, 67 recursi on de de Boor, 69 representaci on por, 59
296 t ecnica, 77 trasladados, 110 una denici on recursiva, 62 uniformes, 109 Bangert, 177 base, 68, 143 de -splines, 96 polin omica de Newton, 46 blossom, 26, 156 Boehm, 72, 75, 78, 79, 93, 95, 97, 100, 108, 216, 217, 256, 257 de Boor, 31, 39, 56, 61, 63, 64, 66, 67, 69, 70, 7476, 79, 85, 106, 165, 249, 256, 259 Box spline sobre mallas triangulares, 217 box spline, 218, 239 como sombras, 240 denici on, 239 densidad de la sombra, 240 subdivisi on de superces, 246 supercie, 245 c alculo con esquema de diferencias, 212 con esquema de promedios, 214 c apsula convexa, 64, 69, 245, 272 cadena de nodos, 277 caja de acotaci on, 13, 33 cara de dimensi on inferior, 144 de la malla de B ezier, 144 do Carmo, 99 Carnicer, 177 de Casteljau, 131, 132, 156, 158 Catmull, 225, 226 Cavaretta, 213 centro del soporte, 246 Chaikin, 112 Clark, 225, 226 Clough, 170 Cohen, 79, 81, 248 combinaci on af n, 129, 144
Indice convexa, 12, 14, 64, 145, 245 conexi on C r simples, 36, 162 G1 , 179 Gk , 190 Gk usando curvas transversales, 191 la regla de la cadena, 192 de dos parches triangulares c ubicos, 181 general C 1 , 179 general C k , 189 general GC r , 92 geom etrica G1 , 179 simple C r , 135 construcci on de St ark, 37, 60 geom etrica de un box spline, 241 recursiva, 110 construcci on Gk , 189 contacto de orden r, 92 continuidad de Frenet, 99 de superces obtenidas por subdivisi on, 231 convergencia bajo subdivisi on, 29, 159, 249 por elevaci on de grado, 39, 83, 164 por inserci on de nodos, 80 teorema para C r -subdivisi on, 116 uniforme, 115 conversi on a la forma monomial, 22 a la representaci on B-spline, 69 a la representaci on de B ezier, 20 a la representaci on tensorial de B ezier, 166 a la representaci on triangular de B ezier, 167
Indice de forma de B ezier a forma monomial, 131 de forma monomial a forma de B ezier, 131 entre las representaciones de de Boor y de B ezier, 72 convexa c apsula, 5, 8, 12, 64, 69, 145, 272 combinaci on, 5, 12, 14, 64, 145, 245 convexidad, 148, 152 limitaciones, 150 convoluci on, 109 de N j 1 con N 0 , 110 sucesiva, 239 coordenadas baric entricas, 4, 141 extendidas, 3 origen del sistema de, 4 Cox, 62, 69, 7476 c ubica plana c uspide, 23 Curry, 66 curva borde, 128 convexa, 35 Frenet continua de orden r, 99 funcionales, 7 normal, 106 par ametrica, 6 polin omica, 6 derivada, 35 suaves, 91 curva de B ezier, 11 recta tangente, 16, 18 curvatura, 99 de una c ubica, 49 invariante euclideano, 100 prescrita, 56 curvatura continua segmentos conectados por, 94 c rculos tangentes, 107 Dahmen, 177, 213, 245, 248, 276
297 Degen, 93 densidad de la sombra, 240, 252 derivada, 15, 114, 133, 147, 266 r- esima, 18 de un B-parche, 273 de un polinomio de Bernstein parciales, 147 de un producto tensorial, 133 de un spline, 114 suavidad, 67 direccional, 161, 267, 273 de un box spline, 243, 246 de un half-box spline, 252, 253 en la representaci on de B ezier, 16 parcial, 36 DeRose, 167 desplazamientos uniformes, 40 diferencia dividida, 47, 74 hacia adelante, 15, 16 hacia atr as, 67 dimensi on, 4 distribuci on polihipergeom etrica, 39 Doo, 225, 226 Dyn, 105, 118, 120, 222 Eck, 38 ecuaci on de correlaci on, 54 de renamiento, 114, 117, 206, 212 funcional de un box spline, 242 normales, 54 normales de Gauss, 54 elemento de Zwart-Powell, 244 elevaci on de grado, 38, 69, 163 esquema de diferencias, 115 c alculo con, 117, 212 polinomio caracter stico, 213 de las -diferencias, 213 v de los cuatro puntos, 118, 119
298 de producto tensorial, 206, 213 de promediaci on, 257 de promedios, 214 algoritmo, 214 de subdivisi on aplicaci on caracter stica, 232 polinomio caracter stico, 213 s mbolo, 213 de subdivisi on estacionaria de mallas hexagonales, 234 de mallas triangulares, 234 de una malla regular, 205 del punto medio, 225, 226, 236 general de subdivisi on, 207 iterativo interpolante, 118 tetra edrico, 19, 71, 73 triangular, 11, 64 esquina del parche, 128 extraordinaria, 139 expansi on binomial, 9 de Taylor de un segmento de spline, 71 en una supercie triangular, 153 trinomial, 141 f ormula de elevaci on de grado, 39, 82, 268 de Micchelli, 268 de Frenet, 98 de Hermite-Genocchi, 56 de inserci on de nodos, 264 de recurrencia de polinomios de Bernstein, 10 de recursi on de polinomios de Bernstein, 63, 143 Farin, 39, 40, 52, 93, 94, 162 bra, 259 Filip, 31
Indice Floater, 177 Foley, 52 forma polar, 65, 156 asociada, 26 del producto tensorial, 130 diagonal, 25 simetr a, 25 tensorial, 130 funci on caracter stica, 260 de conexi on, 179 de densidad, 239 error de Gauss, 56 generatriz, 212 gr aco de una, 6 potencial truncada, 74 racional, 180 racional por trozos, 105 -A-marco, 95 -spline, 95, 108 Goldman, 167 Gordon, 65 gracaci on programa de, 30 Grandine, 151 Gravesen, 41 Gregory, 118, 222 Hagen, 167 half-box spline, 251 normalizados, 251 supercies, 253 Half-box splines sobre mallas triangulares, 221 Hoschek, 52 H ollig, 249, 256 identidad de Marsden, 70, 75 inserci on de nodos, 77, 105, 263 repetida de nodos, 78 integral de una curva polin omica, 19 intercambio
Indice entre formas monomial y de B ezier, 131 interpolaci on, 43, 84, 169 C 1 bic ubica por trozos, 136 con splines c ubicos, 86 de Hermite, 48, 169 c ubica por trozos, 50 de Hermite para curvas en representaci on de B ezier, 140 de Lagrange, 44 de Newton, 46 lineal, 4 lineal, esquema, 52 tensorial, 136 interpolador de Clough-Tocher, 170 de Hermite, 194 de Powell-Sabin, 171 triangular G1 , 183 interpretaci on geom etrica, 251 intersecci on, 32 de dos curvas de B ezier, 32 programa de, 33 invariantes geom etricos, 99 jets de orden r, 92 Jia, 245 Karlin, 85 Kobbelt, 41, 119, 213 Lai, 163 Lane, 30, 111, 206, 226 Lasser, 52 Lee, 52, 72, 82 Levin, 118, 222 linealmente independientes, 9, 142 linearizaci on, 55 Liu, 81 longitud de arco, 41, 94 parametrizaci on por, 94 longitud de cuerdas, 52 Loop, 235 Lutterkort, 38 Lyche, 79, 81, 248
299
m ascara, 207, 256 m etodo de Horner, 14 simplex, 53 macroparche, 198 malla conexa, 279 cuadrilateral, 193, 215 de topolog a arbitraria, 138 cuadrilateral no regular, 137 cuadrilateral regular, 136 de control, 278 secuencia, 209 de cuasi control, 140 de B ezier, 128, 144, 196 extraordinaria, 226 hexagonal, 219, 234 hexagonal regular, 254 regular, 215 subdivisi on repetida, 160 triangular, 215, 234 subdivisi on, 215 Mann, 167 Manseld, 62, 69, 7476 marco, 4 de Frenet, 98 matriz caracter stica, 220 de colocaci on, 84 totalmente positiva, 85 de conexi on, 92, 99 arbitraria, 104 totalmente positiva, 105 de subdivisi on, 114, 205, 230 estoc astica, 230 Mazure, 103 Micchelli, 82, 105, 213, 230, 235, 245, 248, 262, 264, 267, 268 microtri angulo, 170 multiaf n polinomios sim etricos, 27
300 -splines, 97 Nairn, 29 Nielson, 97 m-nodo, 260 nodos, 59, 260 algoritmo de inserci on, 101, 107 cadenas, 270 convergencia por inserci on, 80 eliminaci on para B-splines, 79 f ormula de inserci on, 264 inserci on, 77, 105, 263 inserci on repetida, 78 m ultiples, 103 multiplicidad de, 68 nubes, 270 renamiento, 77 notaci on vectorial, 131 operador de Bernstein, 23, 40, 152 de diferencia, 153 de duplicaci on, 206, 216, 219 de promediaci on, 206, 216, 225 de renamiento, 206, 217, 225 del punto medio, 226 ordenadas de B ezier, 21, 146 origen del sistema de coordenadas, 4 osculante, 101 af n, 102 diagonal, 101 generalizado, 105 primer, 101 propiedades, 101 segundo, 101 simetr a, 101 osculante generalizado diagonal, 105 par ametro de dise no, 118 global, 11, 128, 142 local, 11, 128, 142 parametrizaci on centr peta, 52
Indice equidistante, 51 por longitud de arco, 94 regular, 94 singular, 137, 173 standard, 229 parches multilaterales en el plano, 200 paridad el problema, 185 partici on de la unidad, 10, 65, 68, 143, 245, 253, 272, 282 partici on de prisma, 268 Peters, 38, 161, 186, 258 Piegl, 81 Piper, 81 plano osculador, 16, 18 tangente, 134, 138, 148 continuo, 174 poliedro de B ezier, 148 convexos, 150 polinomio caracter stico del esquema de diferencias, 118, 213 de subdivisi on, 117, 213 de Bernstein, 9, 141, 266, 272 derivada de un, 15 derivadas parciales, 147 f ormula de recurrencia, 10, 63, 143 multivariados, 142 propiedades, 9 propiedades de simetr a, 144 propiedades en dimensi on d, 142 ra ces, 10 simetr a, 10, 12, 143 de Hermite, 48 de Lagrange, 44, 126 de Laurent, 117 sim etrico, 25, 101, 155 de la derivada, 161 elementales, 26, 156 multiaf n, 102 relaci on de recurrecncia, 26
Indice pol gono convexo, 35 de control, 101 de diferencias, 115 de B ezier, 11 de B ezier compuesto, 29, 37 Pottmann, 103 Powell, 84 p-parche, 198 Prautzsch, 40, 41, 61, 75, 81, 89, 103, 165, 177, 198, 203, 216, 230, 233, 235, 236, 246, 247, 283 precisi on bilineal de representaci on de B ezier, 132 precisi on lineal, 21, 145, 146, 246, 254, 273 primer hod ografo, 15 primera diferencia hacia atr as, 67 prisma partici on de, 268 problema de la paridad, 185 del v ertice compartido, 184 producto tensorial, 125 esquema, 206, 213 programaci on lineal, 57 promedios crecientes, 211 propiedad de variaci on decreciente, 88 puntos de control, 64, 66, 105, 126, 245, 249, 253 de cuasi control, 140 de B ezier, 11, 128, 144 dependientes, 199 extraordinarios, 227 libres, 199 Ramshaw, 26, 81, 156 raz on simple, 4 recorte de esquinas, 34 recursi on de de Boor, 69
301 reducci on de grado, 38 renamiento uniforme, 145 regla de Leibniz, 76 Reif, 29, 38, 138, 174, 202, 203, 225, 232, 234, 258 relaci on de recurrencia, 143, 156 de B-polinomios, 272 de Micchelli, 266, 267 de polinomios sim etricos, 26 f ormula para B-splines, 64 para box splines, 256 para la derivada del simplex spline, 267 reparametrizaci on, 190 representaci on de B ezier, 9, 11, 127, 143, 152, 157 de parches triangulares, 141 del spline, 79 monomial, 20 residual m nimo, 53 de Rham, 112 Riemenschneider, 249 Riesenfeld, 30, 65, 79, 111, 206, 226, 248 Rvachev, 120 Sabin, 162, 171, 225, 226, 251, 258 Sablonniere, 71, 72 Schaback, 80 Schoenberg, 61, 66, 259 Schumaker, 79, 81, 88 secuencia de mallas de control, 209 segmento de curva extremos, 12 Seidel, 81, 105, 107, 269, 281 Shenkman, 222 sim etrico, 105 simetr a, 128 de polinomios de Bernstein, 12 simplex k -dimensional, 259 de referencia, 144 de B ezier, 143, 146 simplex spline normalizado, 262
302 simplex splines, 259 sombras de simples, 259 soporte, 260 soporte compacto, 69 spline C 1 de grado cinco de topolog a arbitraria, 175 c ubicos, interpolaci on, 86 bases, 106, 107 bic ubico C 1 de topolog a arbitraria, 138 c ubicos peri odicos, 87 con matrices de conexi on arbitraria, 104 cu articos con torsi on continua, 97 de grado n, 59 de orden n + 1, 60 de Tchebyche, 103 empotrado, 87 multivariados, 269 nu, 97 representaci on de B ezier, 79 simplex, 259 propiedades, 260 tensiones, 97 uniforme, 110 universal, 107 spline half-box, 222 St ark, 36, 93, 135 subdivisi on, 29, 36, 152 de la malla de B ezier, 158 de mallas hexagonales, 219 de mallas triangulares, 215 de supercies box spline, 246 estacionaria, 115 de una malla regular, esquema, 205 en general, 207 para mallas arbitrarias, 225 para mallas regulares, 205 iterada, 112, 115 repetida, 249 uniforme, 109, 110 subespacio osculador, 102
Indice suma ponderada, 5 supercie Gk de topolog a arbitraria, 193 box spline, 245 subdivisi on, 246 cerrada, 172 continuidad obtenida por subdivisi on, 231 de Lagrange, 126 de topolog a arbitraria, 136, 172 funcional, 7, 146, 273 half-box, 253 l mite, 227 param etrica, 7 polin omica, 7 producto tensorial, 125, 126 supercies suaves, 179 s mbolo del esquema de subdivisi on, 213 t ecnica de B-splines, 77 de diferencias hacia adelante, 31 de B ezier, 25 para parches triangulares, 155 Taylor expansi on de, 22 tensorial forma polar, 130 teorema de convergencia, 116, 209 para C r -subdivisi on, 116 de St ark, 36, 61, 135, 162, 171 fundamental, 65, 157 interpretaci on geom etrica, 102 producto tensorial, 130 para curvas, 27 Schoenberg-Whitney, 84 teselado del soporte, 242 Tiller, 81 Tocher, 170 topolog a arbitraria, 193 torsi on, 99
Indice restricciones, 185 torsi on cruzada, 134 trasladado, 110 Trump, 40, 81, 89, 165 unimodular, 245 v ertice, 144 compartido, 184 extraordinarios, 226 irregular, 193 regular, 193 variaci on decreciente propiedad, 34 vector binormal, 98 normal, 98 tangente, 98 vectorial espacio, 3 notaci on, 131 Zhou, 39
303