Professional Documents
Culture Documents
ISBN 3-937300-47-3
Mtodos
de Bzier y
B-Splines
universittsverlag karlsruhe
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
Dedicado a
Paul de Faget de Casteljau
Prefacio
Las tecnicas de modelacion asistidas por computadoras surgen con el advenimiento de las maquinas fresadoras con control numerico en los finales de
la decada de los cuarenta. A partir de los principios de los a
nos sesenta, las
tecnicas de Bezier y B-splines ya se perfilan como herramientas de importancia fundamental para el tratamiento de curvas y superficies polinomicas.
Su ventaja principal radica en que posibilitan la construccion de algoritmos
eficientes numericamente robustos.
El proposito de este texto es dar una base solida y unificada para las propiedades mas u
tiles de las representaiones de Bezier y B-splines. El enfasis del libro
es sobre las nociones centrales del Dise
no Geometrico Asistido por Computadora (CAGD por su nombre en ingles, Computer Aided Geometric Design) y
cubre tanto las nociones basicas como tambien algunas mas avanzadas, como
por ejemplo: splines multivariados, tecnicas de subdivision y dise
no a mano
alzada con superficies con alto grado de suavidad.
Con la finalidad de no extender el libro demasiado, hemos excluido algunos
temas que podran considerarse fundamentales en CAGD. En particular, no
estudiamos tecnicas racionales de Bezier y B-splines.
El libro se fue ensamblando a traves 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
currcula de pre y postgrado de las carreras de Matematicas e Informatica y
tambien fueron atendidos por estudiantes de Ingeniera, Geofsica y Arquitectura.
Queremos agradecer la lectura del manuscrito a Stefan Bischoff, Bernhard
Garz, Georg Umlauf, Claudia Bangert, Norbert Luscher, Marianela Lentini,
Giovanni Figueroa y especialmente a Javier Sanchez-Reyes por su revision
exhaustiva de los primeros diez captulos del libro.
Queremos tambien expresar nuestro agradecimiento a Christoph Pennekamp,
Natalie Spinner, Dayana Tabare, Elizabeth Miquilena, Gabriel Arcos y
Mildred Graterol, por la preparacion de los archivos LaTex.
Caracas,
Karlsruhe,
Wolfenb
uttel,
Marco Paluszny
Hartmut Prautzsch
Wolfgang Boehm
Contenido
Curvas
1 Nociones b
asicas
1.1
Espacios afines
1.2
Combinaciones afines
1.3
Aplicaciones afines
1.4
1.5
Ejercicios
2 Representaci
on de B
ezier
2.1
Polinomios de Bernstein
2.2
Curvas de Bezier
11
2.3
Algoritmo de de Casteljau
13
2.4
Derivadas
15
2.5
Parametrizacion singular
17
2.6
Un algoritmo tetraedrico
18
2.7
Integracion
19
2.8
20
2.9
22
2.10
Ejercicios
22
3 T
ecnicas de B
ezier
3.1
Polinomios simetricos
25
3.2
El teorema fundamental
27
3.3
Subdivision
27
3.4
29
3.5
30
Contenido
3.6
31
3.7
Interseccion
32
3.8
34
3.9
35
3.10
Conexiones C simples
36
3.11
Elevacion de grado
38
3.12
39
3.13
Ejercicios
40
4 Interpolaci
on y aproximaci
on
4.1
Interpolacion
43
4.2
Interpolacion de Lagrange
44
4.3
Interpolacion de Newton
46
4.4
Interpolacion de Hermite
48
4.5
Interpolacion de Hermite c
ubica por trozos
50
4.6
Aproximacion
52
4.7
53
4.8
Mejoras en el parametro
55
4.9
Ejercicios
56
5 Representaci
on por B-splines
5.1
Splines
59
5.2
B-splines
60
5.3
62
5.4
El algoritmo de de Boor
63
5.5
El teorema fundamental
65
5.6
Derivadas y suavidad
67
5.7
68
5.8
69
5.9
70
5.10
72
5.11
74
5.12
Ejercicios
75
XI
Contenido
6 T
ecnicas de B-splines
6.1
Insercion de nodos
77
6.2
El algoritmo de Oslo
79
6.3
80
6.4
81
6.5
82
6.6
83
6.7
Interpolacion
84
6.8
86
6.9
Ejercicios
88
7 Curvas suaves
7.1
Contacto de orden r
92
7.2
94
7.3
Gamma splines
94
7.4
B-splines gamma
96
7.5
Nu-splines
97
7.6
El marco de Frenet
98
7.7
Continuidad de Frenet
99
7.8
101
7.9
102
7.10
104
7.11
Insercion de nodos
105
7.12
Bases de splines
106
7.13
Ejercicios
107
8 Subdivisi
on uniforme
8.1
B-splines uniformes
109
8.2
Subdivision uniforme
110
8.3
Subdivision iterada
112
8.4
La matriz de subdivision
114
8.5
Derivadas
114
8.6
Subdivision estacionaria
115
8.7
Teoremas de convergencia
116
XII
II
Contenido
8.8
117
8.9
118
8.10
119
8.11
Ejercicios
120
Superficies
Productos tensoriales
125
9.2
127
9.3
130
9.4
131
9.5
Algoritmo de de Casteljau
132
9.6
Derivadas
133
9.7
Conexiones simples C
135
9.8
Interpolacion C bic
ubica por trozos
136
9.9
136
9.10
Parametrizacion singular
137
9.11
Splines bic
ubicos C de topologa arbitraria
138
9.12
Ejercicios
140
10 Representaciones de B
ezier de parches triangulares
10.1
141
10.2
Simples de Bezier
143
10.3
Precision lineal
145
10.4
El algoritmo de de Casteljau
146
10.5
Derivadas
147
10.6
148
10.7
Limitaciones de la convexidad
150
10.8
Ejercicios
152
11 T
ecnicas de B
ezier para parches triangulares
11.1
Polinomios simetricos
155
11.2
El teorema fundamental
157
XIII
Contenido
11.3
Subdivision y reparametrizacion
157
11.4
159
11.5
Generacion de superficies
160
11.6
161
11.7
Conexiones C simples
162
11.8
Elevacion de grado
163
11.9
164
166
167
11.12 Ejercicios
168
12 Interpolaci
on
12.1
Interpolacion de Hermite
169
12.2
El interpolador de Clough-Tocher
170
12.3
El interpolador de Powell-Sabin
171
12.4
172
12.5
Parametrizacion singular
173
12.6
175
12.7
Ejercicios
175
13 Construcci
on de superficies suaves
13.1
La conexion general C 1
13.2
179
1
181
13.3
Un interpolador triangular G
183
13.4
184
13.5
El problema de la paridad
185
13.6
Ejercicios
187
14 Construcciones - Gk
14.1
14.2
14.3
La conexion general C k
189
191
192
14.4
193
14.5
197
XIV
Contenido
14.6
200
14.7
Ejercicios
202
15 Subdivisi
on estacionaria para mallas regulares
15.1
205
15.2
207
15.3
Teoremas de convergencia
209
15.4
Promedios crecientes
211
15.5
212
15.6
214
15.7
215
15.8
217
15.9
219
221
15.11 Ejercicios
222
16 Subdivisi
on estacionaria para mallas arbitrarias
16.1
225
16.2
La superficie lmite
227
16.3
La parametrizacion standard
229
16.4
La matriz de subdivision
230
16.5
231
16.6
La aplicacion caracterstica
232
16.7
232
16.8
234
16.9
Ejercicios
235
III
Splines Multivariados
17 Box splines
17.1
239
17.2
240
17.3
242
17.4
243
XV
Contenido
17.5
244
17.6
246
17.7
249
17.8
Half-box splines
251
17.9
Superficies half-box
253
17.10 Ejercicios
255
18 Simplex splines
18.1
Sombras de simples
259
18.2
260
18.3
262
18.4
Insercion de nodos
263
18.5
265
18.6
Derivadas
266
18.7
Ejercicios
268
19 Splines multivariados
19.1
269
19.2
B-polinomios y B-parches
271
19.3
Precision lineal
272
19.4
Derivadas de un B-parche
273
19.5
B-splines multivariados
275
19.6
277
19.7
279
19.8
Derivadas de un spline
280
19.9
El teorema fundamental
281
19.10 Ejercicios
282
Bibliografa
285
Indice
295
XVI
Contenido
Parte I
Curvas
1 Nociones b
asicas
1.1
Espacios afines
1. Nociones basicas
1.2
Combinaciones afines
1.3
Aplicaciones afines
y = Ax
v = Au
1. Nociones basicas
Una aplicaci
on afn conmuta con las combinaciones afines, es
decir
X
X
(
ai i ) =
(ai )i .
Ademas,
Una aplicaci
on afn est
a completamente determinada por un marco
de dimensi
on dimA + 1 p0 . . . pm y su marco imagen q0 . . . qm .
La primera propiedad tambien caracteriza las aplicaciones afines, ver el
Ejercicio 5. La segunda propiedad se puede expresar esquematicamente
-1
m+1
n+1
1.4
q0
...
qm
p0
...
pm
x1 (t)
x(t) = ... .
xd (t)
1.5. Ejercicios
Las curvas descritas por graficos de funciones se denominan curvas funcionales. La Figura 1.3 presenta dos ejemplos de curvas parametricas que
no son funcionales. En la izquierda esta la parabola de Neil x = [t2 t3 ]t y, a
la derecha, la curva x = [t2 t3t]t .
x1 (s, t)
..
x(s, t) =
.
.
xd (s, t)
s
x(s, t) = t .
x(s, t)
Estas superficies se denominan superficies funcionales.
1.5
Ejercicios
1. Nociones basicas
3 Considere la combinacion afn
p = a + b + c
1= ++
de tres puntos independientes. Muestre que las coordenadas baricentricas
, , determinan las razones ilustradas en la Figura 1.4.
2 Representaci
on de B
ezier
2.1
Polinomios de Bernstein
1 = (u + (1 u)) =
n
X
n
i=0
ui (1 u)ni
10
2. Representacion de Bezier
i=0 bi u
obtenemos
Pn
i
i=0 bi s
Son sim
etricos,
n
Bin (u) = Bni
(1 u).
Las u
nicas races son 0 y 1,
Bin (0)
n
(1)
Bni
1
0
para
i=0
i>0
Bin (u) = 1 ,
para todo u IR .
i=0
para u (0, 1) .
Satisfacen la relaci
on de recurrencia
n
(u) + (1 u)Bin (u) ,
Bin+1 (u) = uBi1
n
n
donde B1
Bn+1
0 y B00 1.
11
Observaci
on 1: El calculo de los polinomios de Bernstein de grado n se
puede organizar en un esquema triangular tal como se muestra en la recursion
dada por la regla de la derecha:
1 = B00
B01
B02
B11
B12
B22
2.2
B0n
regla
B1n
*
*
B2n
..
.
Bnn
..
.
u
PP
q
P
1u
Curvas de B
ezier
Los polinomios de Bernstein Bin de grado n forman una base para el espacio
vectorial de polinomios de grado menor o igual que n. Por lo tanto toda curva
polinomica b(u) de grado n tiene una u
nica representaci
on de B
ezier
b(u) =
n
X
ci Bin (u).
i=0
La transformacion afn
u = a(1 t) + bt,
a 6= b,
n
X
bi Bin (t).
i=0
12
2. Representacion de Bezier
Figura 2.2: Una curva cubica con su polgono de Bezier sobre [a, b].
La simetra de los polinomios de Bernstein implica
b(u) =
n
X
bi Bin (t) =
n
X
i=0
i=0
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 polinomicas.
Los extremos del segmento de curva b[a, b] son
b(a) = b0
b(b) = bn .
13
i=0
i=0
u [a, b] ,
2.3
Algoritmo de de Casteljau
Pn
Una curva b(u) = i=0 bi Bin (t) se puede evaluar usando el algoritmo de de
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 terminos repetidamente se obtiene
b(u) =
n
X
i=0
donde
n1
X
i=0
0
X
i=0
= (1 t)bki + t bki+1 .
bk+1
i
14
2. Representacion de Bezier
Figura 2.5: La construccion de de Casteljau para puntos dentro y fuera de [0, 1].
b0
b1
b2
..
.
b10
b11
bn
b1n1 b2n2
regla
b20
a
b
..
bn0
P1-t
PP
q
t
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
numerica 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 metodo tambien se puede usar para evaluar una curva
P
b(t) = bi Bin (t), en su representaci
on de Bezier. Despues de expresar b(t)
como:
n
b(t) = (1 t)
i !
n
t
,
bi
1t
i
i=0
n
X
primero se eval
ua la expresi
on en parentesis usando el metodo de Horner para
el valor t/(1 t) y posteriormente se multiplica el resultado por (1 t)n . Sin
embargo esta tecnica falla cuando t esta cerca de 1. En este caso se usa la
expresi
on:
15
2.4. Derivadas
b(t) = tn
2.4
i !
1t
n
.
bni
t
i
i=0
n
X
Derivadas
para
i = 0, . . . , n.
n1
Para unificar la notaci
on hemos supuesto, como antes, que B1
Bnn1 0.
Luego dada una curva
b(u) =
n
X
i=0
bi Bin (t) ,
t=
ua
,
ba
obtenemos
n1
n X
d
bi Bin1 (t) ,
b(u) =
b a i=0
du
16
2. Representacion de Bezier
nr
X
n!
r bi Binr (t) ,
(n r)!(b a)r i=0
17
2.5
Parametrizaci
on singular
n
X
bi Bin (t) ,
i=0
y su derivada
b(t)
=n
n1
X
bi Bin1 (t) ,
i=0
Si b0 = o, entonces b(t)
es cero en t = 0.
d
b(t(0)) = n.b1
ds
18
2.6
2. Representacion de Bezier
Un algoritmo tetra
edrico
t=
ua
,
ba
j Pij =
i Pij ,
n (n r + 1)
(b a)r
.
r bnr
0
En particular esta f
ormula nos dice que la tangente y el plano osculador de
b en u est
an generados por bn1
, bn1
y bn2
, bn2
, bn2
, respectivamente,
0
1
0
1
2
tal como se ilustra en la Figura 2.10 para una c
ubica.
19
2.7. Integracion
d=ba .
c = a + dt.
respectivamente.
Cuando usamos una de estas reglas, en vez del paso correspondiente a la
diferencia, entonces es suficiente calcular solamente los puntos de los dos
esquemas triangulares dados por los puntos del lado inferior izquierdo (o
derecho) del tetraedro.
Observaci
on 7: Notese que tomar diferencias en general no es un proceso
numericamente estable. En consecuencia el calculo de derivadas tampoco es
estable.
2.7
Integraci
on
n
X
i=0
bi Bin (t),
t=
ua
,
ba
20
2. Representacion de Bezier
b(u)du =
n+1
X
ci Bin+1 (t) ,
i=0
donde
ci
ba
bi1
n+1
ba
(b0 + + bi1 ) ,
= c0 +
n+1
= ci1 +
i = n + 1, . . . , 1 ,
A partir de la f
ormula anterior y de que b(u) interpola los extremos b0 y bn
se deduce la siguiente igualdad
Z
b(u)du =
ba
(b0 + + bn )
n+1
Bin (t)dt =
1
n+1
y en particular,
2.8
i = 0,...,n
Conversi
on a la representaci
on de B
ezier
ni
X
n
ni
ti+k (1 t)nik
=
i
nik
k=0
ni
X
i+k
n
=
Bi+k
i
k=0
n
X
j
=
Bjn ,
i
j=0
n
X
21
bj Bjn (t) ,
j=0
donde
bj =
y
j
i
n
X
j
i=0
ai
= 0 para j < i.
22
2. Representacion de Bezier
2.9
Conversi
on a la forma monomial
n
X
bi Bin
i=0
n
X
b(i) (a)
i=0
n
X
n
i=0
Como i b0 =
como
Pi
i
k=0 k
ua
ba
(u a)i
i!
i b0
(u a)i
.
(b a)i
(1)ik bk , ver Ejercicio 3, b(a) se puede rescribir
b(u) =
n X
i
X
ik
(1)
i=0 k=0
n
i
v bk t i .
i
k
Observaci
on 11: Usando el algoritmo tetraedrico de 2.6 se puede calcular
la expansion de Taylor en u:
b(u + h) =
n
X
i=0
2.10
1
i ni n
b0
hi .
(b a)i
i
Ejercicios
23
2.10. Ejercicios
b0 =
i
X
i
k=0
(1)ik bk .
k+1
n
X
i=0
i . . . (i k) Bin (t).
coordenadas de b(0)
son diferentes de cero (los puntos indican derivacion
respecto a t).
P3
7 Demuestre que una c
ubica plana b(t) = i=0 bi Bi3 (t) tiene una c
uspide
si b3 yace en la parabola
p(t) = (b0 + b1 b2 )B02 (t) + b1 B12 (t) + b2 B22 (t)
[Pottmann & DeRose 91].
8 Para que escogencia de b3 , tiene b(t) un lazo?
Pn
Pn
n i
n
9 Sea
on matricial se
i=0 ai i t =
i=0 bi Bi (t). Entonces en notaci
tiene
[a0 . . . an ] = [b0 . . . bn ] ,
h i
donde = (1)ji ji y 1 = ji . Notese que las matrices y
1 son triangulares superiores.
3 T
ecnicas de B
ezier
Muchos algoritmos para curvas de Bezier pueden ser considerados en el contexto de los polinomios simetricos. En el presente captulo estudiamos la
relacion entre un polinomio de una variable y el polinomio simetrico, de
varias variables, que se le asocia. Presentamos tambien los algoritmos basicos
del dise
no geometrico asistido por computadora (Computer Aided Geometric
Design-CAGD) en terminos de esta relacion. El mas importante de estos algoritmos es el de de Casteljau, el cual es muy u
til tanto en implementaciones
pr
acticas como en el contexto teorico.
3.1
Polinomios sim
etricos
26
3. Tecnicas de Bezier
n
X
ci Ci (u)
i=0
donde cada Ci (u) tiene grado n y denotando sus formas polares por Ci [u1 . . . un ]
se tiene que su forma polar esta dada por
b[u1 . . . un ] =
n
X
ci Ci [u1 . . . un ] .
i=0
Notese 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 Ani = ni ui , i = 0, . . . , n, se
obtienen los polinomios sim
etricos elementales
X
Ani [u1 . . . un ] =
uj1 . . . uji
1j1 < < ji n
j1 <<ji
k1 <<kni
27
3.2
El teorema fundamental
i+j+k =n .
donde
tk =
uk a
.
ba
La Figura 3.1 ilustra este proceso, los puntos b[u1 . . . un ] se denotan por
sus argumentos u1 . . . un .
Es mas, 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 Bezier es u
nica, los puntos bi son los
puntos de Bezier de b(u) sobre [a, b]. Por lo tanto, dos polinomios simetricos
que coinciden sobre la diagonal, coinciden tambien sobre todos los argumentos
[a ni
. . . a b . i. . b], y por la relacion de recurrencia (1) son identicos. Por lo tanto
b(u) tiene una u
nica forma polar. 3
3.3
Subdivisi
on
La relacion de recurrencia (1) tal como se ilustra en la Figura 3.2 revela una
importante propiedad del algoritmo de Casteljau.
28
3. Tecnicas de Bezier
1
0
1
n1
..
.
bn0 = b(c).
= b[c ni
. . . c b . i. . b]
bni
i
29
3.4
Demostraci
on: Expandimos el polinomio simetrico b[u1 . . . un ] alrededor
de [ci . . . ci ] y evaluando en [u1 . . . un ] = [c ni
. . . c c+nh . i. . c+nh] obtenemos
bi
= b[c ni
. . . c c+nh . i. . c+nh]
n
X
b[ci . . . ci ]
(n i)h
b[ci . . . ci ] +
ih
= b[ci . . . ci ]
u
u
j
j
j=ni+1
j=1
+O(h2 ) ,
ni
X
lo cual demuestra nuestra afirmacion pues todas las derivadas parciales son
iguales.
En las pr
oximas secciones se presentaran 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 k k , el mnimo valor posible para
la constante M, para el cual la estimacion anterior es valida para cualquier
curva, est
a dada por
max
i=0,...,n2
k2 bi k n/2 n/2/2n .
30
3.5
3. Tecnicas de Bezier
Generaci
on de curvas por subdivisi
on
convergen al segmento de curva b[0, 1] con orden 1/4h . Esto sugiere el siguiente programa de graficacion [Lane & Riesenfeld 80]:
zier (b0 , . . . , bn ; k)
Plot Be
if
then
else
k=1
dibujar el polgono b0 , . . . , bn
calcular
P elnpolgono de Bezier compuesto a0 , . . . , a2n
de
bi Bi (t) sobre [0, 0.5, 1].
Plot Bezier (a0 , . . . , an , k 1)
Plot Bezier (an , . . . , a2n , k 1)
31
k=0
max{k2 bi k | i = 0, . . . , n 2} < .
sup kb(t)k
sup kb(t) l(t)k
8 0t1
0t1
1
n(n 1) max k2 bi k ,
i=0,...,n2
8
Observaci
on 5: Desde el punto de vista numerico el programa anterior solo
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 division por cada vertice
del polgono dibujado por el programa.
3.6
Generaci
on de curvas por diferencias hacia
adelante
Otro metodo rapido para calcular puntos sobre una curva de Bezier esta
basado en la tecnica de diferencias hacia adelante. Sea b(u) una curva
polinomica y sean
pi = b(a + ih) ,
i = 0, . . . , m ,
32
3. Tecnicas de Bezier
puntos sobre esta curva correspondientes a valores uniformemente distribuidos del parametro. 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 atras. Este calculo se puede organizar
en una forma conveniente por medio del siguiente esquema:
p0
p1
..
.
1p0
pn
1pn1 n p0
..
pn+1 1pn
regla
Z
~
Z
-
+
n p1
..
.
..
.
pm 1pm1 n pmn
recursi
on
+ ?
+
Observaci
on 6: Exceptuando el calculo 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 generacion de curvas por subdivision es casi dos veces mas rapida que por diferencias hacia adelante. Ademas el metodo de subdivision es numericamente
mas estable, ver la Observaci
on 5.
3.7
Intersecci
on
La subdivision tambien es u
til para el calculo de las intersecciones de dos
curvas de Bezier
X
b(s) =
bi Bim (s) ,
s [0, 1] ,
c(t) =
ci Bin (t) ,
t [0, 1] .
3.7. Interseccion
33
INTERSECTAR(b0 , . . . , bm ; c0 , . . . , cn ; )
if
then
then calcular
P elmpolgono de Bezier compuesto b0 , . . . , b2m
de
bi Bi (s) sobre [0, 0.5, 1],
INTERSECTAR (b0 , . . . , bm ; c0 , . . . , cn ; )
INTERSECTAR(bm , . . . , b2m ; c0 , . . . , cn ; )
else
if
n(n 1) max k2 ci k >
then calcular
P eln polgono de Bezier compuesto c0 , . . . , c2n
de
ci Bi (t) sobre [0, 0.5, 1],
INTERSECTAR (b0 , . . . , bm ; c0 , . . . , cn ; )
INTERSECTAR (b0 , . . . , bm ; cn , . . . , c2n ; )
else
intersectar los segmentos de recta b0 bm y c0 cn
34
3.8
3. Tecnicas de Bezier
La propiedad de variaci
on decreciente
35
Observaci
on 7: Si una curva o un polgono en IRd corta cualquier plano
en a lo sumo dos puntos o yace en ese plano entonces la curva o el polgono
es necesariamente plano y se denomina convexo. Como consecuencia de la
propiedad de la variacion decreciente se tiene que toda curva con un polgono
de Bezier conexo es a su vez tambien convexa. Sin embargo, el recproco de
esto no es cierto en general, como se ilustra en la Figura 3.7. Vea tambien el
Ejercicio 11.
3.9
El polinomio sim
etrico de la derivada
36
3. Tecnicas de Bezier
n!
b[ . r. . ur+1 . . . un ] ,
(n r)!
donde
b[ . r. . ur+1 . . . un ] = b[ r1
. . . 1 ur+1 . . . un ] b[ r1
. . . 0 ur+1 . . . un ] .
Observaci
on 9: Como b[u1 . . . un ] es afn en cada variable, entonces la
primera derivada esta 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
(n r)! (r)
r
b [ur+1 . . . un ] .
b[u1 . . . un ] =
n!
u1 . . . ur
3.10
Conexiones C r simples
37
para
i = 0, . . . , r .
38
3. Tecnicas de Bezier
Observaci
on 10: Como dos polinomios son iguales si y solo 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 solo si sus formas polares satisfacen
b[b nr
. . . b u1 . . . ur ] = c[b nr
. . . b u1 . . . ur ]
para valores arbitrarios de las variables u1 , . . . , ur .
3.11
Elevaci
on de grado
c[u0 . . . un ] =
n
1 X
b[u0 . . . ui . . . un ] .
n + 1 i=0
c[a n+1i
. . . a b . i. . b]
=
=
i
n+1
b[a n+1i
. . . a b i1
. . . b]
n+1i
n+1
. . . a b . i. . b]
b[a ni
i
n+1
bi1
n+1i
n+1
bi
39
3.12
El proceso de elevacion de grado se puede repetir hasta obtener una representacion de grado tan alto como se quiera
b(t) =
m
X
dk Bkm (t) ,
m>n .
k=0
n
X
bi ik ,
i=0
donde
ik
m
n mn
/
=
k
ki
i
se denomina distribuci
on polihipergeom
etrica en la teora de probabilidades. La construccion de la representacion de grado m es como sigue:
b(t)
n
X
i=0
n mn
X
X
bi
i=0 j=0
m
n
X
X
k=0
i=0
n m n i+j
t (1 t)mij
i
j
!
bi ik
Bkm (t) ,
donde k = i + j ,
40
3. Tecnicas de Bezier
i1
n1
n Y k Y mk+i
m
i =0 m =i
n
i
ni
(k/m) (1 k/m)
+ O(1/m)
=
i
= Bin (k/m) + O(1/m) .
Sustituyendo en la ecuaci
on de los dk se obtiene
m
3.13
Ejercicios
n
X
f (ih)Bin (t) ,
i=0
u = nh t ,
i=0,...,nk
k ci k
h
ba
k
max
i=0,...,nk
kk bi k ,
41
3.13. Ejercicios
5 Verifique que la longitud de arco de los polgonos de Bezier de las representaciones de grado m, construidos por elevacion 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
Bezier plana. Si una curva se interseca a s misma, que se puede decir
del hod
ografo?
7 Encuentre dos c
ubicas definidas sobre [0, 1] tales que las curvas y tambien
sus polgonos de Bezier 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 polgonos de Bezier.
9 Describa un algoritmo que verifique 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 polgono de Bezier de grado m de b(x) = x4 sobre
[1, 1] es no convexo para todo m 4.
12 Considere la representaci
Pm on de Bezier de grado m de una curva polinomica
de grado n, b(t) = i=0 bi Bim (t). Demuestre que existe un polinomio p
de grado n tal que p(i/m) = bi .
13 Verifique que b(t) = [t2 t]t y b(t2 ) recorren el mismo segmento de curva
sobre [0, 1] pero tienen diferentes polgonos de Bezier de grado 4.
14 Use los polinomios simetricos para probar la formula de elevacion de
grado de 3.12:
n
X
dk =
bi ik .
i=0
4 Interpolaci
on y aproximaci
on
4.1 Interpolaci
on
4.2 Interpolacion de Lagrange 4.3 Interpolacion 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 mnimos cuadrados
4.8 Mejoras en el par
ametro 4.9 Ejercicios
En modelacion geometrica, as como tambien en otras aplicaciones, con frecuencia hay que encontrar expresiones analticas, usualmente de curvas de las
cuales no se conoce una descripcion matematica 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 aproximacion o interpolacion. Este captulo describe algunas
de las tecnicas basicas.
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 )
n
X
xi Ci (u)
i=1
i = 1, . . . , n .
44
4. Interpolacion y aproximacion
t t
C1 (u1 ) . . . Cn (u1 )
x1
p1
.. ..
..
..
. = .
.
.
xtn
C1 (un ) . . . Cn (un )
ptn
o en forma abreviada
CX = P
lo que representa d sistemas de ecuaciones lineales simultaneas para las d
columnas de X. La existencia de la solucion se desprende de la independencia
de C1 , . . . , Cn sobre u1 , . . . , un . 3
4.2
Interpolaci
on de Lagrange
n
X
pi Lni (u) ,
i=0
45
Qn
j=0, j6=i (u uj )
.
= Qn
j=0, j6=i (ui uj )
Lni (u) 1 .
u uk
.
ui uk
Como en el algoritmo de de Casteljau en 2.3, mediante esta relacion de recurrencia se obtiene un metodo iterativo para evaluar p(u) a partir de los
puntos p0i = pi tomando combinaciones afines.
p(u)
n
X
i=0
n1
X
(u)
p1i Ln1
i
i=0
..
.
=
0
X
i=0
46
4. Interpolacion y aproximacion
donde
pk+1
= pki i,nk + pknk (1 i,nk ) .
i
L10
L20
L11
L21
L22
Ln0
Ln1
Ln2
..
.
Lnn .
..
.
Observaci
on 4: Similarmente se puede organizar tambien el calculo de los
pki por medio de un esquema triangular analogo
p00
p01
p10
p02
..
.
p11
p20
p0n
p1n1
p2n2
..
.
pn0 .
4.3
Interpolaci
on de Newton
Otra base del espacio vectorial de polinomios de grado menor o igual que
n, u
til para la contruccion de curvas polinomicas de interpolacion en valores
prescritos del parametro u0 , u1 , ..., un , fue introducida por Newton. Considere
los n + 1 polinomios monicos Pi (u) donde Pi tiene grado i y se anula en las
primeras i abscisas u0 , . . . , ui1 . Esto es:
P0 = 1
y para i 1
Pi (u) = (u u0 ) (u ui1 ) .
47
n
X
i=0
[u0 . . . ui ]q Pi (u) .
=
..
.
[ui uj ]q
[uj ]q
[uj ]q [ui ]q
uj ui
= q(uj ) .
n
X
j=0
[u0 . . . uj ]q Pj (u)
1
n q(u0 ) .
n! hn
48
4. Interpolacion y aproximacion
4.4
Interpolaci
on de Hermite
n
X
i=0
[u0 . . . ui ]q Pi
interpola los puntos Pi y si las abscisas ui coinciden entonces tambien interpola las derivadas de q. Esta construccion se denomina interpolaci
on de
Hermite. En particular, un caso muy frecuente es la interpolacion 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
p(u) =
k
X
n
q(i)
a Hi +
k
X
(i)
n
qb Hni
,
i=0
i=0
(i)
donde qu denota la i-esima derivada de q en u y los polinomios de Hermite Hin de grado n estan definidos por
dr n
dr n
1 si i = r
H
(b)
=
, r = 0, . . . , k .
H
(a)
=
0 si i 6= r
dur ni
dur i
bnj =
j
X
j
i=0
(a b)i
(i)
q ,
n (n i + 1) b
49
= qa
b1
= qa +
b2
bn
ba
qa
n
ba
ba
q )
(2qa +
= qa +
n1 a
n
..
.
= qb .
Observaci
on 8: En vez de interpolar qa y qb se podra interpolar las curvaturas en a y b. La curvatura en el punto a esta dada por
xa =
n 1 k b0 2 b0 k
,
k b0 k3
n
50
4.5
4. Interpolacion y aproximacion
Interpolaci
on de Hermite c
ubica por trozos
Una funcion f (u) se puede aproximar por un polinomio p de grado n interpolando f en n + 1 abscisas u0 < < un . Un resultado clasico de analisis
numerico 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)!
s (ui ) = di .
s(u) =
3
X
j=0
u [ui , ui+1 ] ,
= pi
= pi + di ui /3
= pi+1 di+1 ui /3 .
51
pi
pi1
,
+ i
ui
ui1
para i = 1, . . . , m 1 ,
donde
ui1
.
ui1 + ui
En los puntos extremos estas estimaciones se ajustan a:
i =
d0 = 2
p0
d1 ,
u0
dm = 2
pm1
dm1 .
um1
52
4. Interpolacion y aproximacion
la parametrizacion seg
un la longitud de las cuerdas , donde
ui = kpi k ,
y la parametrizaci
on centrpeta [Lee 89], donde
p
ui = kpi k .
4.6
Aproximaci
on
t
C1 (u1 ) . . . Cn (u1 ) t
p1
x1
.
..
..
.
.. =
.
.
.
.
xtn
C1 (um ) . . . Cn (um )
ptm
o en forma mas abreviada
CX P = R = [rij ] .
rt1
..
rtm
53
r2i =
2
rij
= trazaRt R = trazaRRt .
i,j
W =
w1
..
wm
4.7
54
4. Interpolacion y aproximacion
La suma de los cuadrados rt r =
x, y de
(2)
C t C Dt
D O
t
C p
x
.
=
q
y
tal que Dx = q.
Demostraci
on: Sean x, y una solucion de (2) y supongamos que x + h
satisface la restriccion
D[x + h] = q .
Esto implica Dh = o. Es mas, si
r = C[x + h] p
= r + Ch ,
entonces se tiene
rt
r = rt r + 2rt Ch + ht C t Ch .
El u
ltimo sumando de la expresion anterior es no negativo y el segundo
termino es cero, pues teniendo en cuenta (2)
ht C t r = ht C t [Cx p] = ht Dt y = 0 .
Por lo tanto rt r es mnima. 3
Observaci
on 11: Si no hay restricciones i.e., D = 0 y q = o entonces el
sistema lineal (2) se reduce a las ecuaciones normales de Gauss
C t Cx = C t p .
Observaci
on 12: Si la matriz C es la identidad y si Dx = q es un sistema
subdeterminado entonces (2) consiste en las ecuaciones de correlaci
on
x = p Dt y .
y las ecuaciones normales
Dp DDt y = q ,
55
(3)
4.8
C t W 2 C Dt
D
O
t 2
C W p
x
.
=
q
y
Mejoras en el par
ametro
p (ui )
.
kp (ui )k22
56
4. Interpolacion y aproximacion
[p(ui ) pi ]t p (ui )
f (0)
.
=
Se podra tambien iterar directamente estos dos procesos para obtener mejores
aproximaciones de los vi , pero lo usual es que antes de cada iteracion se calcule una nueva curva de aproximacion 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]
Z
q(n) (u0 +(u1 u0 )x1 + +(un un1 )xn )dx .
[u0 . . . un ]q =
0xn x1 1
2 Deduzca de la f
ormula de Hermite-Genocchi que
lim
u0 ,...,un u
3 en b0 .
b(t) con curvatura prescrita 0 = kb bk/k
bk
5 Calcule y dibuje el polinomio que interpola la funcion error de Gauss
exp(t2 /2)
en t = 7, 5, 3, . . . , 7 .
57
4.9. Ejercicios
0
0
min!
donde e = [1 . . . 1]t , vease por ejemplo, [Boehm & Prautzsch 93, 10.4].
5 Representaci
on por B-splines
5.1
Splines
60
Notese que los nodos denotan valores del parametro donde la curva cambia
su expresion polinomica.
Tambien 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 traves de la
construccion de Stark, vea las Figuras 3.8 y 3.9. Los puntos de Bezier
internos y extremos se denotan por peque
nos crculos blancos y negros,
respectivamente.
5.2
B-splines
donde los Nin (u) son funciones polinomicas por trozos con soporte finito
(se anulan fuera de un intervalo finito) y satisfacen ciertas condiciones de
61
5.2. B-splines
62
Mansfield [de Boor 72] en 1970 y Cox [Cox 72] en 1971. Definimos los
B-splines en terminos de esta construccion y a partir de ella deduciremos
las relaciones y propiedades mas importantes de los B-splines.
5.3
Una definici
on recursiva de los B-splines
Para introducir la relacion de recurrencia para definir los B-splines, consideramos por simplicidad una secuencia (ai ) doblemente infinita de nodos
simples tales que ai < ai+1 para todo i. Entonces los B-splines Nin se
definen a traves de la siguiente relacion de recurrecncia
1
si u [ai , ai+1 )
0
Ni (u) =
0
en caso contrario
n1
n1
Nin (u) = in1 Nin1 (u) + (1 i+1
)Ni+1
(u),
donde
in1 = (u ai )/(ai+n ai )
si
ai = ai+r .
63
para i = 0, . . . , n y
u [0, 1] .
Esto es, los B-splines son una generalizacion de los polinomios de Bernstein.
5.4
El algoritmo de de Boor
X
i
64
n
X
i=1
..
.
=
n
X
i=n
donde los
cri
r1
+ cir1 ,
cri = (1 )ci1
= inr =
u ai
.
ai+n+1r ai
Note que [0, 1] pues u[an , an+1 ), y por tanto, las combinaciones afines
son convexas.
Este algoritmo fue desarrollado por de Boor en 1972 [de Boor 72]. Los puntos
cri se pueden ordenar en el siguiente esquema triangular, donde la regla de
recursion es la anterior recursi
on afn.
c00
c01
c02
..
.
c0n
c11
c12
c1n
c22
..
.
2
cn cnn
regla
1
Z
~
Z
-
( depende de la posici
on)
65
n
X
i=0
1 Nin (u) = 1
los B-splines forman una particion de la unidad. La Figura 5.6 ilustra la interpretacion geometrica del algoritmo de de Boor dada por Gordon y Riesenfeld
en 1974, [Gordon & Riesenfeld 74].
5.5
El teorema fundamental
66
ci = sj [ai+1 . . . ai+n ] ,
Para la demostracion considere
= inr =
u ai
,
ai+nr+1 ai
y en particular
p0i = sj [ai+1 . . . ai+n ]
y pnj = sj (u) .
67
Observaci
on 5: La prueba anterior muestra que el polinomio simetrico
sn [u1 . . . un ] se puede calcular a traves de la version mas general del algoritmo
de de Boor. Es suficiente sustituir en la recursion (u) por
(ur ) =
ur ai
.
ai+nr+1 ai
5.6
Derivadas y suavidad
n
X
i=1
di Nin1 (u) ,
u [an , an+1 ) ,
= sn [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 IR se puede expresar como
X
n
ci Nin1 (u) ,
(1)
s (u) =
a
a
i+n
i
i
68
= s0 [a1 . . . an ] = c0
= sn [a1 . . . an ]
= sn (an ) .
5.7
Nin (u) = 1,
i=0
69
n
n
d n
N n1 (u) .
N n1 (u)
N (u) =
ai+n+1 ai+1 i+1
ai+n ai i
du i
j
X
i=jn
ci Nin (u) ,
u [aj , aj+1 ) ,
5.8
Conversi
on a la representaci
on B-spline
70
secuencia de nodos (ai ) prefijada. Para esto recordemos de 3.1 que los
monomios Anj (u) = nj uj tienen forma polar
X
Anj [u1 . . . un ] =
ui . j. . uk .
1 n
A (u)
n 1
X
=
i Nin (u) ,
5.9
puede calcularse para cualquier u IR, usando las ideas presentadas en 2.6
para curvas de Bezier.
71
n!
cr,n,nr
(n r)!
n
X
n!
cr,i,0 Ninr (u)
(n r)! i=r
y la expansion de Taylor
n r
h .
sn (u + h) =
cr,n,nr
r
r=0
n
X
1
(cr,i,k cr,i1,k ) ,
ai+nrk ai
72
en la cara de abajo
(2)
u ai
,
ai+nrk ai
y en la cara de la derecha
(3)
Observaci
on 7: Las formulas anteriores se pueden usar para ir de la representacion 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 suficiente conocer solamente las caras izquierda y derecha del
arreglo tetraedrico, [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
73
a ai
,
ai+nrk ai
ba
.
ai+nrk a
Recprocamente, los puntos de control de la representacion B-spline se calculan a partir de los de Bezier de la siguiente manera. Primero despejamos
qr,i1,k y qrik de las f
ormulas anteriores. Luego aplicamos las formulas para
calcular los puntos de la cara de abajo y luego de la cara izquierda.
74
5.11
75
5.12. Ejercicios
5.12
Ejercicios
2
|s (u)|2 du .
|f (u)| du >
a0
a0
76
i+k
X
r=i
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
6.1
Inserci
on de nodos
ci Nin (u)
a
3
a
4
refinada
a
1 = a
2
a
5
a
6
............
..........
inicial
a1
a2
a3
a4
X
j
jn (u) .
cj N
78
6. Tecnicas de B-splines
cj
cj1 (1 j ) + cj j
cj =
cj1
donde
j =
a
aj
aj+n aj
n . La
es la coordenada local de a
con respecto al soporte [aj , aj+n ] de N
j
Figura 6.2 muestra una ilustraci
on para n = 3.
79
fue dada por de Boor [de Boor 76b]. Los coeficientes ij se denominan Bsplines discretos con nodos a
j . Esta denominacion fue acu
nada por Schumaker [Schumaker 73] para el caso en que los aj son nodos equidistantes.
Observaci
on 3: En particular, si s(u) = Njn (u) es un B-spline, entonces el
proceso anterior de insercion de nodos implica la siguiente identidad
n (u)
para j 0
N
j
n
n
n
Nj (u) =
para j = 1, . . . , n .
j Nj (u) + (1 j+1 )Nj+1 (u)
N
n
para
j n+1
j+1
6.2
El algoritmo de Oslo
80
6. Tecnicas de B-splines
6.3
sr [u . . . u]
sr [u . . . u] = =
un
u1
la expansi
on de Taylor de sr alrededor de [i . . . i ] tiene la forma
ci
= sr [i . . . i ] +
i+n
X
(aj i )
j=i+1
= s(i ) + O(h ) ,
sr [i . . . i ] + O(h2 )
u1
6.4
81
ci Nin (u)
n+1
1 X
sr [
aj+1 . . . a
k . . . a
j+n+1 ]
n+1
k=1
82
6.5
6. Tecnicas de B-splines
Una f
ormula de elevaci
on de grado
(1)
N n (u|a0 . . . an+1 ) =
n+1
1 X n+1
N
(u|a0 . . . ai ai . . . an+1 ) ,
n + 1 i=0
1 2
(N (u|aabc) + N 2 (u|abbc) + N 2 (u|abcc)) .
3
n+1
X
[a0 . . . ai ai . . . an+1 ]f .
i=0
Esta f
ormula es v
alida para cualquier funcion diferenciable f , lo cual verificamos por inducci
on. Para n = 1 la formula es valida por definicion de
diferencias divididas
[a0 ]f = f (a0 ) = [a0 a0 ]f .
Para n 0 usamos la relaci
on de recurrencia para diferencias divididas (vea
83
[a0 . . . an+1 ]f
1
([a1 . . . an+1 ]f [a0 . . . an ]f )
=
an+1 a0
n
X
1
([a1 . . . ai ai . . . an+1 ]f [a0 . . . ai ai . . . an ]f )
=
an+1 a0 i=1
+ [a1 . . . an+1 an+1 ]f [a0
...
an+1 ]f
+ [a0
an+1 ]f [a0 a0
...
n+1
X
[a0 . . . ai ai . . . an+1 ]f .
...
an ]f
i=0
6.6
ui1
i
k
s(k) (0 ) ,
s[0 . . . 0 ] =
m . . . (m k + 1)
. . . uik
n X
m
X
k=1 i1 =1
...
m
X
i (ai1 0 ) . . . (aik 0 ) (k)
s (0 ) .
m . . . (m k + 1)
k!
i =1
k
84
6. Tecnicas de B-splines
n
X
hk mk (m . . . (m k + 1))
sup ksk (u)k ,
m . . . (m k + 1)
k!
k=2
6.7
Interpolaci
on
m
X
ci Nin (uj ) = pj ,
i=0
n
pt0
ct0
N0n (u0 ) Nm
(u0 )
.. .. = ..
..
(2)
. . . ,
.
n
(um )
N0n (um ) Nm
ctm
ptm
que abreviamos: N C = P . Notese 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 ) 6= 0 para todo i.
Note que si las Nin son continuas entonces la condicion Nin (ui ) 6= 0 es equivalente a que ui (ai , ai+n+1 ).
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
N0n (uj ) = . . . = Nin (uj ) = 0 para todo j i ,
85
6.7. Interpolacion
i
N =
@
@
@
0
@
.. @
. @
..
.
ci Nin
i=0
ci Nin
i=0
m
X
ci Nin
i=r+n+1
donde e = [1 . . . 1]t .
86
6. Tecnicas de B-splines
6.8
Interpolaci
on con splines c
ubicos
4 1
ct0
pt0
1 4 1
ct1 pt1
=
.
6
t
t
1 4 1
cm1
pm1
1 4
ctm
ptm
1
1
ui = 3, (3 + ), 4, 5, . . . , m, (m + ), (m + 1) .
2
2
87
1 4
a b
1
ct0
ct1
b a
ct2
4 1
t
cm2
1 4 1
a b b a ctm1
1 4 1
ctm
pt0
pt1
pt2
=
t
pm2
t
pm1
ptm
at
ct0
3 0 3
ct1 pt1
1 4 1
=
.
1 4 1 ctm1 ptm1
3 0 3
bt
ctm
Esta soluci
on define un spline con derivadas prescritas en los extremos y se
denomina spline empotrado. La Figura 6.8 ilustra un ejemplo.
88
cclico
6. Tecnicas de B-splines
4
1
1
4
ct1
1 4 1
ctm
1 4
pt1
ptm
6.9
Ejercicios
89
6.9. Ejercicios
bi Nin =
m
X
ci Min ,
i=0
7 Curvas suaves
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 simetricos
7.9 Interpretacion geometrica del teorema fundamental 7.10 Splines con
on de nodos 7.12 Bases de
matrices de conexi
on arbitrarias 7.11 Inserci
splines 7.13 Ejercicios
Hay varias maneras de definir continuidad geometrica. La condicion de C r continuidad de Stark establece, desde el punto de vista de construccion, el
criterio mas simple para continuidad geometrica de curvas construidas con
segmentos de Bezier. Un criterio mas general es el contacto GC r de orden r.
Una curva es GC r si admite una parametrizacion r-veces diferenciable. Una
nocion todava mas general, denominada continuidad de Frenet se basa en
invariantes geometricos de orden superior tales como curvaturas, torsion, etc.
Los polinomios simetricos proveen una herramienta elegante para el estudio
de la continuidad geometrica de curvas polinomicas a trazos.
La continuidad C r es un concepto clasico que permite un esquema sencillo
(este es el caso de los B-spline) para construir curvas C r . Ademas, es la
definicion adecuada cuando la parametrizacion de la curva es relevante, como
en el caso de: construccion de superficies que interpolen curvas y la animacion
de objetos a lo largo de trayectorias, en que el parametro corresponde al
tiempo. Un ejemplo es la parametrizacion de trayectorias para maquinas
de control numerico. Sin embargo, no es la definicion adecuada, por ser
innecesariamente restrictiva, si estamos interesados solo en la forma de la
curva (el lugar geometrico que define), pues la continuidad C r depende de
la parametrizacion. Lo anterior justifica la introduccion del contacto GC r el
cual es independiente de la parametrizacion y es u
til para la modelacion de
formas. Una aplicacion practica de la continuidad de Frenet es la definicion
de orientaciones de solidos rgidos 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.1
7. Curvas suaves
Contacto de orden r
6= o y si existe una
reparametrizacion 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 tambien 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 apostrofe, respectivamente.
Por la regla de la cadena, el contacto de orden r en s = t = 0 significa:
p
p s
p s
p s
+
p s 2
+ 3p s
s + p s 3
..
.
1
0
(r)
[p p . . . p ]
= q
= q
= q
=
q .
..
.
3
3
..
.
r
o en forma abreviada
= [q q . . . q(r) ]
PC = Q ,
donde = s 6= 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 polinomicas de grado n r con puntos
de Bezier pi y qi , i = 0, . . . , n, respectivamente. Entonces 2.4 implica que
los r-jets P y Q en pn y q0 estan determinados por los u
ltimos y primeros
r + 1 puntos Bezier, respectivamente. El recproco tambien es cierto. Por
consiguiente el contacto de orden r se puede expresar en terminos de los
puntos de Bezier como
e = [q0 . . . qr ] ,
[pn . . . pnr ]C
93
Observaci
on 1: Dada una reparametrizacion s(t) siempre existe una reparametrizacion polinomica, equivalente hasta la derivada r-esima:
(r)
s(t) = st +
s
s 2
t + + tr .
r!
2!
2 t
.
(/2)t
(r)
Observaci
on 3: Si s = t, entonces s = = s = 0. Por lo tanto obtenemos
la condicion de Stark tal como se ilustra en la Figura 7.1 para r = n = 3 con
los puntos de Bezier pi y qj de p(s) y q(t) definidas sobre [1, 0] y [0, 1],
respectivamente
94
7. Curvas suaves
7.2
Parametrizaci
on por longitud de arco
s(t) =
0
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).
7.3
Gamma splines
95
s(u) =
3
X
j=0
i = 0, . . . , m 1 ,
y = 1 .
Una curva c
ubica por trozos que satisface las condiciones de conexion GC 2
con finito se denomina un -spline. Por lo tanto, un -spline esta definido
por puntos de control ci , n
umeros i 6= 0 asociados y nodos ai [Boehm 85].
La construccion de su representacion de Bezier se ilustra en la Figura 7.4.
Note que los i podran ser negativos.
Observaci
on 6: La razon : en la Figura 7.3 coincide con (20 21 ) : 21 .
Los puntos c1 o d1 yacen en el infinito (o en la recta ideal), es decir, estan
96
7. Curvas suaves
7.4
B-splines gamma
donde los Mi (u) forman una base de -splines con nodos ai , . . . , ai+3 y valores
asociados i , . . . , i+3 . Las ordenadas de Bezier de Mi se pueden obtener
por medio de la construccion de 7.3 en dimension uno donde ci = 1 y todos los
demas cj son iguales a cero. Las abscisas de Bezier subdividen uniformente
los intervalos internodales, como se muestra en la Observacion 10 de 2.8.
La construccion del -B-spline M2 se ilustra en la Figura 7.5.
97
7.5. Nu-splines
7.5
Nu-splines
Como un -spline s(u) es GC 2 , entonces de acuerdo con 7.1, existen constantes i tales que
(1)
Los splines c
ubicos GC 2 que satisfacen la condicion (1) se denominan splines. Los coeficientes 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.6
7. Curvas suaves
El marco de Frenet
0 1
1 0 2
0
2
[f1 . . . fd ] = [f1 . . . fd ]
,
.
..
d1
d1 0
donde los i estan dados por,
1
1 2
1 2 3
f2t x
= f3t x
= f4t x
etc.
99
Vea por ejemplo [Carmo 76]. Los i son diferentes de cero y tambien se
pueden calcular utilizando las siguientes formulas
1
2
1 2
31 22 3
=
=
vol2 [x x ]
vol3 [x x x ]
= vol4 [x x x x ]
etc.
7.7
Continuidad de Frenet
(r)
(r)
(r)
[x . . . x ]C = [x+ . . . x+ ] ,
[x . . . x ] = [f1 . . . fr ] U ,
donde U es una matriz triangular superior cuya diagonal es
1,
1 , . . . , (1 . . . r1 ) .
Para las derivadas por la derecha se satisface una relacion similar. Por lo
tanto la ecuacion (2) se satisface si y solo si
(3)
1
= [f1 . . . fr ]+ ,
[f1 . . . fr ] U CU+
100
7. Curvas suaves
1
donde U CU+
es triangular superior con diagonal
+
+
+
1, (
1 /1 ), . . . , (1 . . . r1 /1 . . . r1 ).
Como los vectores de Frenet son ortogonales entonces (3) se satisface si y solo
1
es la matriz identidad. Luego (3) y (2) son ciertas si y solo si las
si U CU+
curvaturas y los vectores de Frenet son continuos.
Esto termina la demostracion. 3
De acuerdo a 7.1, los r-jets de una curva con respecto a dos parametrizaciones distintas estan relacionados por una matriz cuya diagonal es de la
forma 0 , 1 , . . . , r , con 6= 0. Por lo tanto reparametrizando la curva
podemos rescribir la condicion (2) de la siguiente manera. Sea x(t) una
parametrizacion 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+ ] ,
[x . . . x ]C
donde C es una matriz triangular superior cuya diagonal es de la
forma , 2 , . . . , r con 6= 0.
Observaci
on 11: El contacto de orden r implica continuidad de Frenet de
orden r. El recproco es cierto en general s
olo para r 2.
Observaci
on 12: Una curva plana en IR3 tiene torsi
on cero.
Observaci
on 13: Las curvaturas i son invariantes euclideanos, es decir,
se preservan bajo rotaciones, reflexiones en planos y traslaciones. Note sin
embargo que la continuidad de Frenet es invariante desde el punto de vista
afn, 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
solo 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 IRd tales
que
p(0) = q(0)
y p (0) = q (0) ,
y 1 : i para i impar,
101
7.8
102
7. Curvas suaves
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
P
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
103
para j = i, . . . , i + n.
Sea Sjk el k-esimo plano osculador en s en aj . Como el primer osculante sjaj
genera el subespacio Sjn1 y como los osculantes son simetricos en sus nodos,
obtenemos la siguiente interpretacion del teorema fundamental:
El punto de control ci yace en los subespacios osculadores
n1
n1
Si+1
, . . . , Si+n
.
Es mas
n1
n1
cualesquiera n subespacios osculadores consecutivos Si+1
, . . . , Si+n
se intersecan precisamente en el punto de control ci , si todos los
Sjn generados por los segmentos sj son n-dimensionales
De hecho, cualesquiera n+1 puntos de control consecutivos cjn , . . . , cj generan Sjn . Por lo tanto son independientes lo cual implica que las intersecciones
n1
n1
. . . Si+k
estan generadas por cin+k , . . . , ci .
Si+1
n1
En particular observe que, los n+1 planos osculadores Sin1 , . . . , Si+n
tienen
interseccion vaca.
Observaci
on 16: Esta interpretacion geometrica del teorema fundamental,
es tambien valida en el caso de nodos multiples si interpretamos la interseccion Sjn1 . k. . Sjn1 como el (n k)-esimo subespacio osculador de
Sjnk .
Observaci
on 17: Sea p(u) una curva polinomica n-dimensional (es decir,
que no yace en ning
un subespacio propio) y Puk su k-esimo subspacio osculador en u. Como p(u) es un spline sobre cualquier secuencia de nodos con
segmentos n-dimensionales, entonces para cualquier m n + 1 los subespalos cuales podran coincidir, se intersecan en
, . . . , Pan1
cios osculantes Pan1
m
1
un espacio de dimension nm. De lo contrario, n+1 subespacios osculadores
no tendran interseccion vaca.
Observaci
on 18: Por la Observacion 17 existen a lo sumo m subespacios osculadores Pan1
, . . . , Pan1
posiblemente coincidentes, cuya interseccion con1
m
tiene un subespacio de dimension n m
Observaci
on 19: Es mas, se puede demostrar que la interseccion de cualquier
espacio osculador Punr con un subespacio m-dimensional tiene dimension
m r, excepto para un n
umero finito de ns, vea [Prautzsch 02].
Observaci
on 20: Vea [Pottmann 93, Mazure & Pottmann 96] para una
extension del tratamiento geometrico de B-splines a los splines de Tchebycheff.
Observaci
on 21: Los puntos de Bezier bi de una curva c
ubica p(u) que
104
7. Curvas suaves
genera IR3 estan dados por los osculantes de orden 3, vea la Figura 7.9,
b0
b1
b2
b3
=
=
=
=
p000
p001
p011
p111
=
=
=
=
P00 ,
P01 P12 ,
P02 P11
P10 .
105
7.11
Inserci
on de nodos
Considere una curva polinomica 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
para
ijn
ci
ci1 (1 i ) + ci i
para
i = j n + 1, . . . , j ,
ci =
ci1
para
ij+1
106
7. Curvas suaves
7.12
am+1 = = am+n+1 .
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 esten bien
definidos los puntos de control y para que exista un algoritmo de insercion
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 polinomica
por trozos s(u) se denomina un spline de grado n sobre a y C si es polinomica
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
estan relacionadas por
(1)
(n1)
[s . . . s
(1)
(n1)
]Ci = [s+ . . . s+
] .
7.13. Ejercicios
107
Bezier (tales como bn+1 , bn+2 , . . . , b2n+1 , . . . ) estan determinados por las
condiciones de conexion dadas por las matrices de conexion C.
Cualquier spline de grado n, sobre a y C es la imagen por una aplicacion afn
del espacio n + m dimensional en 3D. H.P. Seidel se refiere a la curva normal
como spline universal en [Seidel 92]. Las imagenes 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 polgono de control y que existe un
algoritmo de insercion de nodos. Los pesos i de 7.11 dependen solamente
de a, C y de a
, pero no de cada spline en particular.
Es mas, 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 definir los puntos de control de un spline normal sobre a y C, por intersecion 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. Vease la Observacion 18 de 7.9. Vea tambien los Ejercicios 13 - 15.
7.13
Ejercicios
1 Considere la curva x(t) con curvatura (t) 6= 0. Muestre que los crculos
tangentes a x con contacto de orden 2 tiene radio 1/. Estos crculos 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 torsion de una curva en IR3 coincide con la velocidad
angular del vector binormal con respecto a s.
4 Convierta un -spline a su representacion -spline, o sea, exprese los i
en terminos de los i , vea 7.5.
5 Un -spline (-spline) sobre los nodos a0 , . . . , am+2 con parametros
1 , 2 , . . . , m+1 (1 , , . . . , m+1 ) es tambien un -spline (-spline) sobre
una secuencia de nodos refinada a
0 = a0 , . . . , a
i = ai , a
i+1 , a
i+2 = ai+1
,...,a
m+3 = am+2 con parametros 1 , . . . , m+2 (
1 , . . . , m+2 ). Exprese los valores i (
i ) en funcion de los i (i ) respectivamente.
108
7. Curvas suaves
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 IRn . 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
planos osculadores consecutivos Sj2 .
12 Sea p(u) una curva de grado n que genera IRn y sea Puk su k-esimo
subespacio osculador en u. Demuestre que cualquier intersecci
on Pani
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 conexion
Ci = 10 01 para i = 1, . . . , m y Ci = 10 01 para todos los demas nodos. 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 mnimo.
8 Subdivisi
on uniforme
Los splines se simplifican mucho si los nodos son simples y estan uniformemente espaciados. En este caso dos B-splines de un mismo grado difieren
por una traslacion, lo cual permite una evaluacion eficiente por medio de un
metodo matricial o a traves de una tabla de valores precalculados. Por esta
raz
on, se han ideado algoritmos simples para convertir una representacion
B-spline arbitraria en una representacion B-spline sobre una secuencia de
nodos mas fina pero satisfaciendo la condicion 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
el B-spline constante por trozos sobre los nodos 0 y 1, vea la Figura 5.4.
Usando la formula 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
Z u
N j (u) =
(N j1 (v) N j1 (v 1))dv ,
j = 1, . . . , n ,
0
N j (u) =
N j1 (u t)dt
110
8. Subdivision uniforme
o tambien
N j (u)
N j1 (u t)N 0 (t)dt
IR
= N j1 N 0
=
8.2
Subdivisi
on uniforme
111
= b02i+1 = ci .
y por lo tanto
bj+1
=
i
1 j
(b
+ bji ) .
2 i1
112
8. Subdivision uniforme
u1
8.3
sn (t)dt = sn N 0 = s0 N n .
Subdivisi
on iterada
c1 c0 c1
...]
y
Bn = [
...
...
113
B0 = CD
y Bj+1 = Bj M ,
1 1
D=
1
M = 1/2
j = 0, . . . , n 1 ,
1
.
sn (u)
=
=
=
donde
ci Nin (u)
bni Nin (2u)
ani Nin (4u) ,
[ . . . a1 a0 a1 . . . ] = CSn Sn .
Observaci
on 3: En 6.3 se demostr
o que la secuencia de los polgonos de
control
Ck = CSnk
del spline sn sobre 2n Z converge a sn cuando k tiende a infinito.
114
8.4
8. Subdivision uniforme
La matriz de subdivisi
on
1
1 2 1
S1 =
1 2 1
2
1
1 3 3 1
S2 =
1 3 3 1
4
...
a0 a1 . . . an+1
Sn =
a0 a1
. . . an+1
ai = 2n
n+1
i
...
Otra derivaci
on de Sn est
a dada en la Observacion 5 de 8.8.
La multiplicaci
on del polgono de control C por la matriz de subdivision Sn
nos conduce a las ecuaciones de refinamiento
X
X
bn2i =
cj a2i2j y bn2i+1 =
cj a2i+12j ,
j
8.5
Derivadas
P
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
X
s (u) =
ci Nin1 (u) ,
115
s (u) =
on 12 Sn1 se denomina la
Entonces, 12 Sn1 aplica Ck en Ck+1 . Por esta raz
matriz del esquema de diferencias asociada con el esquema de subdivision
representado por Sn .
8.6
Subdivisi
on estacionaria
...
. . . 1 0 1 . . .
,
S=
. . . 1 0 1 . . .
...
P
donde los elementos i son n
umeros arbitrarios que satisfacen i i =
P
olo un n
umero finito de los i son diferentes de cero.
i 2i+1 = 1 y s
116
8. Subdivision uniforme
8.7
Teoremas de convergencia
117
8.8
C
alculo del esquema de diferencias
Para utilizar los resultados de 8.7 debemos calcular los polgonos diferencia
Ck . Sea C = [ . . . ci . . . ] un polgono de control y S la matriz de subdivisi
on como en 8.6. Tal como se explico en 8.4, los vertices bi del polgono
subdividido B = CS se calcula usando la ecuaci
on de refinamiento
X
cj i2j .
bi =
j
cj z 2j
k z k ,
k z k
= c(z 2 )(z)(1 z)
1z
= c(z 2 )(z)
1 z2
(z)
.
= c(z 2 )
1+z
P
P
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. Subdivision uniforme
0 (z) = (1 + z) .
Observaci
on 5: La matriz 12 Sn1 definida en 8.4 representa el esquema de
diferencias correspondiente al algoritmo de subdivision para splines de grado
a
n sobre Z, vea 8.5. Por lo tanto el polinomio caracterstico n (z) de Sn est
dado por
1
(1 + z)n1 (z)
2
1
(1 + z)2 n2 (z)
4
..
.
=
8.9
pk+1
2i
pki+2
119
8.10
An
alisis del esquema de los cuatro puntos
= + (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 caracterstico del esquema de diferencias. Entonces se tiene
kpk+1
2i k
y similarmente
k
kpk+1
2i+1 k (1/2 + 2||) sup kpi k .
i
120
8. Subdivision uniforme
2(z)
= + 2z + (1/2 2)z 2 + 2z 3 z 4 .
1+z
Observaci
on 9: El esquema de 2k puntos de Kobbelt produce interpolantes
C k1 [Kobbelt 94]
8.11
Ejercicios
121
8.11. Ejercicios
P
6 Considere los splines uniformes sn =
ci Nin (u) de grado n sobre Z.
Para cualquier entero r IN sea
X
sn =
bni Nin (ru)
b0ri
bn+1
i
= b0ri+r1 = ci
1 n
(b
+ + bni ).
r ir+1
Parte II
Superficies
9.1
Productos tensoriales
m
X
i=0
ai Ai (u) ,
126
Cada uno de los puntos de control de esta curva yace sobre una curva de
Bezier
n
X
ai = ai (v) =
bij Bj (v) .
j=0
XX
i
Observaci
on 2: La expresion uv + (1 u)(1 v) es una funcion producto
tensorial. Notese sin embargo que esta expresion no es el producto tensorial
de una funcion de u y una funcion de v, vea la Figura 9.1.
127
9.2
X
i
bi Bim (s) ,
128
i,j
etc.
129
para u [c, d] ,
130
9.3
Sean A0 (u), . . . , Am (u) y B0 (v), . . . , Bn (v) bases para los espacios vectoriales
de polinomios, hasta grado m y n, respectivamente.
Denotamos por
Ai [u1 . . . um ]
y Bj [v1 . . . vn ]
XX
i
131
9.4
Conversi
on entre las formas monomial y
de B
ezier
m
X
bi Bim (u) ,
i=0
donde
bi =
i
X
i
k=0
ak .
132
Observaci
on 5: Si b(u) si es un polinomio bilineal, es decir, una aplicacion
bi-afn, entonces ak = 0 para todo k (1, 1). Por lo tanto, los puntos de
Bezier de b(u) estan dados por
bij
9.5
Algoritmo de de Casteljau
P
3,2
Observaci
on 6: Por ejemplo, considere el polinomio b(s, t) = bij Bij
(s, t)
cuya matriz de Bezier 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 fila.
Cada flecha corresponde a un paso.
133
9.6. Derivadas
10 1 1 10
0 0 0 6
9 1 0 7 y 11 1 2 13 .
4 0 4 18
10 1 1 10
sobre [0, 1] [0, 1/2] y [0, 1] [1/2, 1], respectivamente.
9.6
Derivadas
b=m
10 bi Bim1,n (s) ,
s
134
X
m!
q+r
q bi Bimq ,
b=
q
r
(m q)!
s t
= mn11 b00
= mn(b11 b10 b01 + b00 ) ,
135
9.7
Conexiones simples C r
136
9.8
Interpolaci
on C 1 bic
ubica por trozos
Los esquemas de interpolacion para curvas tambien se pueden extender facilmente a productos tensoriales. Ilustramos este proceso para el caso de interpolacion c
ubica discutida en 4.5.
Dados (m + 1) (n + 1) puntos pij a interpolar que corresponden a los
valores de los parametros (ui , vj ), para i = 0, . . . , m y j = 0, . . . , n, nuestro
objetivo es construir una superficie 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 Bezier b3i,3j , . . . , b3i+3,3j+3 que definen 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 interpolacion. Notese 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 interpolacion lineales sobre las abscisas u0 , . . . , um y v0 , . . . , vn , respectivamente,
tal como se describe en la Observacion 9 de 4.5.
Entonces la interpolacion 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 fila de A, calculando B = AT .
Entonces los puntos de Bezier buscados son los elementos de la matriz B =
[bij ] = S t P T . La Figura 9.12 presenta una ilustracion.
Note que la interpolacion de las filas y de las columnas es intercambiable.
Esto es, por interpolacion de filas se obtiene C t = P T y por interpolacion de
columnas resulta entonces B = S t C = S t P T .
9.9
137
9.10
Parametrizaci
on singular
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 expansion de Taylor de b alrededor (0, 0)
es de la forma
X
b(u, v) =
aij ui v j ,
donde a10 = a01 = a11 = o. En general, el plano tangente de b en (0, 0) no
138
139
Notese que los puntos de Bezier interiores vecinos a una esquina compartida
por tres o mas 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 vertice extraordinario tienen un mismo plano tangente en
ese punto solamente si los puntos de Bezier interiores conectados por lneas
punteadas en la Figura 9.16 son coplanares y si satisfacen las condiciones
dadas en 9.10.
140
Observaci
on 12: La condicion de coplanaridad mencionada anteriormente
puede ser satisfecha, en general, solamente si cada parche b tiene a lo sumo
un vertice extraordinario. Esta hipotesis siempre se cumplira si cada parche
se subdivide en cuatro subparches.
Observaci
on 13: Los puntos de Bezier interiores determinan el spline
completamente, pero deben satisfacer ciertas restricciones para garantizar
que la superficie sea C 1 . A dichos puntos Reif los denomina puntos de
cuasi control.
Observaci
on 14: Reif tambien ha propuesto una aplicacion 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
metodo mas general.
9.12
Ejercicios
c0
c1
. . . c2n1
c1
c0
. . . c2n2
.
.
..
. . ...
..
c12n
c22n
...
c0
son coplanares.
10 Representaciones de B
ezier de
parches triangulares
10.3 Precisi
on lineal 10.4 El algoritmo de de Casteljau 10.5 Derivadas
10.6 Convexidad de superficies funcionales 10.7 Limitaciones de la convexidad
10.8 Ejercicios
10.1
X n!
ui v j w k ,
i!j!k!
i,j,k
n i
u ,
142
B003
B102
B201
B300
3uw2
B012
B111
B210
www
3u2 w
B021
B120
B030
uuu
3vw2
6uvw
3u2 v
3v 2 w
3uv 2
vvv
bi ui = 0
143
bi v1i1 . . . vdid = 0 ,
u > o,
n1
Bin (u) = u0 Bin1
e0 + + ud Bied ,
10.2
Simples de B
ezier
Como los polinomios de Bernstein forman una base, toda superficie polinomica
b(x) tiene una u
nica representaci
on de B
ezier,
X
b(x) =
bi Bin (u) ,
i
144
En particular, en los v
ertices del simple a0 . . . ad se tiene
b(a0 ) = bn0 ... 0
,...,
b(ad ) = b0 ... 0n ,
y que
n(bn1,1,0,...,0
bn,0,...,0 )
145
u o.
Por lo tanto,
la superficie b(A) yace en la c
apsula convexa de sus puntos de control.
10.3
Precisi
on lineal
1 = u0 + + ud ,
X
i
los puntos
bi Bi (u) ,
n
146
10.4
El algoritmo de de Casteljau
P
Un simplex de Bezier b =
bi Bin se puede evaluar facilmente usando una
generalizacion 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
X
b(x) =
bi Bin (u)
|i|=n
|i|=n1
bi Bin1 (u)
donde
bi = [bi+e0 . . . b
i+ed ]
147
10.5. Derivadas
10.5
Derivadas
donde Bj = 0, si
una recta
etc.,
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 superficie
b(x) = b(u) =
X
i
bi Bin (u) .
Dv b(p)
d
b (x(t))
dt
t=0
b
b + + vd
= v0
ud
u0
X
cj Bjn1 ,
= n
148
donde
cj = v0 bj+e0 + + vd bj+ed ,
lo cual se abrevia por cj = v bj tal como se ilustra en la Figura 10.7.
10.6
149
v1 = a 0 a 2 ,
v2 = a 1 a 0
p20 0 ,
= b01 b02
= b12 b10
= b20 b21
0 ,
0 ,
0 .
donde 0
, {0, 1, 2} ,
150
Observaci
on 4: Un polgono convexo en el plano siempre representa una
curva convexa. Para mallas de Bezier triangulares en el espacio esto no es
cierto en general, tal como lo ilustra la Figura 10.10.
10.7
Limitaciones de la convexidad
Sabemos que los polinomios funcionales cuyos poliedros de Bezier son convexos tambien son convexos. El recproco, sin embargo, no es cierto en general. Considere el polinomio cuadratico
b = 3B200 B101 + 3B002 ,
ilustrado junto con su poliedro de Bezier en la Figura 10.11.
Esta malla de Bezier es claramente no convexa, pero b es convexo. Concretamente, las segundas derivadas parciales son b00 = b11 = 6 y b01 = 2.
151
4(2 + 2 ) + 2( + )2 > 0 ,
152
sobre la lnea
ad
10.8
Ejercicios
donde w = 1 u v, = n y , , 0.
del poli-
153
10.8. Ejercicios
5 Sea el operador diferencia definido recursivamente por
bi
=
=
00 bi
= bi .
1, bi+e1 e3 1, bi
,1 bi+e2 e3 ,1 bi
Demostrar que
b00n =
X
X
i=0 j=0
(1)+ij bijk ,
donde k = n i j.
6 Usando la expansion de Taylor y el Ejercicio 5 demuestre la siguiente
formula de conversion de la representacion de Bezier a la monomial
X
X X
n!
u v ,
bi Bin (u) =
(1)k bi
!!!
i
j
0+n
donde = n .
11 T
ecnicas de B
ezier para parches
triangulares
11.1
Polinomios sim
etricos
156
<<
u y (, . . . , , , . . . , , , . . . , ) es
Observaci
on 1: Los polinomios simetricos Bin [u1 . . .
de recurrencia
Bin [u1 . . .
un ] satisfacen la relacion
n1
n1
un ] = u1 Bin1
e [u2 . . . un ]+v1 Bie [u2 . . . un ]+w1 Bie [u2 . . . un ]
1
Observaci
on 2: El vector u, de coordenadas baricentricas, y el vector
coordenadas afines estan relacionados por
x = x(u) = [a0 a1 a2 ]u y
u = u(x) = p + [v1 , v2 ]x
x de
donde p; v1 , v2 denotan las coordenadas afines asociadas al sistema de coordenadas baricentricas. Como estas transformaciones son afines, a partir de la
forma polar a[x1 . . . xn ], dada por las coordenadas afines, se puede construir
la forma polar b[u1 . . . un ] = a[Au1 . . . Aun ] y recprocamente. Esto es, se
tiene a[x1 . . . xn ] = b[u(x1 ) . . . u(xn )].
157
11.2
El teorema fundamental
i+j+k+l =n .
(1)
l1
l1
bil = ul bl1
i+e1 + vl bi+e2 + wl bi+e3 ,
11.3
Subdivisi
on y reparametrizaci
on
b[p . i. . p x . j. . x r . k. . r] ,
y
b[x . i. . x q . j. . q r . k. . r]
158
Observaci
on 4: Cada punto de Bezier 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 afines calculadas por este algoritmo son
159
=
2
2
3
O(n5 ) combinaciones afines.
11.4
k
j
i
+q +r
n
n
n
160
11.5
Generaci
on de superficies
161
11.6
El polinomio sim
etrico de la derivada
un ] es afn en u2 , . . . , un y es lineal en v.
162
11.7
un ] =
n!
b[v1 . . .
(n r)!
vr ur+1 . . . un ]
Conexiones C r simples
163
11.8
Elevaci
on de grado
164
c[x0 . . . xn ] =
1 X
b[x0 . . . xl . . . xn ]
n+1
l=0
11.9
165
como
=
b(x)
bi Bin
|i|=n
|k|=m
donde
|i|=n
|j|=r
Bjr
bi ik Bkm ,
r
n
Bin Bki
i ki
.
=
ik =
m
Bkm
k
Entonces obtenemos la f
ormula de Zhou
X
dk =
bi ik ,
|i|=n
i3
i2
i1
n
k3
n
k2
n
n
k1
+
+
+
ik
mn
m
mn
m
i m mn
y
i
i
i
n 3
n 2 k3
n 1 k2
k1
n
.
ik
m
m
m
m
i m m
En consecuencia
y por lo tanto
dk =
166
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 aplicacion biafn que enva el cuadrado unitario
[0, 1]2 sobre un cuadrilatero 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 esta dada por
1 X
b[x(s1 , 1 ) . . . x(sn , n )] ,
c[s1 . . . sn , t1 . . . tn ] =
n!
j
X
ijk b[x00
n+kij
...
. . . x01 x10 ik
. . . x10 x11 . k. . x11 ] ,
x00 x01 jk
k=0
siendo n!ijk el n
umero de parametrizaciones de (0 nj
. . . 01 . j. . 1) tales que
ijk =
k
n!
j (n i)!(n j)!
k! i
.
=
k (n + k i j)!
n! k
167
11.11
Conversi
on a la representaci
on triangular
de B
ezier
= c[p . i. . pq . j. . qr . k. . r]
X
ijk
b[p1 . . . p1 q1 . . . q1 r1 . . . r1 ,
=
++=m
(,,)(i,j,k)
p2 i
. . . p2 q2 j
. . . q2 r2 k
. . . r2 ] ,
donde
ijk
k
j
i
m!n! .
=
168
11.12
Ejercicios
1 Considere un parche funcional con un poliedro de Bezier convexo. Demuestre que la elevacion de grado y la subdivision uniforme de la Figura
11.6 preservan la convexidad del poliedro de Bezier.
2 Existen parches parametricos para los cuales la observacion del Ejercicio 1
no es valida. Produzca un ejemplo.
3 Generalice el algoritmo de interseccion de 3.7 para parches triangulares.
4 Sean v1 = q p y v2 = r q. Muestre que la malla de Bezier bi sobre
pqr es plana si v1 v1 bi , v1 v2 bi y v2 v1 bi son cero. Por lo tanto
el maximo de estas diferencias es una medida de la planaridad del parche
de Bezier.
5 El almacenamiento digital de mallas de Bezier requiere cierto cuidado
en aras de la eficiencia, tanto desde el punto de vista de utilizacion de
memoria como de su acceso. Una manera eficiente de almacenar muchas
mallas de Bezier 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) vara desde 1 hasta n+2
apido se garantiza
2 . El acceso r
si la funcion L se almacena en una matriz L = [Lij ]. De una formula
explcita para la funcion L del Ejercicio 5.
12 Interpolaci
on
12.1 Interpolaci
on de Hermite 12.2 El interpolador de Clough-Tocher
12.1
Interpolaci
on de Hermite
170
12. Interpolacion
12.2
El interpolador de Clough-Tocher
171
Observaci
on 1: El interpolador anterior es dos veces diferenciable en los
puntos de subdivision. Para una prueba considere el parche cuadratico
definido por las ordenadas de Bezier sobre las seis abscisas interiores c, c, c, c
de la Figura 12.2. Como las diez ordenadas de Bezier sobre las diez abscisas
interiores c, c, c, c, c de la Figura 12.2 tambien constituyen la malla de Bezier
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
El problema de interpolaci
on 12.2 tambien se puede abordar con un interpolador 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
triangulos, entonces los segmentos que conectan los incentros de tri
angulos
adyacentes, en efecto, cortan sus aristas comunes en los puntos 3. Vease
tambien el Ejercicio 5.
172
12. Interpolacion
12.4
Las conexiones C k simples descritas en 11.7, aunque suficientes para la modelacion de superficies no parametricas, no son suficientes para la modelacion
de superficies suaves arbitrarias.
En particular se tiene lo siguiente: usando solamente parches triangulares
regulares y conexiones C 1 simples, es imposible construir una superficie cerrada a menos que sea de genero uno.
La Figura 12.4 muestra ejemplos de superficies cerradas de generos 0, 1, 2 y
3.
173
12.5
Parametrizaci
on singular
174
12. Interpolacion
0
1
2
2
1 .
0 , b0,2,n2 =
b00n = 0 , b2,0,n2 =
n(n 1)
n(n 1)
0
0
u2 + 2uv
= O(kuk2 )
x(u) = 2
v + 2uv
kd(u)k = O(kuk3 ) .
Claramente, x e y son estrictamente monotonas en u y v para u, v 0. Por
lo tanto x(u) es inyectiva en el dominio u, v 0. Es mas, x(u) es regular
para u 6= 0. En consecuencia, c(x) = b(u(x)) es continuamente diferenciable
si c(x) tiene parciales continuas. Estas parciales estan dadas por
1
1
yv xv
xu xv
[du dv ]
,
[cx cy ] = [du dv ]
=
yu
xu
yu yv
xu yv xv yu
lo cual conduce a
p
kcx k = O(kuk) = O( kxk) .
De manera similar se puede argumentar para dy . Por lo tanto, c(x) y consecuentemente tambien b(u(x)), son continuamente diferenciables.
Observaci
on 2: Si , < 0 y 4 > 1, tambien se puede demostrar que
b(u) tiene un plano tangente continuo [Reif 95a].
12.6
175
12.7
Ejercicios
176
12. Interpolacion
12.7. Ejercicios
177
dominio. Vease tambien [Floater 97, Carnicer & Dahmen 92, Bangert
& Prautzsch 99].
7 Generalice el esquema de interpolacion Powell-Sabin para funciones multivariadas, vease tambien [Bangert & Prautzsch 99].
13 Construcci
on de superficies suaves
13.1 La conexi
on general C 1 13.2 Conexi
on de dos parches triangulares c
ubicos
13.3 Un interpolador triangular G1 13.4 El problema del vertice compartido
13.5 El problema de la paridad 13.6 Ejercicios
La conexion C 1 simple discutida en 11.7 es demasiado restrictiva para la modelacion de superficies regulares arbitrarias. Por esta razon, en esta seccion,
introducimos condiciones mas generales para la conexion C 1 de superficies
interpolantes construidas con parches triangulares. Estas superficies nos permitiran dise
nar modelos en 3D de topologa 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 ilustracion. Note que no se
requiere que los parches p y q sean polinomicos o que sean de tres o cuatro
lados.
Se dice que p y q tienen una conexion general C 1 o conexi
on geom
etrica
C 1 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
=
kqx qy k
kpx py k
para x = 0 .
Equivalentemente, la continuidad G1 tambien se puede caracterizar requiriendo que existan funciones de conexi
on (y), (y) y (y) tales que para todo
x = 0 y todo y
(1)
px = qx + qy
y > 0 ,
180
= qy qx y
= qx qy .
= [px qx ]1 ,
181
13.2
Conexi
on de dos parches
triangulares c
ubicos
182
=
=
etc.
e1 obtene-
183
una c
ubica regular, es decir, si qy (0, y) es una conica que no pasa por el
origen.
Concretamente, rescribiendo la condicion G1 como
px qx = qy
Si q0,y es cuadr
atica o no regular, se puede verificar que existe una solucion
con funciones lineales , y . Vea el Ejercicio 3.
13.3
Un interpolador triangular G1
En 1985, Bruce Piper [Piper 87] introdujo una tecnica para construir superficies 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 continuacion
presentamos esta construcci
on, pero evitando situaciones crticas, lo cual permite su realizaci
on con parches c
ubicos.
184
Los puntos denotados con son los centroides de las ternas vecinas de puntos
c c c . El punto de Bezier
.
es el centroide del tri
angulo
13.4
El problema del v
ertice compartido
Por medio de su construccion, Piper resuelve de manera implcita una dificultad que se presenta cuando se trata de construir una conexion G1 con
i+1
i pix (0, z) = i pi+1
y (z, 0) + i px (z, 0) ,
185
1
1
2 2
[p1xy . . . pnxy ]
= [r1 . . . rn ] ,
..
.
n n
donde
ri = i pix + i pi+1
+ i pi+1
+ i pi+1
y
x
xx .
Escribimos este u
ltimo sistema de manera abreviada como T A = R.
13.5
El problema de la paridad
186
con pi+1
= pix se obtiene
x
i
i+1
i : i = [pi+2
pi+1
x
x ] : [px px ] ,
= 0 si n es par
6= 0 si n s impar
187
13.6. Ejercicios
13.6
Ejercicios
p201
p300
k
q300
p111
p210
k
q210
q201
p012
1
1
0
1
1
0
0
p030
k = 0
0
q030
p120
k
q120
q111
q012
p111
2
0
0
6
1
1
4
0
1
q111
6
0
1
5
1/2 .
1
3 Verifique que el problema de la Seccion 13.2, vea la Figura 13.3, tiene una
solucion con funciones lineales = y , si q(0, v, 1, v) es cuadratica
o no regular. Sugerencia: Si q(0, v, 1, v) es cuadratico 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 condicion G1 para v = 1.
4 Demuestre que las restricciones de torsion de 13.4 se satisfacen si y solo
si
1 n
s = t1 1
1 n
1
1
1 n1
r2 + r1 .
rn + +
1
1 2
1 n
188
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 Superficies Gk
de topologa arbitraria
14.5 Parches suaves de n lados 14.6 Parches
multilaterales en el plano 14.7 Ejercicios
14.1
La conexi
on general C k
190
14. Construcciones - Gk
191
= qx...x
q
j
i
y ...y
k
[c(s) c(s)]s=s0
sk
k
[p(c(s)) q(c(s))]s=s0 .
sk
k
[p(x) q(x)]x=0 ,
y k
14. Construcciones - Gk
192
lo cual concluye la prueba.3
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 conexion Gk
en b(t0 ) si tienen una conexion Gk1 a lo largo de b(t).
=
q
=
qu u x + qv v x
=
quu u2x + 2quv ux vx + qvv vx2 + qu uxx + qv vxx
etc. ,
(1)
p
px
= q ,
= qu + q v ,
pxx
px...x
k
i+j=k
193
14.4
14. Construcciones - Gk
194
cos i
sin i
sin i
cos i
195
2. Para cada arista dirigida ci cj se determina un polinomio bij (x) por interpolacion 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
k,k
bij (x) x =
s (x) .
= 0 ij
Si ci es irregular, entonces se requiere C 2k -contacto,
2k
bij (x) x=
s (x)
= 0 ij
y analogamente 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.
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+1r. Los
puntos de Bezier de bij se presentan esquematicamente 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
condicion de minimalidad se se
nalan con crculos . Los puntos etiquetados
por no son de interes.
An
alogamente se obtiene un segundo polinomio bji para la arista (orientada
al reves) cj ci . Por construccion ambos polinomios tienen contacto simple C k
a lo largo de y = 0,
k
bij (x, y) y =
bji (1 x, y) .
=0
Ademas, tambien por construccion, los polinomios bij y bik asociados al
vertice ci tienen contacto Gk,k o G2k en ci .
14. Construcciones - Gk
196
donde (u, v) =
1
2k (r, s)
brs
si r, s k y por
1
r
=
2k s sin 2i
si
skr .
197
Los puntos de Bezier restantes brs , para r > k pueden escogerse en forma
arbitraria, lo cual se indica por lneas punteadas en la Figura 14.8. Si cj es
irregular, xij se obtiene a partir de xji por medio de la transformacion
1
1 0
xij (u, v) =
+
xji (1 u, v) .
0
0 1
Note que la aplicacion xij es la identidad si ci y cj son regulares.
Sean c1 , c2 , c3 , c4 los vertices de un cuadrilatero (ordenados en el sentido
contrario a las agujas de un reloj). Entonces el parche p(u, v) correspondiente
de la superficie final Gk se construye de manera que
= b x12 (u, v)
v = 0 12
b x23 (v, 1 u)
u =
= 1 23
(2)
p(u, v)
b x34 (1 u, 1 v)
v =
= 1 34
k
=
b x41 (1 v, u)
u = 0 41
Note que, por construccion, las derivadas parciales de p hasta orden (k, k)
en los vertices estan bien definidas por estas condiciones. Ademas 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 vertices regulares el grado es mas bajo, de hecho menor o
igual que 2k + 1.
14.5
14. Construcciones - Gk
198
Para evitar lo anterior [Prautzsch 97] introdujo un metodo general para construir superficies Gk regulares de bigrado 2(k+1). A continuacion presentamos
las ideas fundamentales de este metodo.
Recordemos de 14.4 y 13.4 que la dificultad fundamental para construir
una superficie suave con parches rectangulares (o triangulares) consiste en
la union de tres o mas de cuatro parches con un vertice com
un. Por lo tanto
es de interes estudiar parches suaves con n curvas frontera, que puedan ser
ajustados con conexiones simples C k en huecos con n lados. Para construir
tales superficies se puede proceder de la manera siguiente.
Primero, construimos una reparametrizacion 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 polgono curvilneo, tal como se ilustra en la Figura 14.9 para n = 5. Los
parches interiores x1 , . . . , xn = x1 tienen conexion 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:
k
xi (u, 1)
= xi+3n (u, 0) ,
xi (1, v)
= xi+2n (0, v) ,
xi+3n (1, v)
= xi+n (0, v) ,
xi+n (u, 0)
= xi+2n (u, 1) ,
x1+2n (u, 0)
= x4n (0, u)
xi+2n (u, 0)
= xi+3n (0, u) .
y para i = 2, . . . , n
k
i = 1, . . . , 4n ,
199
200
14. Construcciones - Gk
14.6
201
k+1
X
X k+1
r=3 s=0
(u, v) [k 2, k + 2] [k + 1, k + 2]
con i = i 360 /n. Los demas puntos de control se definen por la relacion
cirs = ci+1
s,k2r ,
3 r
k
1
2
k
1sk+1 .
2
14. Construcciones - Gk
202
14.7
Ejercicios
1 Calcule la derivada
i+j
q(u(x, y))
xi y j
14.7. Ejercicios
203
15 Subdivisi
on estacionaria para mallas
regulares
15.1
206
on kl = k l la ecuaci
on
Usando los multi-ndices i, j Z2 y la abreviaci
de refinamiento toma una forma similar a la de 8.8 para los esquemas de
curvas, concretamente
X
cm+1
=
cm
j i 2j .
i
j
207
15.2
Subdivisi
on estacionaria en general y
m
ascaras
cm
k i2k
con un n
umero finito de coeficientes 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 ecuacion de refinamiento se presentan cuatro tipos de combinaciones
diferentes. Los ndices k de los pesos k usados en el calculo del punto ci m+1
forman el conjunto i + 2Z2 el cual es uno de los siguientes
Z2 , e1 + Z2 , e2 + Z2 , e + Z2 .
208
15.3). Esto significa que los pesos de cada mascara deben sumar uno. Sin
embargo, para evitar fracciones es com
un trabajar con alg
un m
ultiplo. La
mascara siempre se puede recuperar dividiendo por la suma de los pesos. En
lo que sigue usaremos esta convencion.
Observaci
on 3: Las cuatro mascaras del operador M1 definido en 15.1, son
1 0
1 1
0 0
0 0
,
,
,
.
1 0
1 1
1 0
1 1
Ellas se representan graficamente del lado izquierdo de la Figura 15.2. El
lado derecho de esta figura muestra las cuatro mascaras
9 3
3 9
3 1
1 3
,
,
,
.
3 1
1 3
9 3
3 9
del operador M2 = AM para splines bi-cuadraticos.
Observaci
on 4: Note que el operador de refinamiento M1 se describe con
cuatro mascaaras, mientras que el operador de promediacion A es caracterizado por una sola mascara. Las Figuras 15.3 y 15.4 ilustran las mascaras de
A y A2 .
209
15.3
Teoremas de convergencia
converge a
c(o) =
c(o)i2j ,
k = 1, 2 .
210
m
m
cm
ij Ni (2 x)Nj (2 y)
i,j
X
k
m
kcm
k cj k |2j2k |
m ,
P
donde es un m
ultiplo de i |i |, que depende del tama
no de la mascara
[2k ]. Por lo tanto para i 2j + {0, 1}2 obtenemos
cm (j/2m )+cm (j/2m )cm (i/2m+1 )k 2m+1 +m +m .
+cm+1
cm+1
kcm+1
2j
2j
i
Esto implica
sup kcm+1 (x) cm (x)k 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 mas, si los polgonos Cm y los polgonos de diferencias divididas 2m v Cm =
m
2m [cm
i civ ] convergen uniformemente a funciones uniformememnte continuas c(x) y d(x), respectivamente, donde v Z2 , entonces
211
y los splines
cm (x, y) =
dm (x, y)dy =
0 m
1 m
cm
ij Ni (2 x)Nj (2 y)
i,j
convergen
uniformemente a d(x) y c(x), respectivamente. Entonces c(x, y) =
R
d(x, y)dy, lo cual concluye la prueba . 3
15.4
Promedios crecientes
am
ij
2 1
1 X m
cik,jl
= m
4
k,l=0
=4
m
2X
1
c((ik, jl)/2m )
k,l=0
212
bm
i
2 1
1 X m
cikv ,
= m
2
v Z2 ,
k=0
Observaci
on 5: Los promedios am
i son promedios sobre rectas de promedios
sobre rectas. Concretamente,
m
am
i
2 1
1 X m
bike1 ,
= m
2
e1 = [1 0] ,
k=0
donde
m
bm
i
2 1
1 X m
cile2 ,
= m
2
e2 = [0 1] .
l=0
15.5
C
alculos con esquemas de diferencias
Un esquema de subdivision estacionaria tambien puede representarse con funciones generatrices. Analogamente al metodo de la secci
on 8.8, multiplicamos
la ecuacion de refinamiento por el monomio xi = xi y j y sumamos sobre i.
Esto resulta en
X
XX
2j i2j
cm+1
xi =
cm
j i2j x x
i
i
2j
cm
j x
k xk ,
X
k
k xk
213
representa el esquema de subdivision y se denomina su smbolo o polinomio caracterstico. En el caso de un producto tensorial el polinomio
caracterstico es el producto de dos polinomios univariados, (x) y (y), que
representan a los dos esquemas de subdivision de las curvas.
Cualquier esquema de subdivision para curvas tiene un esquema de diferencias subyacente, pero esto en general no es cierto para los esquemas de
subdivision de superficies. Para estudiar cuando un esquema de subdivision
para superficies tiene un esquema de diferencias, identificamos las mallas de
control y los esquemas de subdivision con sus polinomios generatrices.
Dada una malla de control
c(x) =
c i xi ,
v c(x) = c(x)(1 xv ) .
Entonces las diferencias del polinomio refinado b(x) = c(x2 )(x) est
an dadas
por
1 xv
.
v b(x) = v c(x2 )(x)
1 x2v
Observaci
on 7: El esquema de Lane-Riesenfeld Mn (vea 15.1), tiene polinomio caracterstico
(x, y) = 4n (1 + x)n+1 (1 + y)n+1 .
Esto se desprende directamente de la Observacion 5 de la seccion 8.8.
214
15.6
C
alculos con esquemas de promedios
i
bm
i x que repre-
bm
i
2 1
1 X m
cikv .
= m
2
k=0
2m (1 + y + y2 + y3 + + y2
)cm (x)
= 2m (1 + y)(1 + y2 )(1 + y4 ) . . . (1 + y2
= (x0 ) . . . (xm1 )c0 (x) ,
m1
)cm (x)
donde
(x) = (x)(1 + xv )/2
es el polinomio caracterstico del esquema de promedios obtenido a partir
del esquema .
Esto siginifica que el esquema se puede describir a traves 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,
P
di = j bj i2j
2 Para cada i calculamos los promedios por rectas
bi = 12 (di + div )
am
i
2 1
1 X m
cik,jl
= m
4
k,l=0
215
se obtienen a partir de los puntos a0i = c0i con el esquema estacionario representado por
(x) = (x)(1 + x)(1 + y)/4.
Este esquema se describe tambien con un algoritmo:
Dados lo puntos de control ai , i Z2
repetimos
1 Para cada i subdividimos
con el esquema , es decir,
P
di = j aj i2j
2 Para cada i calculamos los promedios por rectas
fi = 12 (di + die1 )
3 Para cada i calculamos los promedios por rectas
ai = 12 (fi + fie2 )
15.7
Subdivisi
on de mallas triangulares
..
..
.
.
C=
cij
.
.
..
..
cuyos elementos son los vertices de la malla.
216
e3 =
1
1
de IR2 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
direcciones. Vease [Prautzsch 84b], y tambien [Boehm et al. 87].
Dada una matriz C = [ci ]i Z2 que representa una malla triangular regular,
la promediacion en tres direcciones se describe con cuatro operadores: el
operador de duplicaci
on D, el cual cuadruplica todos los vertices
1
(ci + ciek ) .
2
Observaci
on 8: El operador D coincide con el operador M0 de LaneRiesenfeld, dado en la Observacion 7. Su polinomio caracterstico es
(x, y) = (1 + x)(1 + y) .
217
Observaci
on 9: En particular, B001 representa al operador de refinamiento R el cual subdivide cada triangulo de una malla regular, uniformemente en cuatro subtriangulos congruentes, tal como se ilustra en la Figura
15.7. Esta figura tambien ilustra las cuatro mascaras que representan B001 .
Los pesos de estas cuatro mascaras forman los coeficientes del polinomio
caracterstico 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
Observaci
on 11: El operador de promediaci
on simetrica A111 = A1 A2 A3
est
a dado por una sola mascara y se ilustra en la Figura 15.8. Esta m
ascara
fue introducida en [Boehm 83]. El polinomio que representa a A111 es
0 1 1
1
1
1 x x2 1 2 1 y .
(x, y) =
8
1 1 0
y2
15.8
218
Observaci
on 13: Si n3 = 0 entonces Bn representa el algoritmo de subdivision de Lane-Riesenfeld para productos tensoriales uniformes de bigrado
(n1 , n2 ).
15.9
219
Subdivisi
on de mallas hexagonales
Cualquier malla regular triangular determina una malla hexagonal cuyas aristas conectan los centros de triangulos adyacentes. La Figura 15.9 ilustra
esto en el caso especial de una malla triangular uniforme
..
..
.
.
.
.
. .
. .
, y
c
C
=
C =
ij ,
ij
.
.
. .
. .
.
..
.
..
cuyos elementos son los vertices de las mallas o se representan por los polinomios
X
X
i
i
c (x) =
c
y c (x) =
c
i x
i x .
Dhex [C , C ] = [[d
i ], [di ]] ,
220
donde
d
2i,2j = d2i+1,2j = d2i+1,2j = d2i+1,2j+1 = cij
d
2i,2j = d2i,2j+1 = d2i,2j+1 = d2i+1,2j+1 = cij .
221
] converge uniformemente
, Cm
decimos que una malla hexagonal Cm = [Cm
a una funcion c(x) si los supremos
m
m
sup max{kc
im c((i+(e1 e3 )/3)/2 )k, kcim c((i+(e2 e3 )/3)/2 )k}
2
iZ
, convergen a c(x).
y Cm
tri
angulos, Cm
222
Es mas, usando los argumentos de 15.6 se puede ver que cualquier secuencia
(Ak Hn )m C se obtiene de Hnm C por promediacion creciente, tal como se describio en 15.4. Ademas, como promediamos la malla hexagonal C a traves
de la promediacion de las mallas triangulares C y C separadamente, similarmente a 15.8, se obtiene lo siguiente:
para k = min{ni + nj |i 6= 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 seran estudiados con detenimiento en el Captulo 17. En particular, los operadores simetricos Hnnn
generan splines C 2n1 localmente polinomicos, de grado 3n.
15.11
Ejercicios
a partir de una malla inicial C0 . Suponga que para cualquier malla inicial
C0 la secuencia Cm converge a una funcion c(x). Demuestre que existe
una funcion refinable N (x), es decir,
X
N (x) =
i N (2x i) ,
223
15.11. Ejercicios
la cual define una base, esto es, que la funcion lmite para cualquier malla
C0 , se puede expresar como
X
m
x i) .
c(x) =
cm
i N (2
3 Sea N (x) una base continua para el esquema de subdivision del Ejercicio
2 y sea v Z2 . Demuestre que
Z 1
N (x) =
N (x tv)dt
0
es la funci
on base para el esquema de subdivision cuya mascara tiene los
coeficientes
1
i = (i + iv ) .
2
16 Subdivisi
on estacionaria para mallas
arbitrarias
16.1
226
Cada vertice extraordinario de una malla Min C es el resultado de una combinacion afn de vertices que yacen alrededor del vertice extraordinario correspondiente de la malla Mni1 C. Como un elemento extraordinario de
Mni1 C corresponde a lo sumo a un elemento extraordinario en Min C, entonces el n
umero de estos u
ltimos esta 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 Min C, i 0.
Observaci
on 1:
227
Figura 16.2: Una secuencia de mallas obtenida por medio del algoritmo de
Catmull-Clark.
16.2
La superficie lmite
228
229
16.3
La parametrizaci
on standard
Conjutamente todos los anillos conforman una superficie con conexiones simples C n1 . De acuerdo con 9.7 esto significa que
(1)
j
u ri (1, v)
j+1
(0, v)
u ri
j+1
(u, 0)
v ri
j+2
(u, 1)
v ri
j+2
(u, 0)
v ri
j+3
(0, u)
= u
ri
y
j
v ri+1 (u, 1)
j u
v ri ( 2 , 0)
j+1
v ri+1 (u, 1)
j 1 u
v ri ( 2 + 2 , 0)
j+1
u ri+1 (1, v)
j+2
(0, 12 + v2 )
u ri
j+2
u ri+1 (1, v)
j+2
(1, v2 )
u ri
(2)
p
X
cl Blj (u, v) ,
l=1
N
3
2
N0,0
0,2
B3 B53 B73
B6 B82 B92
..
..
B32 B52 B72 = B13 B23 B43 =
,
.
.
3
3
3
2
2
2
B10 B12 B15
B1 B2 B4
N2,2 N2,0
2
(v) de B-splines cuadr
aticos
donde Nkm denota el producto tensorial Nk2 (u)Nm
sobre los nodos k, . . . , k + 3 y m, . . . , m + 3, respectivamente.
230
16.4
La matriz de subdivisi
on
S1 S2
Sm
1
Sm S1 Sm1
S=
.
..
..
..
16 .
.
.
S2 Sm
S1
O
O
231
A1 =
a
9
9
3
3
3
3
3
1
.
3
.
9
9
.
9
1
3
.
.
3
.
1
9
1
9
3
. .
. .
. .
. .
3 .
,
. .
. 3
. 3
. 9
b . .
3 . 1
A2 =
. . . ,
1 . 3
Am
b
.
3
.
.
1
.
.
1
.
.
3
con a = 8 + 4/m, b = 4 + 4/m y los elementos que son cero se indican con
puntos.
16.5
x1
r0 = ...
xp
m
S x1
..
rm = S m r0 =
, m IN0 ,
.
S m xp
bajo alguna aplicacion lineal. Por lo tanto para estudiar la suavidad de estas
superficies de subdivision es suficiente analizar r.
Claramente, los iterados rm convergen al origen cuando |1 | < 1 y convergen
a un punto diferente, es decir, una funcion constante diferente de cero, si
1 = 1 y |2 | < 1 y x1 es una funcion constante. Recuerde que las funciones
232
Note sin embargo que cualquier esquema de subdivision afinmente independiente tiene una matriz de subdivision con el autovalor uno asociado a autovectores que son funciones constantes. Vease por ejemplo el esquema del
punto medio de 16.4.
16.6
La aplicaci
on caracterstica
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 tambien demuestra que r no tiene plano tangente en el origen si
hay mas de dos autovectores dominantes xi .
16.7
1
ri (x) = m
(x/m )) , donde x m R .
i xi (c
Si una superficie de subdivision r es regular y k veces continuamente diferenciable, entonces como funcion de x1 , x2 tiene un desarrollo de Taylor hasta
233
k
espacio generado {x
1 x2 | + = } o |i | < || .
Observaci
on 4: El teorema anterior tambien es v
alido si uno es un autovalor
de S cuyo autovector asociado es una funci
on constante. Vease tambien
16.5.
Observaci
on 5: Un teorema similar tamben es v
alido si los autovalores
234
16.8
235
16.9. Ejercicios
16.9
Ejercicios
1 Sea S una matriz estocastica 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(Sv) diam(v) ,
donde diam(v) denota el diametro max vi min vi . Vease tambien
[Micchelli & Prautzsch 89].
2 Implemente el algoritmo de la mariposa dado por la mascara en la Figura
15.13 para mallas triangulares arbitrarias.
236
2
3 1
2
1
.
< (n) < + cos
cos
n
4 4
n
4
Parte III
Splines Multivariados
17 Box splines
17.1 Definici
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 superficies box spline 17.6 Subdivisi
on de superficies box spline
17.7 Convergencia bajo subdivisi
on 17.8 Half-box splines 17.9 Superficies
half-box 17.10 Ejercicios
17.1
Definici
on de box splines
240
17.2
Bk (x) =
1
volks k (x) ,
volk k
241
donde
k (x) = 1 x k .
Para k = 3 y s = 2, la construccion geometrica correspondiente se ilustra en
la Figura 17.2.
Figura 17.2: La construccion geometrica de un box spline lineal por trozos sobre
una malla triangular.
h volks1 k1 (x svk ) ds ,
242
IRs
Bk (x)dx = 1 ,
17.3
es sim
etrico con respecto al centro de su soporte.
Es mas, sea B(x) la sombra de la caja como en 17.2. Entonces las caras
(s1)-dimensionales de proyectadas en IRs forman un teselado del soporte.
Esto se ilustra en la Figura 17.4 para
1 1 1 0
1 1 1 1 0
[v1 . . . vk ] =
y [v1 . . . vk ] =
.
1 0 1 1
0 0 1 1 1
243
17.4
B (y t)dt =
(2)
B (t)dt
y1
B (t) B (t 1)dt .
244
17.5
(4)
= 1/| det[v1 . . . vs ]| .
Como
R1
0
B(xi|v1 . . . vk )
iZ
B(xi|e1 . . . es v1 . . . vk ) ,
iZ
245
es una combinaci
on afn de sus puntos de control ci . Esta superficie es
afinmente invariante esto significa que las imagenes de los puntos de control bajo una aplicaci
on afn son los puntos de control de la superficie imagen.
Como los box splines son no negativos, cada punto s(x) de la superficie 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 ]| =
6 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 ]| 6= 1. El recproco tambien es
cierto [Dahmen & Micchelli 83, 85] y puede verificarse por induccion. Vease
[Jia 83, 85]. En resumen, se tiene el siguiente teorema
Una matriz [v1 . . . vk ] se dice unimodular si el determinante de cada submatriz [vi1 . . . vis ] es 1, 0 o 1.
246
17.6
Subdivisi
on de superficies box spline
247
se puede expresar como una combinacion lineal de los trasladados de los box
splines escalados
M (x) = 2sk M (2x) .
Por lo tanto, si las proyecciones vi = ui yacen en Zs , entonces cualquier
superficie box spline
X
c1i B(x i)
s(x) =
s
iZ
Los nuevos puntos de control c2i pueden ser calculados iterativamente a partir
de los puntos de control iniciales c1i por medio de la relacion de recurrencia
o
6 Zs
,
d0 (i) =
si i/2
1
ci/2
Zs
1 r1
d (i) + dr1 (i vr ) , r = 1, . . . , k ,
dr (i) =
2
c2i
2s dk (i) .
1
r ) ,
Br (x) + Br (x v
2
iZ
iZ
c1i B0 (x i)
dr (i)Br (x i/2) ,
r = 0, 1, . . . , k ,
248
o sea
s(x) =
iZ
c2i B0 (2x i) ,
Observaci
on 6: Es facil la extension de algoritmo de subdivision, para
obtener una representacion mas fina, es decir, para cualquier m IN se tiene
X
cm
s(x) =
i B(mx i) ,
s
iZ
s k
donde los puntos cm
es
i = m d (i) se pueden calcular sucesivamente a trav
de las formulas
o
6 Zs
, y
si i/m
d0 (i) =
c1i/m
Zs
dr (i)
m1
1 X r1
d (i lvr ) ,
m
r = 1, . . . , k .
l=0
1
kcm
j k h sup kci k .
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 fina
Zs /(mn). Como la particion de una caja en trasladados de cajas escaladas
249
/(mn) es u
nica, los puntos de control cmn
resultantes se pueden calcular a
i
partir de los c1i por una sola aplicacion del algoritmo de subdivision.
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
promediacion.
17.7
de una superficie s(x) sobre cualquier malla escalada Zs /m, m IN. Una
propiedad importante de este proceso es que, bajo condiciones adecuadas
sobre V = [v1 . . . vk ] los puntos cm
i convergen a la superficie s(x).
v1 , . . . , vr , . . . , vk
generan
IRs } .
Este resultado fue obtenido por de Boor et al. [de Boor et al. 93] quienes
tambien demuestran que una condici
on suficiente para que la convergencia
sea cuadratica es que [v1 . . . vi . . . vk ]Zk1 = Zs y que B(x|v1 . . . vk ) sea
diferenciable.
i)
>
0.
Veremos que los
i
di
ametros de estas c
apsulas convexas tienden a cero.
Como [v1 . . . vk ]Zk = Zs y el generado de [v1 . . . vr . . . vk ] no coincide con
IRs para r = 1, . . . , q1, entonces resulta de B(mxi) > 0 que B(mxk) = 0
para todo k Zs tal que i k no pertenece al generado de vq . . . vk .
250
m
Por lo tanto, si cm
i y ck son dos puntos de control de s(x) entonces i k = v
pertenece al generado [vq . . . vk ] y +v o v pertenecen a suppB(x).
sup kvr cm
i k hM/m ,
s
iZ
La derivaci
on geometrica del algoritmo de 17.6 demuestra que cm
i 6= 0 si y
s
olo si i [v1 . . . vk ]Zkm .
251
17.8
Half-box splines
Los half-box splines se definen 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 subdivision de mallas hexagonales. En
esta seccion presentamos la definicion inductiva propuesta en [Sabin 77] y
su interpretacion geometrica.
Subdividiendo el cuadrado unitario a lo largo de su diagonal en la direccion
e se obtienen dos triangulos
= {x|0 x y < 1}
y
H (x|v3 . . . vk )
252
1
volk2 ( 1 x ) .
2 volk
Observaci
on 10:
Los half-box splines H (x|e1 . k. . e1 e2 . k. . e2 e3 . k. . e3 )
son continuamente diferenciables 2k 1 veces y tienen grado 3k.
253
17.9
Superficies half-box
H (x)
= H(x|e3 v3 . . . vk ) ,
H (x)
= H(x|e3 v3 . . . vk )
(c
s(x) =
i H (x i) + ci H (x i))
2
iZ
es una combinaci
on afn de sus puntos de control y por lo tanto afinmente
invariante. Esto significa que bajo cualquier aplicacion afn las imagenes de
los puntos de control, determinan la superficie imagen de s(x).
Como los half-box splines son no negativos, s(x) es una combinacion convexa
de sus puntos de control y por lo tanto yace en la c
apsula convexa de estos.
angulos asociados i +
Si conectamos los puntos de control c
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.
254
vr c
Dvr s(x) =
i H (x i|v3 . . . vr . . . vk )
s
iZ
+vr c
i H (x i|v3 . . . vr . . . vk ) ) ,
donde v ci = ci civ .
(l(m
l(x) =
i )H (x i) + l(mi )H (x i)) .
2
iZ
(c
s(x) =
i H (x i) + ci H (x i))
2
iZ
17.10. Ejercicios
255
(d
s(x) =
i H (mx i) + di H (mx i))
2
iZ
puntos de control d
i y di (los cuales dependen de m) pueden calcularse
por k aplicaciones repetidas del algoritmo de subdivisi
on 15.9. Similarmente
al algoritmo de subdivision para box splines de 17.6, este algoritmo tiene
17.10
Ejercicios
256
B(x|v1 . . . vk )
1 X
(r B(x|v1 . . . vr . . . vk )
k s r=1
Pk
donde x = r=1 r vr . Esta formula fue descubierta por de Boor y Hollig
[de Boor & H
ollig 82]. En 1984 Boehm encontro una prueba geometrica
y descubri
o un mecanismo de evaluacion de los box splines similar al
algoritmo de de Boor [Boehm 84a].
5 Dada la malla de control hexagonal de una superficie half-box C 1 , sus
puntos de Bezier se pueden calcular usando las tres mascaras de la Figura
17.9 y de las versiones simetricas de estas mascaras. La Figura 17.9
tambien indica esquem
aticamente la parte relevante de la malla hexagonal y un tri
angulo de Bezier cuyo punto de control solido es calculado
por la m
ascara. Use estas mascaras para calcular la representacion de
Bezier de un half-box spline c
ubico, verificando que obtiene el resultado
correcto.
257
17.10. Ejercicios
continuacion se usa la mascara ilustrada en la Figura 17.10 para calcular los puntos de Bezier a traves de la malla subdividida [Boehm 83,
Prautzsch & Boehm 02].
Figura 17.10: Calculo de los puntos de Bezier de una superficie box spline cuartica
C2.
258
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
Los B-splines introducidos en el Captulo 5 tambien pueden construirse proyectando simples sobre el eje real. Concretamente, un B-spline es la funcion
densidad de la sombra de un simplex.
Esta interpretacion geometrica fue descubierta por Schoenberg en 1965 y Carl
de Boor [de Boor 76b] la utilizo para definir spline multivariados en 1976.
Esta interpretacion tambien permite una presentacion mas natural de las
propiedades recursivas y de suavidad de la insercion de nodos y de la elevacion
de grado.
18.1
Sombras de simples
1 x = {z IRk |z = x} ,
260
18.2
261
IRs
262
18.3
y
M (x) : M (x) = M (y) : M (y)
son constantes para todo x.
Como
M (x)dx = volk ,
IRs
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,
Z
M (x|a0 . . . ak )dx = 1 .
IRs
Observaci
on 3: Las propiedades de suavidad establecidas en 18.2 caracterizan un simplex spline univariado M (x|a0 . . . ak ) como un m
ultiplo de un
B-spline ordinario N (x|a0 . . . ak ) sobre los mismos nodos, vea 5.4. Por lo
tanto, se desprende del Ejercicio 2 de 5.12 que
M (x|a0 . . . ak ) =
k
N (x|a0 . . . ak ) ,
ak a0
263
18.4
Inserci
on de nodos
k
X
i ai ,
1=
k
X
i ,
i=0
i=0
k
X
(signi )Mi .
i=0
k+1
X
i=0
(i i )pi .
264
M (x|a0 . . . ak ) =
k
X
i M (x|a0 . . . ai . . . ak+1 )
i=0
para todo x donde los splines considerados son continuos. Vea [Micchelli 80]
y los Ejercicios 2 y 3. Observe tambien que el lado derecho de la formula de
insercion de nodos es una combinacion afn.
265
18.5
Una relaci
on de recurrencia
Si el nuevo nodo insertado ak+1 coincide con x, entonces la formula de insercion (1) de 18.3 se transforma en una representacion del simplex spline
en x como una combinacion afn de simplex splines, con x como un nodo,
especficamente
M (x|a0 . . . ak ) =
k
X
i M (x|x a0 . . . ai . . . ak ) ,
i=0
donde x =
i ai y 1 =
i .
Esto conduce a una formula recursiva pues los simplex splines del lado derecho
tienen grado mas bajo. Por ejemplo, sea 0 el simplex de vertices p p1 . . . pk
en IRk con sombra
M0 (x) = M (x|x a1 . . . ak ) ,
donde p, p1 , . . . , pk son los nodos x, a1 , . . . , ak . Suponemos que el simplex base , definido por los vertices p1 , . . . , pk yace en el hiperplano ortogonal a las fibras de la proyeccion .
Por lo tanto, si h denota la distancia eucldea entre p y , entonces se tiene
volk 0 =
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.
volks (0 1 x) =
k
M (x|a1 . . . ak ) .
ks
266
(2)
M (x|a0 . . . ak ) =
k X
i M (x|a0 . . . ai . . . ak ) ,
k s i=0
Esta relacion representa un simplex spline con k + 1 nodos como una combinacion lineal de los simplex spline de k nodos. Vease [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
k
M (x|a0 i.0 +1
. . a0 . . . as i.s +1
. . as ) =
s
B ks (u) ,
vols i
18.6
Derivadas
267
18.6. Derivadas
P
P
P
donde x0 =
i pi con
i = 1, representa un punto y v =
i pi con
P
i = 0, representa un vector en IRs . Derivando un B-spline s-variado
M (x|a0 . . . ak ) con respecto a t obtenemos la derivada direccional en x
con respecto a v, la cual se denota por M . La derivada direccional puede ser
expresada en terminos de B-splines M i = M (x| a0 . . . ai . . . ak ),
X
(3)
M = k
i M i .
M =
k X
1
i Mi ,
M+
k s i=0
ks
X d
k
d
i M (x|a0 . . . ai . . . ak ) .
M (x|a0 . . . ak ) =
k s 1 i=0 dt
dt
268
18.7
Ejercicios
v
v
p3
p1
v
p2
Figura 18.8: Triangulacion de un prisma.
6 Use el Ejercicio 5 para demostrar la f
ormula de elevaci
on de grado
de Micchelli para B-splines multivariados [Micchelli 79].
k
M (x|a0 . . . ak ) =
1 X
M (x|a0 a1 . . . ai ai . . . ak ) .
k + 1 i=0
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
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 Observacion 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 analoga el algoritmo
de de Casteljau para polinomios multivariados tambien se puede extender
[Seidel 91]. La idea se ilustra en las Figuras 19.1 y 19.2 para el caso de un
polinomio cuadratico c(x). Como anterirormente (vea la Figura 11.1) denotamos por x y, la evaluacion c[x y], de la forma polar correspondiente al
polinomio c.
270
n = {i|i Zs+1 , o i, i0 + + is = n} .
j = n1 0
271
ek
para todo i 6= j ,
y bei +ei yace en el plano generado por los puntos cei +ej , j = 0, . . . , s. La
Figura 19.5 muestra un ejemplo.
19.2
B-polinomios y B-parches
los polinomios Ckn (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
X
c(x) =
ci Cin (x) ,
in
272
s
X
k Cin1
ek (x) ,
k=0
Figura 19.3: La region sobre la cual todos los B-splines para n = s = 2 son
positivos.
Como los B-polinomios forman una particion de la unidad, c(x) es una combinacion afn de los puntos ci . Por lo tanto los B-parches son invariantes por
transformaciones afines. Es mas, para x , c(x) yace en la capsula convexa
de los B-puntos ci pues los B-polinomios son no negativos sobre .
Observaci
on 2: Si todos los nodos de cada cadena son iguales, es decir, So =
Sj para todo j, entonces los B-polinomios Cin coinciden con los polinomios
de Bernstein Bin sobre el simplex So pues ambos conjuntos de polinomios
satisfacen la misma relacion de recurrencia.
19.3
Precisi
on lineal
El polinomio identidad c(x) = x, de IRs , se puede representar com un Bparche de grado n con respecto a los nodos aji introducidos en 19.1. Como
273
1
(x1 + + xn ) ,
n
1 0
(a + + ai00 1 + + a0s + + aiss 1 ) .
n 0
Esto
es, los B-puntos de c(x) son ci = [xit ci ]t , tal como se ilustra en la Figura
19.5 para n = s = 2.
19.4
Derivadas de un B-parche
274
Figura 19.5: Un polinomio cuadratico con sus ordenadas como parche y como
B-parche de Bezier.
dado como un B-spline con respecto a una secuencia de nodos Ane tiene una
representacion como un B-parche de grado n 1 con respecto a la secuencia
de nodos An2e . Esta representacion depende de los puntos ci de una manera
elemental.
Sea x una direccion cualquiera de IRs y denotemos por
c (x) =
d
c(x + tx)|t=0
dt
j n1
s
X
k ajkk ,
0=
s
X
k ,
k=0
k=0
s
X
k=0
k cj+ek .
275
s
X
k cj+ek ,
k=0
j n1
sobre los simples xj+e0 . . . xj+es , donde 0 , . . . , s son las coordenadas baricentricas de x respecto a xj+e0 . . . xj+es .
Como k = nk , la derivada direccional de cj (x) en la direccion x es ncj y
se tiene que
la derivada de la B-malla consiste en los B-puntos de la derivada
c (x).
Esto se ilustra para una funcion cuadratica bivariada en la Figura 19.7.
19.5
B-splines multivariados
vol Si
M (x|Ai ) ,
( n+s
s )
i n
276
s
X
vol Sj j + s jk vol Sjk
M (x|Ajek ) ,
j+s
j vol Sj
s
s
k=0
j = |j| ,
277
(1)
s
X
jk
vol
S
j
e
k
jek
k=0
s
X
=
jkek Njek (x) ,
k=0
(2)
Njek (x)
19.6
a0k0 . . . a0ks ,
k = [k0 . . . ks ] K
278
k K,
donde
kK
\
j 0 . . . n1
la interseccion
j0 n
Skj
X X
kK in
kK
i n
279
forman una malla conexa, si para cualesquiera dos simples adyacentes Sko
y Sko
es de un cambio adecuado de ndices de manera que
, despu
k0 6= k0
[k1 . . . ks ] = [k1 . . . ks ] ,
19.7
Una relaci
on de recurrencia
Si el spline
s(x) =
XX
i
donde
dkj =
s
X
l
kj
ck,j+el
l=0
s
XXX
i l=0
.
ko = ko
280
Por aplicaciones sucesivas del argumento usado para deducir (1) se obtiene
k,j = k ,j
y consecuentemente
0
0
= kj
kj
.
19.8
Derivadas de un spline
de grado n = |i| con una malla de control conexa esta dada por
XX
d
c kj Nkj (x) ,
s(x + tx)|t=0 = n
dt
kK j
donde
c kj =
s
X
l ck,j+el
l=0
281
19.9
El teorema fundamental
= nsk [x Ak,je ]
s
X
= n
l sk [Ak,je+el ] ,
l=0
Por lo tanto (4) se verifica, salvo una constante. Pero como (2) es cierto sobre
k , (vea 19.4 y 19.5), esta constante es cero, lo cual concluye la prueba. 3
282
1
Aki e .
n
19.10
Ejercicios
p(x) =
kn+1
pk Ckn+1 (x)
a = a0 +
s
X
k=0
k ak0 ,
19.10. Ejercicios
283
284
Bibliografa
286
Bibliografa
Bibliografa
287
R.W. Clough and J.L. Tocher (1965). Finite element stiffness 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 refinement 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 Polya 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 Bezier 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
Bibliografa
Bibliografa
289
L. Kobbelt (2000). 3-Subdivision. Proceedings of SIGGRAPH 2000, Academic Press, New York, pages 103112.
290
Bibliografa
Bibliografa
291
292
Bibliografa
Bibliografa
293
Indice
A-marco, 37
generalizado, 95
abscisas
de Greville, 70, 80, 282
de Bezier, 21, 146
afines
invariante bajo aplicaciones, 69
afinmente
independientes, 4
invariante, 129, 144, 245, 253
afn
aplicacion, 5
combinacion, 5, 129, 144
coordenadas, 4
en cada variable, 25, 130, 155
espacio, 3
osculantes, 102
ajuste
por mnimos 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 numerica, 14, 146
generalizacion, 158, 269, 270
de Doo-Sabin, 226
de insercion de nodos, 101, 107
de la mariposa, 222, 235
de Lane-Riesenfeld, 30, 111,
206, 216, 226
de Oslo, 79
de promediacion en tres
direcciones, 220
de subdivision estacionaria, 109
esquema de promedios, 214
para la elevacion de grado, 81
aplicacion
caracterstica, 232
del esquema de subdivision,
232
lineal subyacente, 5
aproximacion, 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
conversion a la representacion,
69
de grado n, 68
derivada, 69
discretos, 79
escalados, 110
formula de recursion, 64, 111
gamma, 96
propiedades de suavidad, 67
recursion de de Boor, 69
representacion por, 59
296
tecnica, 77
trasladados, 110
una definicion recursiva, 62
uniformes, 109
Bangert, 177
base, 68, 143
de -splines, 96
polinomica 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
definicion, 239
densidad de la sombra, 240
subdivision de superfices, 246
superficie, 245
calculo
con esquema de diferencias, 212
con esquema de promedios, 214
capsula convexa, 64, 69, 245, 272
cadena de nodos, 277
caja de acotacion, 13, 33
cara
de dimension inferior, 144
de la malla de Bezier, 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
combinacion
afn, 129, 144
Indice
convexa, 12, 14, 64, 145, 245
conexion
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
geometrica G1 , 179
simple C r , 135
construccion
de Stark, 37, 60
geometrica de un box spline,
241
recursiva, 110
construccion Gk , 189
contacto
de orden r, 92
continuidad
de Frenet, 99
de superfices obtenidas por subdivision, 231
convergencia
bajo subdivision, 29, 159, 249
por elevacion de grado, 39, 83,
164
por insercion de nodos, 80
teorema
para C r -subdivision, 116
uniforme, 115
conversion
a la forma monomial, 22
a la representacion B-spline,
69
a la representacion de Bezier,
20
a la representacion tensorial
de Bezier, 166
a la representacion triangular
de Bezier, 167
Indice
de forma de Bezier a forma
monomial, 131
de forma monomial a forma
de Bezier, 131
entre las representaciones de
de Boor y de Bezier, 72
convexa
capsula, 5, 8, 12, 64, 69, 145,
272
combinacion, 5, 12, 14, 64, 145,
245
convexidad, 148, 152
limitaciones, 150
convolucion, 109
de N j1 con N 0 , 110
sucesiva, 239
coordenadas
baricentricas, 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
parametrica, 6
polinomica, 6
derivada, 35
suaves, 91
curva de Bezier, 11
recta tangente, 16, 18
curvatura, 99
de una c
ubica, 49
invariante euclideano, 100
prescrita, 56
curvatura continua
segmentos conectados por, 94
crculos 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 representacion de Bezier,
16
parcial, 36
DeRose, 167
desplazamientos uniformes, 40
diferencia
dividida, 47, 74
hacia adelante, 15, 16
hacia atras, 67
dimension, 4
distribucion polihipergeometrica, 39
Doo, 225, 226
Dyn, 105, 118, 120, 222
Eck, 38
ecuacion
de correlacion, 54
de refinamiento, 114, 117, 206,
212
funcional de un box spline, 242
normales, 54
normales de Gauss, 54
elemento
de Zwart-Powell, 244
elevacion de grado, 38, 69, 163
esquema
de diferencias, 115
calculo con, 117, 212
polinomio caracterstico, 213
de las v -diferencias, 213
de los cuatro puntos, 118, 119
298
Indice
Floater, 177
Foley, 52
forma polar, 65, 156
asociada, 26
del producto tensorial, 130
diagonal, 25
simetra, 25
tensorial, 130
funcion
caracterstica, 260
de conexion, 179
de densidad, 239
error de Gauss, 56
generatriz, 212
grafico de una, 6
potencial truncada, 74
racional, 180
racional por trozos, 105
formula
de elevacion de grado, 39, 82,
268
de Micchelli, 268
de Frenet, 98
de Hermite-Genocchi, 56
de insercion de nodos, 264
de recurrencia
de polinomios de Bernstein,
10
de recursion
de polinomios de Bernstein,
63, 143
Farin, 39, 40, 52, 93, 94, 162
fibra, 259
Filip, 31
Hagen, 167
half-box spline, 251
normalizados, 251
superficies, 253
Half-box splines
sobre mallas triangulares, 221
Hoschek, 52
Hollig, 249, 256
-A-marco, 95
-spline, 95, 108
Goldman, 167
Gordon, 65
graficacion
programa de, 30
Grandine, 151
Gravesen, 41
Gregory, 118, 222
299
Indice
entre formas monomial y de
Bezier, 131
interpolacion, 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 representacion de Bezier,
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
interpretacion geometrica, 251
interseccion, 32
de dos curvas de Bezier, 32
programa de, 33
invariantes
geometricos, 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
linearizacion, 55
Liu, 81
longitud de arco, 41, 94
parametrizacion por, 94
longitud de cuerdas, 52
Loop, 235
Lutterkort, 38
Lyche, 79, 81, 248
mascara, 207, 256
metodo
de Horner, 14
simplex, 53
macroparche, 198
malla
conexa, 279
cuadrilateral, 193, 215
de topologa arbitraria, 138
cuadrilateral no regular, 137
cuadrilateral regular, 136
de control, 278
secuencia, 209
de cuasi control, 140
de Bezier, 128, 144, 196
extraordinaria, 226
hexagonal, 219, 234
hexagonal regular, 254
regular, 215
subdivision repetida, 160
triangular, 215, 234
subdivision, 215
Mann, 167
Mansfield, 62, 69, 7476
marco, 4
de Frenet, 98
matriz
caracterstica, 220
de colocacion, 84
totalmente positiva, 85
de conexion, 92, 99
arbitraria, 104
totalmente positiva, 105
de subdivision, 114, 205, 230
estocastica, 230
Mazure, 103
Micchelli, 82, 105, 213, 230, 235,
245, 248, 262, 264, 267,
268
microtriangulo, 170
multiafn
polinomios simetricos, 27
300
-splines, 97
Nairn, 29
Nielson, 97
m-nodo, 260
nodos, 59, 260
algoritmo de insercion, 101, 107
cadenas, 270
convergencia por insercion, 80
eliminacion para B-splines, 79
formula de insercion, 264
insercion, 77, 105, 263
insercion repetida, 78
m
ultiples, 103
multiplicidad de, 68
nubes, 270
refinamiento, 77
notacion vectorial, 131
operador
de Bernstein, 23, 40, 152
de diferencia, 153
de duplicacion, 206, 216, 219
de promediacion, 206, 216, 225
de refinamiento, 206, 217, 225
del punto medio, 226
ordenadas de Bezier, 21, 146
origen
del sistema de coordenadas, 4
osculante, 101
afn, 102
diagonal, 101
generalizado, 105
primer, 101
propiedades, 101
segundo, 101
simetra, 101
osculante generalizado
diagonal, 105
parametro
de dise
no, 118
global, 11, 128, 142
local, 11, 128, 142
parametrizacion
centrpeta, 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
particion de la unidad, 10, 65, 68,
143, 245, 253, 272, 282
particion de prisma, 268
Peters, 38, 161, 186, 258
Piegl, 81
Piper, 81
plano
osculador, 16, 18
tangente, 134, 138, 148
continuo, 174
poliedro de Bezier, 148
convexos, 150
polinomio
caracterstico del esquema
de diferencias, 118, 213
de subdivision, 117, 213
de Bernstein, 9, 141, 266, 272
derivada de un, 15
derivadas parciales, 147
formula de recurrencia, 10,
63, 143
multivariados, 142
propiedades, 9
propiedades de simetra, 144
propiedades en dimension d,
142
races, 10
simetra, 10, 12, 143
de Hermite, 48
de Lagrange, 44, 126
de Laurent, 117
simetrico, 25, 101, 155
de la derivada, 161
elementales, 26, 156
multiafn, 102
relacion de recurrecncia, 26
Indice
polgono
convexo, 35
de control, 101
de diferencias, 115
de Bezier, 11
de Bezier 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
precision bilineal
de representacion de Bezier, 132
precision lineal, 21, 145, 146, 246,
254, 273
primer hodografo, 15
primera diferencia
hacia atras, 67
prisma
particion de, 268
problema
de la paridad, 185
del vertice compartido, 184
producto tensorial, 125
esquema, 206, 213
programacion lineal, 57
promedios crecientes, 211
propiedad
de variacion decreciente, 88
puntos
de control, 64, 66, 105, 126,
245, 249, 253
de cuasi control, 140
de Bezier, 11, 128, 144
dependientes, 199
extraordinarios, 227
libres, 199
Ramshaw, 26, 81, 156
raz
on simple, 4
recorte de esquinas, 34
recursion
de de Boor, 69
301
reduccion de grado, 38
refinamiento uniforme, 145
regla de Leibniz, 76
Reif, 29, 38, 138, 174, 202, 203,
225, 232, 234, 258
relacion de recurrencia, 143, 156
de B-polinomios, 272
de Micchelli, 266, 267
de polinomios simetricos, 26
formula para B-splines, 64
para box splines, 256
para la derivada del simplex
spline, 267
reparametrizacion, 190
representacion
de Bezier, 9, 11, 127, 143, 152,
157
de parches triangulares, 141
del spline, 79
monomial, 20
residual mnimo, 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
simetrico, 105
simetra, 128
de polinomios de Bernstein, 12
simplex
k-dimensional, 259
de referencia, 144
de Bezier, 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 topologa
arbitraria, 175
c
ubicos, interpolacion, 86
bases, 106, 107
bic
ubico C 1 de topologa
arbitraria, 138
c
ubicos periodicos, 87
con matrices de conexion
arbitraria, 104
cuarticos con torsion continua,
97
de grado n, 59
de orden n + 1, 60
de Tchebycheff, 103
empotrado, 87
multivariados, 269
nu, 97
representacion de Bezier, 79
simplex, 259
propiedades, 260
tensiones, 97
uniforme, 110
universal, 107
spline half-box, 222
Stark, 36, 93, 135
subdivision, 29, 36, 152
de la malla de Bezier, 158
de mallas hexagonales, 219
de mallas triangulares, 215
de superficies 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
superficie
Gk de topologa arbitraria, 193
box spline, 245
subdivision, 246
cerrada, 172
continuidad obtenida por
subdivision, 231
de Lagrange, 126
de topologa arbitraria, 136,
172
funcional, 7, 146, 273
half-box, 253
lmite, 227
parametrica, 7
polinomica, 7
producto tensorial, 125, 126
superficies suaves, 179
smbolo
del esquema de subdivision, 213
tecnica
de B-splines, 77
de diferencias
hacia adelante, 31
de Bezier, 25
para parches triangulares, 155
Taylor
expansion de, 22
tensorial
forma polar, 130
teorema
de convergencia, 116, 209
para C r -subdivision, 116
de Stark, 36, 61, 135, 162, 171
fundamental, 65, 157
interpretacion geometrica, 102
producto tensorial, 130
para curvas, 27
Schoenberg-Whitney, 84
teselado del soporte, 242
Tiller, 81
Tocher, 170
topologa arbitraria, 193
torsion, 99
Indice
restricciones, 185
torsion cruzada, 134
trasladado, 110
Trump, 40, 81, 89, 165
unimodular, 245
vertice, 144
compartido, 184
extraordinarios, 226
irregular, 193
regular, 193
variacion decreciente
propiedad, 34
vector
binormal, 98
normal, 98
tangente, 98
vectorial
espacio, 3
notacion, 131
Zhou, 39
303