-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMetodoController.py
45 lines (35 loc) · 1.34 KB
/
MetodoController.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
from Metodos import *
from sympy import *
x = symbols('x')
class MetodoController():
clases = {"Lagrange": Lagrange(), "Newton Gregory progresivo": NewtonGregoryProgresivo(),
"Newton Gregory regresivo": NewtonGregoryRegresivo()}
def cargar(self, dominio, imagenes, metodoPol):
self.metodo = self.clases[metodoPol]
self.metodo.setDominio(dominio)
self.metodo.setImagen(imagenes)
self.polinomio = self.metodo.obtenerPolinomioInterpolante()
self.grado = degree(self.polinomio)
# self.pasos = calcularPasos()
def obtenerPolinomio(self):
return self.polinomio
def obtenerGrado(self):
return self.grado
def obtenerPasos(self):
return self.metodo.mostrarPasos()
def obtenerImagen(self, punto):
return self.metodo.obtenerValorPara(punto)
def esEquiespaciado(self):
dominio = self.metodo.getDominio()
espacio = abs(dominio[0] - dominio[1])
if self.tienenDistancia(dominio, 0, espacio):
return "Si"
else:
return "No"
def tienenDistancia(self, puntos, pos, dist):
if pos == len(puntos) - 1:
return true
else:
p1 = puntos[pos]
p2 = puntos[pos + 1]
return (abs(p1 - p2) == dist) and self.tienenDistancia(puntos, pos + 1, dist)