Splines cúbicos
Os splines cúbicos são usados para conectar os pontos suavemente. Escreva a implementação da classe Curve que:
- Aceita uma lista ou um conjunto de tuplas
(x, y). - Constrói
n-1splines parannós únicos. - Calcula
ypara umxfornecido. - Encontra o
mine omaxda curva. - Permite adicionar e remover nós.
- Permite os operadores sobrecarregados
+,-.
Uma descrição mais detalhada da classe, com os nomes dos métodos, está nas strings de documentação da janela de código.
Exemplos
Para as 6 listas de nós fornecidas em Tests, as seguintes curvas são construídas:

Observações
- No uso prático dos splines,
xestá dentro do intervalo dos nós, mas neste desafioxpode estar em qualquer lugar para calculary. - O mínimo ou o máximo pode estar em um nó ou em algum ponto dentro do intervalo se um spline fizer uma curva. O intervalo de busca é restrito ao intervalo dos nós; fora dele, a curva tende ao infinito.
- O algoritmo para construir splines é bastante simples e está bem explicado na página da wiki: Spline (matemática).