Вы находитесь на странице: 1из 322

PALUSZNY-PRAUTZSCH-BOEHM

Mtodos de Bzier y B-Splines

universittsverlag karlsruhe

Hartmut Prautzsch, Wolfgang Boehm, Marco Paluszny Mtodos de Bzier y B-splines

Mtodos de Bzier y B-splines


Hartmut Prautzsch Wolfgang Boehm Marco Paluszny

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

M etodos de B ezier y B-splines


Hartmut Prautzsch Wolfgang Boehm Marco Paluszny

Dedicado a Paul de Faget de Casteljau

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

Contenido 117 118 119 120

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

169 170 171 172 173 175 175

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

179 181 183 184 185 187

El problema del v ertice compartido

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

189 191 192 193 197

XIV 14.6 14.7 Parches multilaterales en el plano Ejercicios

Contenido 200 202

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

225 227 229 230 231 232 232 234 235

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

XV 244 246 249 251 253 255

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

259 260 262 263 265 266 268

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

19.10 Ejercicios Bibliograf a Indice

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.

Figura 1.1: Vector entre dos puntos

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 .

Es m as, sean a1 , . . . , am las columnas de coordenadas anes, extendidas o

1.3. Aplicaciones anes

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 ,

lo cual se puede rescribir de manera m as compacta como:

= A

= A

Las siguientes dos propiedades son consecuencia de la representaci on matricial:

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

Curvas y supercies param etricas

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

El c alculo de la expansi on binomial 1 = (u + (1 u))n = n i u (1 u)ni i

i=0

nos permite introducir los polinomios de Bernstein de grado n,


n Bi (u) :=

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

Figura 2.1: Los polinomios de Bernstein para n = 4 sobre [0, 1].


n i i=0 bi u (1

u)ni = 0 por (1 u)n y usando s = u/(1 u)

obtenemos
n i i=0 bi s

= 0, lo cual implica que b0 = b1 = . . . = bn = 0.

Son sim etricos,


n n Bi (u) = Bn i (1 u).

Las u nicas ra ces son 0 y 1,


n n Bi (0) = Bn i (1) =

1 0

para

i=0 i>0

Forman una partici on de la unidad,


n n Bi (u) = 1 , i=0

para todo u I R .

Son positivos en (0, 1):


n Bi (u) > 0 ,

para u (0, 1) .

Satisfacen la relaci on de recurrencia


n+1 n n (u) = uBi Bi 1 (u) + (1 u)Bi (u) , n n 0 donde B 1 Bn+1 0 y B0 1.

2.2. Curvas de B ezier Esta relaci on de recurrencia se desprende de la identidad n+1 i = n n . + i i1

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).

La transformaci on af n u = a(1 t) + bt, a = b,

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.

2.3. Algoritmo de de Casteljau

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] ,

como se ilustra en la Figura 2.4 para una curva plana.

Figura 2.4: Caja de acotaci on.

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.

2.5. Parametrizaci on singular

17

Figura 2.8: Derivadas de un pol gono de B ezier.

2.5

Parametrizaci on singular
n

Consideramos la curva polin omica b(t) =


i=0 n bi Bi (t) ,

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.

Figura 2.9: Parametrizaci on singular. Observaci on 6: Si b0 = b1 = 0 y b2 = 0 la tangente a b(t) en t = 0 pasa por b3

18

2. Representaci on de B ezier

2.6

Un algoritmo tetra edrico

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

Figura 2.10: Los planos tangente y osculador en el esquema de de Casteljau.


k A lo largo del c alculo de los puntos r bn para todo k , a trav es de los pasos 0 del algoritmo de de Casteljau y de las diferencias hacia adelante se generan los puntos intermedios k bi j , i + j + k n. Todos estos puntos se pueden

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

La integral de una curva polin omica en representaci on de B ezier b(u) =


i=0 n bi Bi (t),

t=

ua , ba

20 tiene la representaci on de B ezier


n+1

2. Representaci on de B ezier

c(u) = donde ci = ci1 +

b(u)du =
i=0

n+1 ci Bi (t) ,

ba bi1 n+1 ba = c0 + (b0 + + bi1 ) , n+1

i = n + 1, . . . , 1 ,

y c0 es una constante de integraci on. derivando c(u).

Esto puede vericarse f acilmente

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

Conversi on a la representaci on de B ezier

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

una curva en representaci on monomial. Como n i t (1 t + t)ni i


ni

=
k=0 ni

n i

ni ti+k (1 t)nik nik

=
k=0 n

i+k n Bi +k i j n Bj , i

=
j =0

2.8. Conversi on a la representaci on de B ezier se obtiene b(t) =


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

Figura 2.13: Representaci on de B ezier de una curva funcional.

2.9

Conversi on a la forma monomial

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

(1)ik bk , ver Ejercicio 3, b(a) se puede rescribir


n i

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

2 El operador de Bernstein B asocia a una funci on f en [0, 1] el polinomio.


n

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

2 2 2 p(t) = (b0 + b1 b2 )B0 (t) + b1 B1 (t) + b2 B2 (t)

[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

n bi Bi (t). Entonces en notaci on matricial se

[a0 . . . an ] = [b0 . . . bn ] , donde = (1)j i


1 j i

y 1 =

i j

. N otese que las matrices y

son triangulares superiores.

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

Polinomios sim etricos

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

uj1 . . . uji (1 uk1 ) . . . (1 ukni ) ,

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 ] .

3.2. El teorema fundamental

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

Figura 3.1: Teorema fundamental. Correctamente en el esquema de de Casteljau b0 0 b0 1 b . . . b0 n


1 0

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

3.4. Convergencia con la subdivisi on

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

Convergencia con la subdivisi on

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

Generaci on de curvas por subdivisi on

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

Generaci on de curvas por diferencias hacia adelante

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 propiedad de variaci on decreciente

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

3.9. El polinomio sim etrico de la derivada por lo menos k intersecciones con H. 3

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

El polinomio sim etrico de la derivada

