La tarea
Escriba una función L () que tome dos argumentos Tuple de coordenadas en la forma (x, y), y devuelva sus respectivas funciones lineales en la forma (a, c), donde a es el coeficiente del término x y c es la intersección en y.
Puede suponer que la entrada no será una línea perpendicular al eje xy que las dos entradas son puntos separados.
Puntuación
Este es Code Golf: el programa más corto gana.
Nota: no se utilizan funciones matemáticas aparte de los operadores básicos (+, -, /, *).
Ejemplo
Aquí está mi solución sin golf en Python.
def L(Point1, Point2):
x = 0
y = 1
Gradient = (float(Point1[y]) - float(Point2[y])) / (float(Point1[x]) - float(Point2[x]))
YIntercept = Point1[y] - Gradient * Point1[x]
return (Gradient, YIntercept)
Salida:
>>> L( (0,0) , (1,1) )
(1.0, 0.0)
>>> L( (0,0) , (2,1) )
(0.5, 0.0)
>>> L( (0,0) , (7,1) )
(0.14285714285714285, 0.0)
>>> L( (10,22.5) , (5,12.5) )
(2.0, 2.5)
L((0,0),(0,0))
?
L( (0,0) , (0,1) )
?