Splines cúbicos
Los splines cúbicos se utilizan para conectar los puntos suavemente. Escribe la implementación de la clase Curve que:
- Acepta una lista o un conjunto de tuplas
(x, y). - Construye
n-1splines parannodos únicos. - Calcula
ypara unxdado. - Encuentra el
miny elmaxde la curva. - Admite la adición y eliminación de nodos.
- Admite los operadores sobrecargados
+,-.
Una descripción más detallada de la clase, con los nombres de los métodos, se encuentra en las cadenas de documentación de la ventana de código.
Ejemplos
Para las 6 listas de nodos proporcionadas en Tests, se construyen las siguientes curvas:

Notas
- En el uso práctico de los splines,
xse encuentra dentro del rango de los nodos, pero en este desafíoxpuede estar en cualquier lugar para calculary. - El mínimo o el máximo puede encontrarse en un nodo o en algún punto intermedio si un spline se curva. El rango de búsqueda está restringido al rango de los nodos; fuera de este rango, la curva tiende al infinito.
- El algoritmo para construir splines es bastante sencillo y está bien explicado en la página wiki: Spline (matemáticas).