y usando la multianidad resulta

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 ] = = =

b[1 u2 . . . un ] b[0 u2 . . . un ] b[ u2 . . . un ] 1 n b [u2 . . . un ] .

Entonces se tiene r (n r)! (r) b[u1 . . . un ] = b [ur+1 . . . un ] . u1 . . . ur n!

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.

Figura 3.8: Conexiones simples C 0 y C 1 .

Figura 3.9: Conexiones simples C 2 y C 3 .

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

para valores arbitrarios de las variables u1 , . . . , ur .

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

c[a n+1 .. . i a b .i . . b] b[a n+1 .. .iabi . .1 . b] + bi1 +


n+1i n+1 n+1i 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].

3.12. Convergencia por elevaci on de grado

39

Figura 3.10: Elevaci on de grado.

3.12

Convergencia por elevaci on de grado

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 .

La expresi on simple, dada por Zhou, para los dk ,


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) =

n f (ih)Bi (t) , i=0

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

donde denota el supremo, la norma de la suma o la norma Eucl dea.

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)

que interpola los puntos pi en los ui , i.e., p(ui ) = pi , i = 1, . . . , n .

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

4.2. Interpolaci on de Lagrange

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 .

Entonces por denici on (1) Lk i =


1 ik Lk i k 1 1 j =0 Lk j = k 1 j =0 1 Lk (1 j

si i = 0, . . . , k 1 jk ) si i = k ,

donde ik representa el par ametro local en [uk , ui ], ik = u uk . ui uk

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

+1 k = pk pk i i,nk + pnk (1 i,nk ) . i

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 ) .

4.3. Interpolaci on de Newton

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) .

De la denici on de los polinomios de Lagrange se desprende que el coeciente dominante es de la forma


n

[u0 . . . un ]q =
k=0

q(uk ) , (uk u0 ) (uk uk ) (uk un )

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

[uj ]q [ui ]q uj ui = q(uj ) .

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

De la Observaci on 6 de 4.3 se desprende que la curva p(u) =


i=0

[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

4.4. Interpolaci on de Hermite

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.

donde denota el producto vectorial.

50

4. Interpolaci on y aproximaci on

4.5

Interpolaci on de Hermite c ubica por trozos

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 .

Su representaci on se obtiene de 4.4, y est a dada por


3 3 b3i+j Bj (ti ) , j =0

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.

4.5. Interpolaci on de Hermite c ubica por trozos

51

Figura 4.4: Pol gono de B ezier compuesto

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

la parametrizaci on seg un la longitud de las cuerdas , donde ui = pi ,

y la parametrizaci on centr peta [Lee 89], donde ui = pi .

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

En general, dado un conjunto de funciones base C1 , . . . , Cn no existe una curva p(u) =


i=1

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

. . .

4.7. Ajustes por m nimos cuadrados

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

2 rij = trazaRt R = trazaRRt .

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

es una matriz diagonal de pesos.

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

Ajustes por m nimos cuadrados

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:

54 La suma de los cuadrados rt r = x, y de C t C Dt D O

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 ,

4.8. Mejoras en el par ametro

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

Mejoras en el par ametro

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

q(n) (u0 +(u1 u0 )x1 + +(un un1 )xn )dx .

2 Deduzca de la f ormula de Hermite-Genocchi que


u0 ,...,un u

lim

[u0 . . . un ]q = q(n) (u)/n! .

5 5 3 Escriba los polinomios de Hermite de grado 5, H0 , . . . , H5 . Encuentre sus puntos de B ezier.

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 Representaci on por B-splines

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

nodo ai+1 tiene multiplicidad r si ai < ai+1 = . . . = ai+r < ai+r+1 .

60

5. Representaci on por B-splines

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.

Figura 5.1: Funciones spline de grado 1, 2 y 3.

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.

3 Figura 5.3: Puntos de B ezier del B-spline N0 (u).

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

5. Representaci on por B-splines

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

Una denici on recursiva de los B-splines

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

n1 n1 n1 n1 Nin (u) = i Ni (u) + (1 i +1 )Ni+1 (u),

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

5.4. El algoritmo de de Boor

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)

Considere la combinaci on lineal

64

5. Representaci on por B-splines

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) .

Usando repetidamente la relaci on de recurrecncia para B-splines y agrupando t erminos obtenemos:


n

s(u)

=
i=1

n1 c1 (u) i Ni

. . .
n

=
i=n

0 n cn i Ni (u) = cn ,

donde los

cr i

est an dados por las combinaciones anes


nr = 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

5.5. El teorema fundamental implica que

65

n i=0

1 Nin (u) = 1 para u [an , an+1 ) ,

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 .

Para la demostraci on considere


r pr i = sj [ai+1 . . . ai+nr u . . . u] ,

y u = (1 )ai + ai+nr+1 . Entonces, como sj es multiaf n y sim etrico se tiene que


r 1 r 1 pr , i = (1 )pi1 + pi nr = i =

u ai , ai+nr+1 ai

y en particular p0 i = sj [ai+1 . . . ai+n ] y pn j = sj (u) .

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

Figura 5.7: El teorema fundamental para un spline c ubico .


n Observaci on 3: En la demostraci on se veric o que los B-splines N0 (u), . . . , n Nn (u) forman una base para el espacio vectorial de todos los polinomios de grado menor o igual que n. Este resultado es de [Curry & Schoenberg 66].

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 ] .

5.6. Derivadas y suavidad

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

n ci Nin1 (u) , ai+n ai

donde ci = ci ci1 denota la primera diferencia hacia atr as .

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

68 Observaci on 4 de 5.5 implica que

5. Representaci on por B-splines

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

Propiedades de los B-splines

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.

Los B-splines forman una partici on de la unidad,


m

Nin (u) = 1,
i=0

para todo u [an , am+1 ) .

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

Conversi on a la representaci on B-spline

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

5. Representaci on por B-splines

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 .

Entonces resulta del teorema fundamental 5.5 que An j (u) =


i

