Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En aplicaciones de diseo, una curva o superficie se define a menudo, especificando interactivamente un conjunto de puntos de
control, los cuales indican la forma de la curva. Estos puntos de control sern usados por GeoGebra para formar ecuaciones
paramtricas polinmicas y dibujar la curva definida. Cuando la curva desplegada pasa a travs de los puntos de control, se dice que
interpola los puntos de control.
Por otro lado, se dice que los puntos de control se aproximan si la curva desplegada pasa cerca de ellos.
Existen muchas tcnicas para determinar ecuaciones paramtricas polinmicas de curvas y superficies, dada las coordenadas de los
puntos de control. Entre los mtodos bsicos para representar curvas especificas con puntos de control, se incluyen las formulaciones
de las curvas de Bzier, de Hermite y las curvas B-Spline.
Curva de Bzier
Curva de Hermite
B-Spline cbica
: (1 ) . Obsrvese que 1 + = 1.
Esta propiedad le confiere a la curva una importante propiedad: Queda en el interior de la clausura convexa que determinan el
conjunto de sus puntos de control. Su construccin con GeoGebra ser as.
A partir de los puntos dados, A, B, C, D, creamos dos listas
1 = 2 = .Copiamos en la lnea de entrada:
= 3, 1
= 3, 1
1 , + 1 , , 0, 3
2 , + 1 , , 0, 3
= [_(), _(), , 0, 1]
0 1 :
0 1 : son las coordenadas de los vectores de entrada y salida, sobre las semitangentes ( = = )
Para mayor claridad, emplearemos notacin matricial:
= () = , = 3 + 2 + + = 3 2 1 .
1 = 3 + 2 +
0
1
0
1
0001
1111
.
; = .
0010
3210
0001
2
1111
= 1 = 3
0010
0
1
3210
3
=
0
1
2 1
3 2
0 1
0 0
2 1
3 2
0 1
0 0
1
1
0
0
0
1
1 . 1
0
0
0
1
Por tanto, = = ,
= = ,
2
1 . 3
0
1
2
3
1 .
0
1
2 1
3 2
0 1
0 0
2 1
3 2
0 1
0 0
0
1
1 . 1
0
0
0
1
0
1
1 . 1
0
0
0
1
0
1
= = 2 3 3 2 + 1, 2 3 + 3 2 , 3 2 2 + , 3 2 .
0
1
Por fin, = = 2 3 3 2 + 1) 0 + 2 3 + 3 2 1 + 3 2 2 + 0 + ( 3 2 1
= ,
= ,
0
2 2 1 1
1
3
3
2
1
.
1 .
0
0 0 1 0
1 0 0 0
1
1
1 3 3 1
2
3
6
3
0
.
1 .
3
3 3 0 0
1 0 0 0
4
3
0
0 0 1 0
3 3 0 0
1 0 0 0
1
0
0
0
4
1
0
1
0
1
0
1
0
1
0
1
0
3
0
1
0
2
1
0
3
0
0
1
1
1
0
1
0
1
2 2 1 1
3 3 2 1
0 0 1 0
1 0 0 0
1
1 3 3 1
2
3
6
3
0
.
.
3
3 3 0 0
1 0 0 0
4
1
1
1 3 3 1
1 . 3 6 3 0 . 2
3
0
3 3 0 0
0
1 0 0 0
4
0 0
0 0
3 0
0 3
1
0
1 . 2
3
0
3
4
Esta relacin nos indica que los puntos de Hermite han de obtenerse a partir de los de Bzier en el siguiente orden:
= = 1 =
= = 4 =
; = 3. 1 2
; = 3. 3 4
(Ver archivo) Construccion_1_Bezier_Hermite
4.-Splines. Introduccin.
Los splines son una familia de curvas que nos van a permitir definir segmentos de curva con gran precisin y trazado muy suave. Son
de gran utilidad en aplicaciones para el diseo de superficies. Se distinguen varios tipos de Splines.
El primer tipo son los splines cbicos naturales, que se corresponden con la representacin matemtica de la definicin de spline.
Tambin existe una subfamilia de splines llamada B-Splines, y dentro de esta familia se distinguen los splines no racionales y
uniformes, los splines no racionales y no uniformes y los splines racionales y no uniformes.
Este tipo de splines presenta continuidad C0, C1 y C2, por lo tanto su trazado es ms suave que en el caso de las curvas
de Bzier o Hermite. Los splines cbicos naturales se definen mediante una serie de puntos de control y polinomios cbicos que
interpolan dichos puntos de control (el spline se dibuja sobre los puntos de control).
Si definimos un spline con n puntos de control, los coeficientes de los polinomios dependen de todos estos puntos.
Para su clculo es necesario operar con matrices cuadradas de dimensin n + 1 siendo necesario invertirlas.
El programa GeoGebra tiene implementadas estas dos herramientas y construcciones. Veamos ahora cmo conseguirlo.
Se desea obtener el spline cbico natural que interpole a los puntos dados A, B, C y D (NODOS)
1 + 1 + 1 2 + 1 3
= = 2 + 2 + 2 2 + 2 3
3 + 3 + 3 2 + 3 3
1.
2.
3.
4.
5.
6.
7.
4 condiciones
Igualdad de la funcin
en los nodos interiores
2 condiciones
Igualdad de la funcin
en los nodos extremos
2 condiciones
Igualdad de la funcin
8. derivada primera en los
nodos interiores
9. 2 condiciones
Igualdad de la funcin
10. derivada segunda en los
nodos interiores
11. 2 condiciones
(SPLINES NATURALES)
Nulidad de la funcin
12. derivada segunda en los
nodos extremos
1 + 1 x
2 + 2 x
2 + 2 x
3 + 3 x
1 + 1 x
B
B
C
C
A
() ()
() ()
() ()
+ 1
+ 2
+ 2
+ 3
+ 1
+ 1
+ 2
2
+ 2
2
+ 3
2
+ 1
2
=y B
=y B
3
=y C
3
=y C
2
= y(A)
3
3 + 3 x D + 3 2 + 3 2 = y(D)
1 + 21 x B + 31 2 2 22 x B 32
2 + 22 x C + 32
3 23 x C 33
1 + 31 x B 2 32 x B = 0
2 + 32 x C 3 33 x C = 0
1 + 31 x A = 0
3 + 33 x D = 0
=0
=0
1 ui t < ui+1
, i = 0,1, , n 1 .
0 en otro caso
tu i
u i+k 1 u i
Ni,k1 t +
u i+k t
u i+k u i+1
Ni+1,k1 t
(I)
,k > 1
()
Del modo en el que estn dispuestos estos nodos en la lista = {u0 , u1 , u2 , , un } , depender el tipo de B-Spline a considerar.
Si son todos distintos y equidistantes, estaremos hablando de una B-Spline uniforme.
Si hay algunos nodos iguales, estaremos hablando de una B-Spline no uniforme. En este caso, convenimos que en los casos de
denominadores nulos, el trmino asociado a dicha fraccin es nulo tambin.
Ntese que la i-sima funcin base B-spline de orden 1, Ni,1 t es una funcin constante definida a trozos con valor 1 en el intervalo
[ui , ui+1 ), llamado el soporte de Ni,1 t , y cero en otro caso. Este soporte puede comprender un intervalo o reducirse a un punto, puesto
0
que los nodos ui y ui+1 no son necesariamente diferentes. De ser necesario se aplica la convencin = 0 en la ecuacin (II). El
0
nmero de veces que aparece un nodo en un vector nodo es llamado la multiplicidad del nodo y tiene un efecto importante en la forma
y propiedades de las funciones base asociadas. Cualquier funcin base de orden k>1 Ni,k t , es una combinacin lineal de dos
funciones consecutivas de orden k-1, donde los coeficientes son polinomios lineales en t. Pues bien, para un conjunto de Puntos
P0 , P1 , , Pn y un vector de nodos = {u0 , u1 , u2 , , un } la curva B-Spline de orden k relativa a estos datos ser C t = ni=0 Ni,k (t)Pi
B-Spline no racional y uniforme (tiene todos los nodos distintos y estn equidistantes entre s)
Construccin de las funciones base B-Splines (Ver archivo) Construccion_1_FuncionesBasicasBSplines
Para el vector nodo = {0,1,2,3,4,5,6,7} y el conjunto de puntos {A, B, C, D, E}, las funciones bsicas y la curva de orden 3 (grado 2) se
determinarn as con GeoGebra:
Ni0 = N01
2 t
N01(t 1) Ni2 = N02
21
3 t
N02(t 1) Ni3 = N03
31
Para el vector nodo = {0,1,2,3,4,5,6,7,8} y el conjunto de puntos {A, B, C, D, E}, las funciones bsicas y la curva de orden 4
(grado 3) se determinarn as con GeoGebra:
B_basic orden 1 N01 = Si 0
0
B_basic orden 2 N02 =
10
0
B_basic orden 3 N03 =
20
0
B_basic orden 4 N04 =
30
0<1
6
2
Si explicitamos las operaciones indicadas en las definiciones recursivas, obtenemos que N04 =
2 + 2
3
22
3
+ 10 4 2 +
1
6
4 +
1<2
2
3
2
2<3
3<4
en otro caso
04() = [0 1, / 6, [1 2, 2 / 3 2 + 2 / 2, [2 3, (22) / 3 + 10 4 + / 2, [3
4, (1) / 6 (4 + ), 0]]]]
Si consideramos el vector = {0,1,2,3,4,5,6,7,8,9} y los puntos {A, B, C, D = A, E = B, F = C} obtenemos una B-Spline cbica cerrada.
00
N01=0
00
N11=0
01
12
31 = 1 2,1,0
22
N41=0
000
N02=0
001
012
22 = 21 + 2 31
122
32 = 1 31
222
N42=0
0001
03 = 1 12
0012
0122
2
13 = 12 +
22()
2
23 =
1222
33 = 1 32()
21 = [0 1,1,0]
12 = 1 21
22 + 2 32()
2
22
N51=0
00
N01=0
00
N11=0
01
21 = [0 1,1,0]
31
= 1 2,1,0
000
N02=0
001
012
22 = 21 + 2 31
122
32 = 1 31
0001
0012
13
1222
33 = 1 32()
F
bsicas
orden 4
00012
04
0122
23
= 22 + 2 32()
2
01222
24
= 23 + 2 33()
2
12 = 1 21
03 = 1 12
= 12 +
= 03 +
2
13()
2
2
22()
2
00122
14
2
= 13 +
23()
2
2
12
22
N41=0
22
N51=0
222
N42=0
00
N01=0
00
N11=0
01
21 = [0
1,1,0]
11
N31=0
F
bsicas
orden 2
F
bsicas
orden 3
000
N02=0
011
22 = 21()
F
bsicas
orden 4
00011
04
= 03
+ 1 13()
001
12
= 1 21()
0011
13
= 12
+ 1 22()
00112
14
= 13
2
+
23()
2
112
32
= 2
1122
33
= 1
+ 2
11222
34
= 1
+ 2
0001
03
= 1 12()
0112
23
= 22
+ 2 32()
01122
24
= 23
2
+ 2 33()
12
41()
32
42()
41
= 2
2,1,0
122
42
= 1 41()
1222
43
= 1 42
22
N51=0
22
N61=0
222
N52=0
33
43()
00
N01=0
00
N11=0
00
000
N02=0
000
0000
03 = 0
0001
13 = (1 ) 22
F
bsicas
orden 4
00001
04
= 1 13()
21 = 0
12 = 0
00011
14
= 13 + (1
)23()
001
22 = (1 ) 31()
0011
23
= 22
+ 1
00111
24
= 23
+ 1
01
31
= 0 1,1,0
011
32 = 31
0111
33 = 32
32()
01111
34 = 33
33()
11
41
=0
111
42
=0
1111
43
=0
11
N51=0
111
N52=0
11
N61=0