stringtranslate.com

Spline cúbico de Hermite

En análisis numérico , un spline de Hermite cúbico o interpolador de Hermite cúbico 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]

Los splines cúbicos 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 constar del valor de la función deseada y la derivada en cada . (Si solo 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 polinómicos cúbicos se pueden especificar de otras maneras, 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 de Bézier y Hermite; por lo que los nombres se usan a menudo como si fueran sinónimos.

Los splines polinómicos cúbicos se utilizan ampliamente en gráficos de 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 separado  t . Los splines polinómicos cúbicos también se utilizan ampliamente en aplicaciones de análisis estructural, como la teoría de vigas de Euler-Bernoulli . Los splines polinómicos cúbicos también se han aplicado 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. Los splines bicúbicos ( 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úbicos , definidos por tres splines bicúbicos, son una herramienta esencial en los gráficos por computadora.

Las splines cúbicas suelen denominarse líneas CSP , especialmente en gráficos por ordenador. Las splines de Hermite reciben su nombre de Charles Hermite .

Interpolación en un solo intervalo

Intervalo unitario [0, 1]

Las cuatro funciones base de Hermite. El interpolador 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 por donde t ∈ [0, 1].

Interpolación en un intervalo arbitrario

La interpolación en un intervalo arbitrario se realiza mediante la asignación de este último a través de un cambio de variable afín (de grado 1). La fórmula es donde , y se refiere a las funciones base, definidas a continuación. Tenga en cuenta que los valores de la tangente se han escalado en comparación con la ecuación en el intervalo unitario.

Unicidad

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

Demostración. Sean dos polinomios de tercer grado que satisfacen las condiciones de contorno dadas. Definamos entonces:

Dado que tanto y son polinomios de tercer grado, es como máximo un polinomio de tercer grado. Por lo tanto, debe tener la forma Calcular la derivada da

Sabemos además que

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

Representaciones

Podemos escribir el polinomio de interpolación como donde , , , son funciones base de Hermite. Estas pueden escribirse de diferentes maneras, cada una de las cuales revela diferentes propiedades:

La columna "expandida" muestra la representación utilizada en la definición anterior. La columna "factorizada" muestra inmediatamente que y son cero en los límites. Se puede concluir además que y tienen un cero de multiplicidad 2 en 0, y y tienen dicho cero en 1, por lo que tienen pendiente 0 en esos límites. La columna "Bernstein" muestra la descomposición de las funciones base de Hermite en polinomios de Bernstein de orden 3:

Con esta conexión, se puede expresar la interpolación de Hermite cúbica en términos de curvas de Bézier cúbicas con respecto a los cuatro valores y realizar la interpolación de Hermite utilizando el algoritmo de Casteljau . Esto demuestra 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 puntos externos respectivos.

También podemos escribir el polinomio en forma estándar como donde los puntos de control y las tangentes son coeficientes. Esto permite una evaluación eficiente del polinomio en varios valores de t, ya que los coeficientes constantes se pueden calcular una vez y reutilizar.

Interpolación de 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 los intervalos que comparten puntos finales son iguales. La curva interpolada consta entonces de splines de Hermite cúbicos 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 de 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 alcanza el primer y el último punto; sin embargo, estos puntos 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 se puede interpretar como la "longitud" de la tangente. Elegir c  = 1 da como resultado todas las tangentes cero, y elegir c  = 0 da como resultado una spline de Catmull–Rom en el caso de parametrización uniforme.

Ranura Catmull-Rom

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

Para las tangentes elegidas se

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

La curva recibe su 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 forman los puntos de control para 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 e intersecciones propias. Las implementaciones de Catmull-Rom cordal y centrípeta [8] resuelven este problema, pero utilizan un cálculo ligeramente diferente. [9] En gráficos por computadora , las 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 trayectorias de cámara generadas a partir de fotogramas clave discretos se manejan utilizando splines de Catmull-Rom. Son populares principalmente por ser relativamente fáciles de calcular, garantizando que cada posición de fotograma clave se alcanzará exactamente y también garantizando que las tangentes de la curva generada sean continuas en múltiples segmentos.

Ranura de Kochanek-Bartels

Un 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 de Hermite cúbico de cualquiera de los tipos enumerados anteriormente para la interpolación de un conjunto de datos monótonos , la función interpolada no necesariamente será monótona, pero la monotonía se puede preservar ajustando las tangentes.

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

Consideremos una única coordenada de los puntos y como los valores que una función f ( x ) toma en las 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 un x real , primero separe x en la parte entera n y la parte fraccionaria u :

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

Entonces, la spline de Catmull–Rom es [10] donde denota la matriz transpuesta . La igualdad inferior representa la aplicación del mé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 el mismo u y diferente p .

Véase también

Referencias

  1. ^ Erwin Kreyszig (2005). Matemáticas avanzadas para ingeniería (novena edición). Wiley. pág. 816. ISBN 9780471488859.
  2. ^ Stephen Richards (2020). "Un modelo Hermite-spline de mortalidad posterior a la jubilación". Scandinavian Actuarial Journal . Taylor y Francis: 110–127. doi :10.1080/03461238.2019.1642239.
  3. ^ Sixian Tang, Jackie Li y Leonie Tickle (2022). "Un enfoque de spline de Hermite para modelar la mortalidad de la población". Anales de la ciencia actuarial . Cambridge University Press: 1–42. doi :10.1017/S1748499522000173.
  4. ^ Petzold, Charles (2009). "Splines canónicos en WPF y Silverlight".
  5. ^ "Cardinal Splines". Microsoft Developer Network . Consultado el 27 de mayo de 2018 .
  6. ^ La interpolación cúbica no es única: este modelo que utiliza un 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 interpoladores locales", en Barnhill, RE; Riesenfeld, RF (eds.), Computer Aided Geometric Design , Nueva York: Academic Press, págs. 317–326
  8. ^ N. Dyn, MS Floater y K. Hormann. Subdivisión de curvas de cuatro puntos basada en parametrizaciones iteradas de cuerdas y centrípetas. Computer Aided Geometric Design, 26(3):279–286, 2009.
  9. ^ PJ Barry y RN Goldman. Un algoritmo de evaluación recursiva para una clase de splines Catmull-Rom. SIGGRAPH Computer Graphics, 22(4):199–204, 1988.
  10. ^ Dos jerarquías de interpolaciones de splines. Algoritmos prácticos para splines multivariados de orden superior.

Enlaces externos