ji Nin (u) ,

donde ji = An j [ai+1 . . . ai+n ], y en consecuencia


n a(u) = a0 An 0 (u) + + an An (u)

(a0 0i + an ni )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

El algoritmo de de Boor extendido

La expansi on de Taylor de un polinomio sn (u) determinado por un segmento de spline


n

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.

5.9. El algoritmo de de Boor extendido

71

3 Figura 5.8: Puntos de control del B-spline c ubico N2 (u).

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

n! cr,n,nr (n r)! n! (n r)!


n

cr,i,0 Ninr (u)


i=r

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

5. Representaci on por B-splines

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

cr,i,k = cr,i,k+1 + (ai+nrk u)cr+1,i,k , cr,i1,k = cr,i,k+1 + (ai u)cr+1,i,k .

y en la cara de la derecha (3)

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

Conversi on entre las representaciones de de Boor y de B ezier

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].

5.10. Conversi on entre las representaciones de de Boor y de B ezier

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. Representaci on por B-splines

5.11

B-splines como diferencias divididas

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

n N0 (u) = (an+1 a0 )[a0 . . . an+1 ](a u)n + .

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 +

1 1 = n([a0 . . . an ](a u)n [a1 . . . an+1 ](a u)n + + ) n n n1 = N0 N n1 an a0 an+1 a1 1 d n N (u) , = du 0

lo cual prueba nuestra aseveraci on. 3

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)

sobre la secuencia de nodos

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

5. Representaci on por B-splines

6 Use la regla de Leibniz para el producto de dos funciones f = gh,


i+k

[ai . . . ai+k ]f =
r =i

([ai . . . ar ]g )([ar . . . ai+k ]h) ,

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

Considere un spline, como en 5.7 ci Nin (u)

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.

6.2. El algoritmo de Oslo

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

Esta identidad representa la eliminaci on de nodos para B-splines [Boehm 80].

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.

Figura 6.3: Elecci on de ak para la construcci on de cj .

6.3

Convergencia por inserci on de nodos

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

= s(i ) + O(h ) , lo cual prueba la aseveraci on. 3

6.4. Un algoritmo para la elevaci on de grado

81

6.4

Un algoritmo para la elevaci on de grado


s(u) =
i

Todo spline de grado n ci Nin (u)

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

Una f ormula de elevaci on de grado

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

N n+1 (u|a0 . . . ai ai . . . an+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

Convergencia por elevaci on de grado

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

i (ai1 0 ) . . . (aik 0 ) (k) s (0 ) . k! m . . . (m k + 1) =1

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

hk mk (m . . . (m k + 1)) sup sk (u) k! m . . . (m k + 1)

lo que naliza la demostraci on. 3

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 ).

tenemos que resolver el siguiente sistema lineal n n pt ct N0 (u0 ) Nm (u0 ) 0 0 . . = . . . . . . (2) . . . , .


n n N0 (um ) Nm (um )

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

Figura 6.6: Donde N0 , . . . , Nm suman uno.

6.8

Interpolaci on con splines c ubicos

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.

3 Figura 6.7: El B-spline c ubico N0 (u) con nodos 0,1,2,3,4.

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

donde a = 1/8 y b = 23/8, como se desprende de la Figura 6.7.

= 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

La Figura 6.9 presenta un ejemplo.

4 1 1 4 1 6 1

1 4 1 ct 1 4 m

ct 1

pt 1

pt m

Figura 6.9: Spline c ubico peri odico.

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

Usando notaci on matricial 1 0 (r ) [p p . . . p ] o en forma abreviada

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 ] ,

7.1. Contacto de orden r

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

Figura 7.2: Contacto GC 2 de Farin.

7.2

Parametrizaci on por longitud de arco


t

Sea x(t) una parametrizaci on diferenciable de la curva x. Entonces s(t) =


0

x dt

es la longitud de arco del segmento x[0, t] y x = 1 ,


d x(t(s)) denota la derivada de x con respecto a la longitud de donde x = ds arco y t(s) es la inversa de s(t).

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-

7.3. Gamma splines esimo, es decir,


3 3 b3i+j Bj (t) , j =0

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.

donde u = ai (1 t) + ai+1 t y t [0, 1].

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 ) .

En particular para cualquier j tenemos


Mj (ai +) = Mj (ai ) + i Mj (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.

7.7. Continuidad de Frenet

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 )

Sean x , . . . , x y x+ , . . . , x+ las derivadas por la izquierda y por la derecha de x en s = s0 . Entonces se tiene:

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,

on para d = 3. ver [Boehm 87]. La Figura 7.7 ilustra la situaci

7.8. Osculantes y polinomios sim etricos

101

Figura 7.7: Continuidad de Frenet: visi on de Boehm.

7.8

Osculantes y polinomios sim etricos

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

Interpretaci on geom etrica del teorema fundamental

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

7.9. Interpretaci on geom etrica del teorema fundamental para j = i, . . . , i + 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:

El punto de control ci yace en los subespacios osculadores n1 n1 Si +1 , . . . , Si+n . Es m as


n1 n1 cualesquiera n subespacios osculadores consecutivos Si +1 , . . . , Si+n se intersecan precisamente en el punto de control ci , si todos los n Sj generados por los segmentos sj son n-dimensionales

n1 n1 En particular observe que, los n +1 planos osculadores Si , . . . , Si +n tienen intersecci on vac a.

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 .

Figura 7.9: Subespacios osculadores y el pol gono de B ezier

7.10 Splines con matrices de conexi on arbitraria


