1 votos

De la base de la curva de Bézier a las funciones de base B Spline

Las funciones de base de Bézier pueden determinarse mediante recursión:

$B_{i,p} = (1-t)B_{i,p-1}+tB_{i-1,p}$

Así que para una base bezier cuadrática, obtenemos:

$1-2t+t^2$

$2t-2t^2$

$t^2$

Así que para una curva de Bézier cuadrática simplemente tomamos combinaciones lineales de estas funciones base y obtenemos una curva en el espacio.. Pero el problema es que si introducimos otro punto de control, como en la imagen de abajo, entonces elevamos el orden así que..

¡Entra en escena B-splines! No son más que curvas de Bézier continuas a trozos. Pero, ¿cómo podemos derivar las funciones de base B-spline sin utilizando la fórmula de recursividad deBoor-cox?

Consideremos este ejemplo:

enter image description here

¿Cómo se impone? $C^1$ continuidad y partición de la unidad para obtener las funciones de base de este ejemplo?

Podemos imaginar que, para este ejemplo, queremos derivar manualmente las funciones base B-spline correspondientes al vector nudo: [0 0 0 .5 1 1 1]

2voto

bubba Puntos 16773

Tome su ejemplo de splines cuadráticas con nudos $[0,0,0,0.5,1,1,1]$ . Tenemos que construir cuatro funciones de base $b_0, b_1, b_2, b_3$ . Cada uno de ellos tiene que ser un cuadrático a trozos con una unión en $t=0.5$ .

Por simetría, $b_4(t) = b_0(1-t)$ y $b_3(t) = b_2(1-t)$ por lo que sólo tenemos que preocuparnos de $b_0$ y $b_1$ .

Queremos que la curva comience en $\mathbf{P}_0$ por lo que necesitamos $b_0(0) = 1$ y $b_i(0) = 0$ para $i=1,2,3$ .

Queremos la derivada de la curva en $t=0$ sea múltiplo de $\mathbf{P}_1 - \mathbf{P}_0$ que obtenemos si $b_0'(0) = -b_1'(0)$ y $b_2'(0) = 0$ y $b_3'(0) = 0$ .

También hay que cumplir numerosas condiciones de continuidad, etc.

Si escribes todas las condiciones, verás que sólo hay un conjunto de cuatro cuadráticas a trozos que las satisface: las funciones base cuadráticas b-spline.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X