stringtranslate.com

Spline cúbico de Hermite

En análisis numérico , un spline cúbico de Hermite o interpolador cúbico de Hermite es un spline donde cada pieza es un polinomio de tercer grado especificado en forma de Hermite , es decir, por sus valores y primeras derivadas en los puntos finales del intervalo de dominio correspondiente . [1]

Las splines cúbicas de Hermite se utilizan normalmente para la interpolación de datos numéricos especificados en valores de argumento dados , para obtener una función continua . Los datos deben consistir en el valor de la función deseada y la derivada en cada uno . (Si sólo se proporcionan los valores, las derivadas deben estimarse a partir de ellos). La fórmula de Hermite se aplica a cada intervalo por separado. El spline resultante será continuo y tendrá una primera derivada continua.

Los splines polinomiales cúbicos se pueden especificar de otras formas, siendo el cúbico de Bézier el más común. Sin embargo, estos dos métodos proporcionan el mismo conjunto de splines y los datos se pueden convertir fácilmente entre las formas Bézier y Hermite; por eso los nombres se suelen utilizar como si fueran sinónimos.

Los splines polinomiales cúbicos se utilizan ampliamente en gráficos por computadora y modelado geométrico para obtener curvas o trayectorias de movimiento que pasan por puntos específicos del plano o espacio tridimensional . En estas aplicaciones, cada coordenada del plano o espacio se interpola por separado mediante una función spline cúbica de un parámetro  t separado . Los splines polinomiales cúbicos también se utilizan ampliamente en aplicaciones de análisis estructural, como la teoría de vigas de Euler-Bernoulli . También se han aplicado splines polinomiales cúbicos al análisis de mortalidad [2] y al pronóstico de mortalidad. [3]

Los splines cúbicos se pueden extender a funciones de dos o más parámetros, de varias maneras. Las splines bicúbicas ( interpolación bicúbica ) se utilizan a menudo para interpolar datos en una cuadrícula rectangular regular, como valores de píxeles en una imagen digital o datos de altitud en un terreno. Los parches de superficie bicúbica , definidos por tres splines bicúbicas, son una herramienta esencial en los gráficos por computadora.

Los splines cúbicos a menudo se denominan csplines , especialmente en gráficos por computadora. Las splines de Hermite llevan el nombre de Charles Hermite .

Interpolación en un solo intervalo

Intervalo unitario [0, 1]

Las cuatro funciones básicas de Hermite. El interpolante en cada subintervalo es una combinación lineal de estas cuatro funciones.

En el intervalo unitario , dado un punto inicial en y un punto final en con tangente inicial en y tangente final en , el polinomio se puede definir como

t

Interpolación en un intervalo arbitrario.

La interpolación en un intervalo arbitrario se realiza asignando este último a través de un cambio de variable afín (grado 1). La fórmula es

Unicidad

La fórmula especificada anteriormente proporciona la única ruta polinómica de tercer grado entre los dos puntos con las tangentes dadas.

Prueba. Sean dos polinomios de tercer grado que satisfagan las condiciones de contorno dadas. Defina entonces:

Dado que ambos y son polinomios de tercer grado, es como máximo un polinomio de tercer grado. Entonces debe ser de la forma

Sabemos además que

Juntando ( 1 ) y ( 2 ) deducimos que , y por lo tanto,

Representaciones

Podemos escribir el polinomio de interpolación como

La columna "ampliada" muestra la representación utilizada en la definición anterior. La columna "factorizada" muestra inmediatamente que y son cero en los límites. Además, puedes concluir que y tienen un cero de multiplicidad 2 en 0, y y tienen ese cero en 1, por lo que tienen pendiente 0 en esos límites. La columna "Bernstein" muestra la descomposición de las funciones básicas de Hermite en polinomios de Bernstein de orden 3:

Usando esta conexión puedes expresar la interpolación cúbica de Hermite en términos de curvas cúbicas de Bézier con respecto a los cuatro valores y hacer la interpolación de Hermite usando el algoritmo de Casteljau . Muestra que en un parche de Bézier cúbico los dos puntos de control en el medio determinan las tangentes de la curva de interpolación en los respectivos puntos exteriores.

También podemos escribir el polinomio en forma estándar como

t,

Interpolando un conjunto de datos

Un conjunto de datos, para , se puede interpolar aplicando el procedimiento anterior en cada intervalo, donde las tangentes se eligen de manera sensata, lo que significa que las tangentes para intervalos que comparten puntos finales son iguales. La curva interpolada consta entonces de splines cúbicas de Hermite por partes y es globalmente diferenciable de forma continua en .

La elección de tangentes no es única y hay varias opciones disponibles.

Diferencia finita

Ejemplo con tangentes en diferencias finitas

La opción más sencilla es la diferencia de tres puntos, que no requiere longitudes de intervalo constantes:

para puntos internos y diferencia unilateral en los puntos finales del conjunto de datos.

spline cardinal

Ejemplo de spline cardinal en 2D. La línea representa la curva y los cuadrados representan los puntos de control . Observe que la curva no llega al primer ni al último punto; Estos puntos, sin embargo, afectan la forma de la curva. El parámetro de tensión utilizado es 0,1.