Sean ai nodos simples, esto es que satisfacen ai < ai+1 para todo i, y sea s(u) una curva continua que es polin omica sobre cada intervalo internodal [ai , ai+1 ]. Supongamos adem as que las derivadas por la izquierda y por la derecha de s(u) en cada nodo y hasta grado n 1 est an relacionadas por una matriz de conexi on no singular arbitraria. Entonces la curva s tiene un plano osculador (n 1)-dimensional en cada nodo ai , que denotamos por Si o Sai Sin embargo, en general, s no es Frenet continua! Supondremos adem as que cada segmento polin omico de s genera el espacio n-dimensional e introducimos la notaci on s[ai+1 . . . ai+n ] = Si+1 Si+n para la intersecci on de n subespacios osculadores en nodos consecutivos. Por la Observaci on 18 de 7.9 se tiene que dos subespacios osculadores consecutivos Sj +1 y Sj +2 se intersecan en un subespacio de Sj +2 de dimensi on n 2. Entonces aplicando sucesivamente la Observaci on 19 de 7.9, se tiene que m subespacios osculadores consecutivos Sj +1 , . . . , Sj +m se intersecan en un subespacio (n m)-dimensional de Sj +m . Por lo tanto, en general, s[ai+1 . . . ai+n ] es un punto. Sin embargo este punto podr a estar en el innito, v ease el Ejercicio 9.

7.11. Inserci on de nodos

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 ,

que se puede rescribir N j (u) =


0

N j 1 (u t)dt

110 o tambi en N j (u)

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) .

Figura 8.1: Construcci on del B-spline uniforme N 2 (u).

8.2

Subdivisi on uniforme

La combinaci on af n de puntos ci ponderados sn (u) = ci Nin (u)

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)

8.2. Subdivisi on uniforme

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

ci Nij +1 (u) I R I R 1 2 ci Nij (u t)N 0 (t)dt


j 0 0 bj i Mi (u t)[M0 (t) + M1 (t)]dt j +1 +1 bj (u) + Mij+1 (u)] i [Mi

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

...] ... ]

8.3. Subdivisi on iterada

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 ,

donde D y M son las matrices bi-innitas 1 1 D= 1 1 1 M = 1/2

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

para los splines La matriz de subdivisi on S1 = DM obtiene directamente de la Figura 8.3 1 1 2 1 S1 = 1 2 1 2

donde ai es el coeciente binomial

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 ,

las cuales se pueden combinar en una sola expresi on. bn i =


j

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) ,

8.6. Subdivisi on estacionaria

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)

convergen uniformemente a d(u) y c(u), respectivamente. Como


u

ck (u) = ck 1 +

dk (t) dt ,
0

y como integraci on y convergencia uniforme conmutan, resulta


u

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.

8.8. C alculo del esquema de diferencias

117

8.8

C alculo del esquema de diferencias

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 .

Multiplicando por el monomio z i y sumando sobre i obtenemos el polinomio de Laurent bi z i


i

=
i j

cj i2j z 2j z i2j c j z 2j
j k

k z k ,

el cual se puede expresar de manera compacta como: b(z ) = c(z 2 ) (z ) . El factor (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

lo cual prueba de manera distinta la identidad ai = 2n

de 8.4.

8.9

El esquema de los cuatro puntos

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

k k k = pk i3 + (1/2 + )pi2 + (1/2 + )pi1 pi ,

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

8.10. An alisis del esquema de los cuatro puntos

119

+1 Figura 8.4: Esquema de los cuatro puntos - construcci on de pk . 6

yacen sobre la c ubica, concretamente


k pk i+1 = p(1 + i/2 ).

.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

An alisis del esquema de los cuatro puntos

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

+1 k pk 2i+1 (1/2 + 2| |) sup pi i

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 +

n+1 n )Ni (u) = u, 2

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 =

121 ci Nin (u) de grado n sobre Z.

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 Supercies producto tensorial

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

9. Supercies producto tensorial

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 ) .

La supercie p dada por p(u, v ) =


i j

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.

9.2. Supercies producto tensorial de B ezier

127

Figura 9.2: Polinomios de Lagrange.

Figura 9.3: Supercie de interpolaci on.

9.2

Supercies producto tensorial de B ezier

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) ,

o en notaci on m as compacta b(s) =


i m bi Bi (s) ,

donde i = (i, j ).

128

9. Supercies producto tensorial

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.

Figura 9.5: La caja de acotaci on.

130

9. Supercies producto tensorial

9.3

Formas polares del producto tensorial

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 )

tiene forma polar tensorial b[u1 . . . um , v1 . . . vn ] =


i j

bij Ai [u1 . . . um ]Bj [v1 . . . vn ] .

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 ,

y para cada j , el polinomio bj (u) tiene puntos de B ezier


j bij = b[a m .. .i a b . i . . b, c n . .. c d .j . . d] .

Entonces hemos demostrado la siguiente versi on del teorema fundamental

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

Conversi on entre las formas monomial y de B ezier


m n

La forma monomial de una supercie tensorial polin omica b(u, v ) =


k=0 l=0

akl

m k

n k l u v l

se puede expresar en forma abreviada usando la siguiente notaci on vectorial


m

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

9. Supercies producto tensorial

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) .

Esta propiedad se denomina precisi on bilineal de la representaci on de B ezier.

Figura 9.6: Malla de B ezier uniforme bilineal.

9.5

Algoritmo de de Casteljau

Una supercie polin omica en la representaci on de B ezier es, b(u) =


i m bi Bi (s) ,

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) .

2. el punto b(u) de la supercie dado por

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

9. Supercies producto tensorial

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].

9.7. Conexiones simples C r

135

Figura 9.10: La torsi on cruzada 11 b00 .

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 .

Figura 9.11: Conexi on C 1 de dos parches bic ubicos.

136

9. Supercies producto tensorial

9.8

Interpolaci on C 1 bic ubica por trozos

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

Supercies de topolog a arbitraria

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.

9.10. Parametrizaci on singular

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

Considere un parche de B ezier b(u, v ) =


mn bij Bij (u, v ) ,

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

9. Supercies producto tensorial

Figura 9.13: Malla no regular.

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].

9.11 Splines bic ubicos C 1 de topolog a arbitraria


