La realización de un B-spline consta de 3 partes: hacer los nodos, generar las funciones básicas y generar el propio B-spline.

    Nodos

          Consiste en calcular una serie de puntos equidistantes. El único requisito par el vector de nodos es que cumpla la siguiente relación:



          Dependiendo del número de puntos y el orden del B-spline se obtendrá un conjunto de puntos que usualmente comienzan con el 0 y de forma periódica van aumentando.

    Para cada tipo de B-splines existen nodos diferentes:
    • En el caso de los uniformes se utiliza la siguiente función:



      Ej: [0,1,2,3,4] [0,0.25,0.5,0.75,1]
      Como se puede comprobar no tienen por qué ser incrementos enteros.

    • En los uniformes abiertos el vector de nodos tienen multiplicidad de valores al final del vector igual que el orden de la función base del B-spline.



      Donde k es el orden del B-spline y n el número de puntos.

      Ej: [0,0,1,2,3,4,4] [0,0,0,0,1,2,2,2,2]
      Para el primer ejemplo el orden es 2 y para el segundo ejemplo el orden es 4. La multiplicidad también se observa al principio del vector.

    Funciones Básicas

          Establece la relación entre el polígono (los vértices del polígono que son los puntos de entrada) y la curva.

          La elección del vector de nodos no influye en la función base. El resultado de las funciones básicas uniformes abiertas generan curvas que se comportan como curvas de bezier.



    Éste cálculo es común para los dos tipos de B-spline. Se adapta el convenio de que 0/0 es 0.

    Creación del B-spline

          Finalmente, haciendo el producto matricial entre los valores obtenidos en las funciones básicas y de los vértices poligonales se obtiene el punto de la curva resultante. Iterando el resultado de la función básica sobre los vértices del polígono se va obteniendo toda la curva del B-spline.

Última modificación el