Un spline cardinal , a veces llamado spline canónico , [4] se obtiene [5] si

se utiliza para calcular las tangentes. El parámetro c es un parámetro de tensión que debe estar en el intervalo [0, 1] . En cierto sentido, esto puede interpretarse como la "longitud" de la tangente. Elegir c  = 1 produce todas las tangentes cero, y elegir c  = 0 produce una spline de Catmull-Rom en el caso de parametrización uniforme.

Spline de Catmull-Rom

Interpretación geométrica de la interpolación cúbica de Catmull-Rom del punto negro con abscisas uniformemente espaciadas. [6]

Para tangentes elegidas como

Se obtiene un spline Catmull-Rom , siendo un caso especial de spline cardinal. Esto supone un espaciado uniforme de los parámetros.

La curva lleva el nombre de Edwin Catmull y Raphael Rom . La principal ventaja de esta técnica es que los puntos a lo largo del conjunto original de puntos también constituyen los puntos de control de la curva spline. [7] Se requieren dos puntos adicionales en cada extremo de la curva. La implementación uniforme de Catmull-Rom puede producir bucles y autointersecciones. Las implementaciones cordales y centrípetas de Catmull-Rom [8] resuelven este problema, pero utilizan un cálculo ligeramente diferente. [9] En gráficos por computadora , los splines de Catmull-Rom se utilizan con frecuencia para obtener un movimiento interpolado suave entre fotogramas clave . Por ejemplo, la mayoría de las animaciones de trayectoria de cámara generadas a partir de fotogramas clave discretos se manejan mediante splines Catmull-Rom. Son populares principalmente por ser relativamente fáciles de calcular, lo que garantiza que cada posición del fotograma clave se alcanzará exactamente y también garantiza que las tangentes de la curva generada sean continuas en múltiples segmentos.

Spline de Kochanek-Bartel

Una spline de Kochanek-Bartels es una generalización adicional sobre cómo elegir las tangentes dados los puntos de datos , y , con tres parámetros posibles: tensión, sesgo y un parámetro de continuidad.

Interpolación cúbica monótona

Si se utiliza un spline cúbico de Hermite de cualquiera de los tipos enumerados anteriormente para la interpolación de un conjunto de datos monótono , la función interpolada no será necesariamente monótona, pero la monotonicidad se puede preservar ajustando las tangentes.

Interpolación en el intervalo unitario con derivadas coincidentes en los puntos finales

Considere una sola coordenada de los puntos y como los valores que toma una función f ( x ) en ordenadas enteras x  = n  − 1, n , n  + 1 y n  + 2,

Además, supongamos que las tangentes en los puntos finales se definen como las diferencias centradas de los puntos adyacentes:

Para evaluar la f ( x ) interpolada para una x real , primero separe x en la porción entera n y la porción fraccionaria u :

donde denota la función suelo , que devuelve el número entero más grande no mayor que x .

Entonces el spline de Catmull-Rom es [10]

transposición de la matrizmétodo de Horner

Este escrito es relevante para la interpolación tricúbica , donde una optimización requiere calcular CINT u dieciséis veces con la misma u y diferente p .

Ver también

Referencias

  1. ^ Erwin Kreyszig (2005). Matemáticas de Ingeniería Avanzada (9 ed.). Wiley. pag. 816.ISBN 9780471488859.
  2. ^ Stephen Richards (2020). "Un modelo Hermite-spline de mortalidad posterior a la jubilación". Revista actuarial escandinava . Taylor y Francis: 110-127. doi :10.1080/03461238.2019.1642239.
  3. ^ Sixian Tang, Jackie Li y Leonie Tickle (2022). "Un enfoque spline de Hermite para modelar la mortalidad de la población". Anales de la ciencia actuarial . Prensa de la Universidad de Cambridge: 1–42. doi :10.1017/S1748499522000173.
  4. ^ Petzold, Charles (2009). "Splines canónicos en WPF y Silverlight".
  5. ^ "Estrías cardinales". Red de desarrolladores de Microsoft . Consultado el 27 de mayo de 2018 .
  6. ^ La interpolación cúbica no es única: este modelo que utiliza una spline de Catmull-Rom y polinomios de base de Lagrange pasa por los cuatro puntos. Nota: Si el punto negro está a la izquierda del punto amarillo, la distancia horizontal amarilla es negativa; si el punto negro está a la derecha del punto verde, la distancia horizontal verde es negativa.
  7. ^ Catmull, Edwin ; Rom, Raphael (1974), "Una clase de splines de interpolación local", en Barnhill, RE; Riesenfeld, RF (eds.), Diseño geométrico asistido por computadora , Nueva York: Academic Press, págs.
  8. ^ N. Dyn, MS Floater y K. Hormann. Subdivisión de curvas de cuatro puntos basada en parametrizaciones cordales y centrípetas iteradas. Diseño geométrico asistido por computadora, 26(3):279–286, 2009.
  9. ^ PJ Barry y RN Goldman. Un algoritmo de evaluación recursivo para una clase de splines Catmull-Rom. Gráficos por computadora SIGGRAPH, 22(4):199–204, 1988.
  10. ^ Dos jerarquías de interpolaciones splines. Algoritmos prácticos para splines multivariados de orden superior.

enlaces externos