En general, es posible construir supercies de B ezier bic ubicas, C 1 por trozos, de topolog a arbitraria, si trabajamos con parches regulares m as los parches singulares descritos en 9.10, [Reif 93]. Cualesquiera dos parches adyacentes tendr an conexi on C 1 simple, pero algunos de los parches ser an singulares. En primer lugar describiremos la construcci on de este tipo de spline y posteriormente utilizaremos esta t ecnica para el caso de una malla de cuadril ateros con topolog a arbitraria.

9.11. Splines bic ubicos C 1 de topolog a arbitraria

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.

Figura 9.16: Un spline C 1 bic ubico.

140

9. Supercies producto tensorial

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 Representaciones de B ezier de parches triangulares

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

Polinomios de Bernstein multivariados

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

10. Representaciones de B ezier de parches triangulares

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.

Figura 10.1: Dos polinomios de Bernstein de grado 2.

B003 B102 B201 B300 B012 B021 B030

www 3uw2 3u2 w uuu 3vw2 3v 2 w vvv

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

10.2. Simples de B ezier por un 0 , lo cual conduce a


id i1 b v1 . . . vd =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 ,

son las columnas de la matriz identidad de dimensi on

forman una partici on de la unidad B n () 1 . son positivos para

> ,

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 ,

0 = 1 y B n = 0 si tiene alguna coordenada negativa y | j | = n1. donde B

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

10. Representaciones de B ezier de parches triangulares

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 ,

Como los polinomios de Bernstein suman uno,

10.3. Precisi on lineal

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() = =

Todo polinomio lineal 1 = u0 + + ud , B n1 ()

admite la siguiente representaci on de B ezier de grado n > 1. [u0 p0 + + ud pd ] b B n () ,

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

10. Representaciones de B ezier de parches triangulares

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).

Figura 10.5: Una funci on cuadr atica con su poliedro de B ezier.

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

= y posteriormente, despu es de n 2 pasos b(x) =


| |=0

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

Figura 10.6: La construcci on de de Casteljau.

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

tiene una coordenada negativa. A continuaci on considere

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 () .

Su derivada respecto a t, en t = 0 est a dada por d b (x(t)) dt t=0 = v0 b + + vd b u0 ud = = n c B n1 ,

Dv b(p)

148 donde

10. Representaciones de B ezier de parches triangulares

c = v0 b

+ + vd b

lo cual se abrevia por c = v b tal como se ilustra en la Figura 10.7.

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

Convexidad de supercies funcionales

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

10.6. Convexidad de supercies funcionales

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 .

Como cada direcci on v I R2 se puede expresar como v = v + v , donde 0 y , {0, 1, 2} ,

150

10. Representaciones de B ezier de parches triangulares

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 ,

lo cual prueba la convexidad de b. 3

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.

10.7. Limitaciones de la convexidad

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

10. Representaciones de B ezier de parches triangulares

los poliedros de B ezier implica b11 = b12 + b14 0 sobre la l nea ad

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.

y tambi en que b11 0. Entonces b11 = 0, lo que termina la prueba.

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 .

10.8. Ejercicios 5 Sea el operador diferencia denido recursivamente por b y 00 b = = 1, b , 1 b


+ +
1 3 2 3

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 T ecnicas de B ezier para parches triangulares

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

Polinomios sim etricos

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

11. T ecnicas de B ezier para parches triangulares

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 ,

donde u , v , w son las coordenadas de una permutaci on de (1, . . . , n).

y (, . . . , , , . . . , , , . . . , ) es
on n ] satisfacen la relaci
3

Observaci on 1: Los polinomios sim etricos B n [1 . . . de recurrencia B n [1 . . .


1 2

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

11.2. El teorema fundamental

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

11. T ecnicas de B ezier para parches triangulares

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

11.4. Convergencia bajo subdivisi on

159

Figura 11.2: Subdivisi on de una malla de B ezier.

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

Convergencia bajo subdivisi on

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

11. T ecnicas de B ezier para parches triangulares

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.

11.6. El polinomio sim etrico de la derivada

161

Figura 11.6: Subdivisi on uniforme.

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

El polinomio sim etrico de la derivada

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 ] representa el polinomio sim etrico (n 1)-af n de

n ] es af n en 2 , . . . , n y es lineal en .

162

11. T ecnicas de B ezier para parches triangulares

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.

Usando el teorema fundamental 11.2, lo anterior se puede rescribir de la siguiente manera

11.8. Elevaci on de grado

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

11. T ecnicas de B ezier para parches triangulares

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

Figura 11.10: Elevaci on de grado en uno.

11.9

Convergencia por elevaci on de grado

Repitiendo el proceso de elevaci on de grado se obtienen representaciones de B ezier de grado mayor b(x) = d B m () , m>n .

11.9. Convergencia por elevaci on de grado

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

Entonces obtenemos la f ormula de Zhou d =


| |=n

, = (k1 , k2 , k3 ). Entonces k3 k3 i3 +1 mi1 i2 mn+1


i2 i3

Vea[Farin 86, de Boor 87]. Sean se puede escribir n k1 i1 +1 k1 m mi1 +1

= (i1 , i2 , i3 ) y

k2 k2 i2 +1 mi1 mi1 i2 +1
i1

de donde concluimos que y n k1 n m m y por lo tanto d = b B n ( /m) + O(1/m) . n k1 n + m mn k2 n + m mn k2 n m m


i2

k3 n + m mn
i3

i1

k3 n m m

En consecuencia = B n ( /m) + O(1/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. T ecnicas de B ezier para parches triangulares

11.10

Conversi on a la representaci on tensorial de B ezier

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]

la cual puede rescribirse como


j

cij

=
k=0

ijk b[x00

n+kij

...

x00 x01 j. .k . x01 x10 i. .k . x10 x11 . k . . x11 ] ,

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

Conversi on a la representaci on triangular de B ezier

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. T ecnicas de B ezier para parches triangulares

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

Figura 12.1: Abscisas de B ezier para r = 2.

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

12.3. El interpolador de Powell-Sabin

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

Supercies de topolog a arbitraria

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),

12.5. Parametrizaci on singular

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

12.6. Splines C 1 de grado cinco de topolog a arbitraria

175

12.6

Splines C 1 de grado cinco de topolog a arbitraria

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

Figura 12.8: La malla de B ezier de un interpolador de grado cinco con singularidades.

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 Construcci on de supercies suaves

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 ,

con la posible excepci on de puntos aislados.

180

13. Construcci on de supercies suaves

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 ,

13.2. Conexi on de dos parches triangulares c ubicos

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

Conexi on de dos parches triangulares c ubicos


p() = p B 3 () y q() = q B 3 () ,

Considere dos parches triangulares

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

13. Construcci on de supercies suaves

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

13.3. Un interpolador triangular G1

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

13. Construcci on de supercies suaves

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.

Figura 13.5: El macroparche.

13.4

El problema del v ertice compartido

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.

13.5. El problema de la paridad

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 .

Escribimos este u ltimo sistema de manera abreviada como T A = R.

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

13. Construcci on de supercies suaves

+2 +1 i i+1 i : i = [pi pi x x ] : [px px ] ,

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

p201 p300 q300 q201 p210 q210

p111 p120 q120 q111

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.

6 Considere los parches cuadr aticos p(x, y ) q(x, y ) = =


44 pij Bij (x, y ) 44 qij Bij (x, y )

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.

Figura 13.8: Desplazamiento de los puntos de B ezier para garantizar la conexi on


G1 para todo x.

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

Sean p y q dos parches regulares con una curva frontera com un b.

Figura 14.1: Una 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) .

Figura 14.3: Parametrizaci on por proyecci on.

14.2. Conexiones Gk usando curvas transversales

191

14.2 Conexiones Gk usando curvas transversales


Un m etodo para vericar si dos parches p y q tienen una conexion Gk a lo largo de su frontera com un b(t) est a dado por: Si b(t) es diferenciable, y si para cada b0 en b(t) existe una curva regular c(s) k veces diferenciable que yace en la uni on de p y q, e intersecta transversalmente la curva b entonces p y q tienen una conexi on Gk . Probaremos este hecho por inducci on sobre k . De acuerdo a nuestras hip otesis, p y q est an conectados continuamente. Por lo tanto es suciente vericar la condici on de conexi on Gk suponiendo que p y q tienen conexi on Gk1 a lo largo de b para k > 0. Supongamos que p y q est an parametrizados localmente alrededor de b0 = b(t0 ) = c(s0 ) por una proyecci on sobre un plano P , tal como se ilustra en la Figura 14.2. Sin p erdida de generalidad podemos usar las coordenadas anes x e y con respecto al sistema dado por b y las derivadas de b y c en el punto b0 . Es m as, sean = px...x p j i y ...y y = qx...x q j i y ...y derivadas parciales de p y q de orden i + j = k 1. Entonces la hip otesis de inducci on implica ( b(t)) = q ( b(t)) . p Derivando esta expresi on con repsecto a t en t = t0 x (o) = q x (o) . p Entonces s olo queda por vericar k [p(o) q(o)] = o . y k Como la curva c(s) es k veces continuamente diferenciable obtenemos o = = k [c(s) c(s)]s=s0 sk k [p( c(s)) q( c(s))]s=s0 . sk

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

192 lo cual concluye la prueba.3

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).

14.3 Conexiones Gk usando la regla de la cadena


Sean p(u, v ) y q(u, v ) dos supercies regulares tales que p(0, y ) = q(0, y ). En 14.1 vimos que se tiene una conexi on Gk a lo largo de x = u = 0 si para cada u existe una reparamtrizaci on local u(x, y ) para q tal que las derivadas de p(x, y ) y q(u(x, y )) son iguales hasta orden k . De 14.2 se desprende que si todas las parciales de p y q u con respecto a x son iguales, entonces todas las derivadas cruzadas tambi en son iguales. Por lo tanto p y q tienen una conexi on Gk a lo largo de x = u = 0 si y s olo si existe una apliciaci on regular C k u(x, y ) = (u(x, y ), v (x, y )) tal que para todo (0, y ) se tiene p px pxx = q = qu u x + qv v x 2 = quu u2 x + 2quv ux vx + qvv vx + qu uxx + qv vxx etc. ,

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

Supercies Gk de topolog a arbitraria

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)

con la arista dirigida ci cj . Esto se ilustra en la Figura 14.5.

Figura 14.5: Reparametrizaci on del dominio por rotaci on.

14.4. Supercies Gk de topolog a arbitraria

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 )

si r, s k y por 1 2k r i s sin 2 si skr .

brs =

14.5. Parches suaves de n lados

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

Parches suaves de n lados

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

14.5. Parches suaves de n lados

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

Parches multilaterales en el plano

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

14.6. Parches multilaterales en el plano

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 Subdivisi on estacionaria para mallas regulares

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

Esquemas de producto tensorial

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

15. Subdivisi on estacionaria para mallas regulares

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 ) ,

15.2. Subdivisi on estacionaria en general y m ascaras

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

bajo la condici on que las segundas derivadas de s est an acotadas en I R2 .

15.2

Subdivisi on estacionaria en general y m ascaras


+1 cm = i k

Cualquier ecuaci on de renamiento cm k i2k

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. Subdivisi on estacionaria para mallas regulares

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 .

del operador M2 = AM para splines bi-cuadr aticos.

Figura 15.2: Las cuatro m ascaras del algoritmo de Lane-Riesenfeld M1 (izquierda)


y M2 (derecha).

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 .

Figura 15.3: La m ascara del operador de promediaci on A (izquierda) y su acci on


(derecha).

15.3. Teoremas de convergencia

209

Figura 15.4: La m ascara del operador A2 (izquierda) y su acci on (derecha).

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 ))

convergen a c(o) cuando m tiende a innito. En consecuencia, la suma nita cm i =


j 1 cm i2j j

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 .

Concretamente, se tiene el siguiente hecho:

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

converge a cero. Sea adem as cm (x, y ) =


i,j m m cm ij Ni (2 x)Nj (2 y )

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 ]

15.4. Promedios crecientes

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 )

y los splines cm (x, y ) = dm (x, y )dy =


i,j 0 m 1 m 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

converge uniformemente a la funci on uniformemente continua a(x) =


[0,1]2

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

4m (sup c(x) inf c(x))


x x

convergen a cero. Por lo tanto las sumas de Riemann


2 m 1

rm i

=4

m k,l=0

c((ik, j l)/2m )

convergen uniformemente a a(i), para todo i, cuando m tiende a innito.


m Como cm i converge uniformemente a c(x), los promedios ai converge unim formemente a las sumas de Riemann ri lo concluye la prueba. 3

Similarmente se puede demostrar tambi en el siguiente resultado:

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 ,

convergen uniformemente sobre cualquier compacto a la funci on uniformemente continua


1

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

C alculos con esquemas de diferencias

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

= lo cual se puede abreviar como

k xk ,

cm+1 (x) = cm (x2 ) (x) . El factor (x) =


k

k xk

15.5. C alculos con esquemas de diferencias

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. Subdivisi on estacionaria para mallas regulares

15.6

C alculos con esquemas de promedios

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

Tomando yk = xkv , lo anterior se puede escribir como bm (x) = 2m (1 + y + y2 + y3 + + y2


m

)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

15.7. Subdivisi on de mallas triangulares

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

Subdivisi on de mallas triangulares

cuyos elementos son los v ertices de la malla.

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

15. Subdivisi on estacionaria para mallas regulares

En particular, los tres vectores e1 = 1 0 , e2 = 0 1 , e3 = 1 1

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

Para cualquier n = (n1 , n2 , n3 ) I N3 0 , el operador compuesto


n2 n3 1 Bn = An 1 A2 A3 D

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 .

15.8. Box splines sobre mallas triangulares

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

Box splines sobre mallas triangulares

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

15. Subdivisi on estacionaria para mallas regulares

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

f (x ue1 v e2 we3 )dudvdw

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 ).

15.9. Subdivisi on de mallas hexagonales

219

15.9

Subdivisi on de mallas hexagonales

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.9: Mallas regulares, triangular y hexagonal.

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

15. Subdivisi on estacionaria para mallas regulares

d 2i,2j = d2i+1,2j = d2i+1,2j = d2i+1,2j +1 = cij

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

Figura 15.11: Las ocho m ascaras del operador de duplicaci on.

15.10. Half-box splines sobre mallas triangulares

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 .

15.10 Half-box splines sobre mallas triangulares


An alogamente, al caso de las mallas triangulares y a las de cuadril ateros, decimos que una malla hexagonal Cm = [Cm , Cm ] converge uniformemente a una funci on c(x) si los supremos
m m sup max{ c im c((i+(e1 e3 )/3)/2 ) , cim c((i+(e2 e3 )/3)/2 ) } 2 iZ

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

15. Subdivisi on estacionaria para mallas regulares

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 Subdivisi on estacionaria para mallas arbitrarias

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

El esquema del punto medio

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

16. Subdivisi on estacionaria para mallas arbitrarias

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

16.2. La supercie l mite

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

16. Subdivisi on estacionaria para mallas arbitrarias

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.

Figura 16.4: Los parches rj i adyacentes, para m = 5.

16.3. La parametrizaci on standard

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 ) ,

j (u, v ) son ciertos B-splines, producto tensorial de bigrado n. donde Bl

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. Subdivisi on estacionaria para mallas arbitrarias

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 ,

donde O denota matrices cero de varios tama nos, A3 = . . . = Am1 = [4/m] ,

16.5. Continuidad de supercies obtenidas por subdivisi on a 9 9 3 3 3 3 3 1 . 3 . 9 9 . 9 1 3 . . . . 3 . . . 1 3 9 . 1 . 9 . 3 . . . . . . . 3 3 9

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

Continuidad de supercies obtenidas por subdivisi on

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

16. Subdivisi on estacionaria para mallas arbitrarias

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

La aplicaci on caracter stica

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

Suavidad de orden superior

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

16.7. Suavidad de orden superior

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

16. Subdivisi on estacionaria para mallas arbitrarias

1 y 2 son complejos conjugados o reales distintos, v ease [Prautzsch 98, Reif 95b].

16.8

Mallas triangulares y hexagonales

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

Figura 16.7: Parches triangulares (cuadrilaterales) alrededor de un punto extraordinario.

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

Denici on de box splines

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

si x [v1 . . . vs ][0, 1)s en caso contrario k>s .

Bk1 (x tvk )dt,

Esto se ilustra en la Figura 17.1 para s = 2 y [v1 . . . v4 ] = 1 0 0 1 1 1 1 0 .

240 Vea tambi en la Figura 8.1.

17. Box splines

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

Bk1 (x tvk )dtdx =

I R

Bk1 (x tvk )dxdt = s

dt = 1 .
0

17.2

Box splines como sombras

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

17.2. Box splines como sombras donde k (x) = 1 x k .

241

Para k = 3 y s = 2, la construcci on geom etrica correspondiente se ilustra en la Figura 17.2.

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

17. Box splines

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

para cualquier funci on continua f (x).

17.3

Propiedades de los box splines

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 ,

tiene soporte suppB (x) = [v1 . . . vk ][0, 1]k ,

es positivo sobre el conjunto convexo (v1 . . . vk ][0, 1)k ,

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 .

17.4. Derivadas de un box spline

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

Derivadas de un box spline

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

17. Box splines

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

Propiedades de las supercies box spline

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

mdt = m , se obtiene que m =


iZ
s

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

17.5. Propiedades de las supercies box spline

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

17. Box splines

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

Subdivisi on de supercies box spline

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

17.6. Subdivisi on de supercies box spline

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 ,

1 r 1 d (i) + dr1 (i vr ) 2 2s dk (i) .

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

248 o sea s(x) =


iZ
s

17. Box splines

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

17.7. Convergencia bajo subdivisi on

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

Convergencia bajo subdivisi on

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) ,

donde B (x) = B (x|v1 . . . vk ) ,

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

17. Box splines

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).

Como [v1 . . . vk ]Zk = Zs y como Zs es la suma directa

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

17.8. Half-box splines

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 tvk |v3 . . . vk1 )dt

H (x|v3 . . . vk ) =

H (x tvk |v3 . . . vk1 )dt ,

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

17. Box splines

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 .

17.9. Supercies half-box

253

17.9

Supercies half-box

La suma de cualquier par de half-box splines

H (x) H (x)

= H (x|e3 v3 . . . vk )

= H (x|e3 v3 . . . vk ) ,

Por lo tanto cualquier supercie half-box spline s(x) =


iZ
2

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

254 de la f ormula de 17.8 para un half-box spline, Dvr s(x) =


iZ
s

17. Box splines

vr c i H (x i|v3 . . . vr . . . vk ) +vr c i H (x i|v3 . . . vr . . . vk ) ) ,

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

((mi + v)H (x i) + (mi v)H (x i)) = x .

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

(l(m i )H (x i) + l(mi )H (x i)) .

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

Figura 17.8: La malla hexagonal de centros m i y mi .

tambi en tiene una representaci on m as na s(x) =


iZ
2

(d i H (mx i) + di H (mx i))

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)

tambi en es un polinomio de grado d. Use la f ormula (5) de 17.5

256

17. Box splines

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 )

+(1 r )B (x vr |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

18. Simplex splines

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 ,

y si k = s + 1, entonces M es lineal por trozos.

18.2

Propiedades de los simplex splines

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.

18.2. Propiedades de los simplex splines

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

18. Simplex splines

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

Simplex splines normalizados

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

donde suponemos que [a0 , ak ] es el soporte.

18.4. Inserci on de nodos

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 ,

un nodo nuevo, el cual consideraremos como la proyecci on del punto pk+1 = i pi

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

18. Simplex splines

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.

18.5. Una relaci on de recurrencia

265

18.5

Una relaci on de recurrencia

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

1 h volks1 ( 1 x) ks tal como se ilustra en la Figura 18.6 para k = 3 y s = 1.

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

18. Simplex splines

Entonces hemos deducido la relaci on de recurrencia de Micchelli (2) M (x|a0 . . . ak ) = k ks


k i=0

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

Supongamos que x depende linealmente de t x = x0 + t v ,

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. Simplex splines

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

Generalizaci on del algoritmo de de Casteljau

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

19. Splines multivariados

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].

Figura 19.2: La generalizaci on de Seidel del algoritmo de de Casteljau para el caso


cuadr atico.
n1 Para considerar la generalizaci on del algoritmo de de Casteljau sean a0 i , . . . , ai secuencias, tambi en denominadas cadenas o nubes de nodos, para i = 0, . . . , s. Si estos nodos est an en posici on general, entonces cualquier supercie polin omica s-variada c(x) con forma polar c[x1 . . . xs ] est a completamente denida por sus B-puntos i0 1 is 1 c = c[a0 . . . a0 ] , 0 . . . a0 s . . . as

donde = [i0 . . . is ] n y

n = { | Zs+1 , , i0 + + is = n} . + + s c = n1 0 ,

Concretamente c(x) se puede calcular a trav es de la relaci on de recurrencia c = 0 c


+
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

denota el k- esimo vector unitario de I Rs+1 . Esto signica que


j0 1 js 1 c = c[a0 . . . a0 x . . . x] 0 . . . a0 s . . . as

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,

272 forman una partici on de la unidad: C n (x) = 1 ,


n

19. Splines multivariados

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

Vea 19.1 y la Figura 19.4, la cual bosqueja el caso n = s = 2.

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)

La derivada direccional de un polinomio

274

19. Splines multivariados

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 .

Expresando x con respecto a S , es decir, rescribiendo x como


s s
k k aj k ,

x =
k=0

0=
k=0

k ,

y usando que las formas polares son multianes, se obtiene


s

c =
k=0

k c

19.5. B-splines multivariados La Figura 19.6 ilustra el caso s = n = 2.

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

Los B-polinomios C , n , est an denidos con respecto a los nodos

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

19. Splines multivariados

Figura 19.7: La derivada direccional de una B-malla para n = s = 2.


i0 0 is con la secuencias de nodos A = a0 0 . . . a0 . . . as . . . as coinciden con los B-polinomios C (x) para todo

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

vol S j + s k vol S k M (x|A j +s s vol S s

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.

Como ambos simples, S y S

, contienen a , sus orientaciones son iguales

19.6. Combinaciones lineales de B-splines y la ecuaci on anterior es equivalente a


s

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)

k = k vol(Sj )/ , ek vol (S 1 = M (x|A k ) . j + s 1 s

)=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

Combinaciones lineales de B-splines

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

278 y por A la secuencia de nodos donde K,

19. Splines multivariados

j0 js 0 a0 k 0 . . . ak 0 . . . ak s . . . ak s ,

0 . . . n1 .

Finalmente, supondremos que para todo = interior

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.

Decimos que los puntos de control c , K , n ,

19.7. Una relaci on de recurrencia

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

y c son iguales para todos los

19.7

Una relaci on de recurrencia


s(x) = c N (x)

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

Esta suma envuelve t erminos c


, +
l

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

19. Splines multivariados

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

= ,

= N , vea (2), se obtiene


+
0

+ 0 c,

N = 0 ,

lo cual concluye la prueba. 3

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 .

19.9. El teorema fundamental

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

]N (x) . se puede experesar en ]


l

En 11.6 demostramos que la forma polar de Ds t erminos de la forma polar de s , esto es 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

19. Splines multivariados

En particular se tiene que los B-splines froman una partici on de la unidad N


K n

=1 .

El polinomio identidad p(x) = x tiene puntos de control x = 1 A e . n

Vea tambi en 19.3. La Figura 19.8 ilustra el caso n = s = 2.

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

19. Splines multivariados

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

Вам также может понравиться