import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display,Math
display(Math('\\frac{(y-k)^2}{b^2} - \\frac{(x-h)^2}{a^2} - 1 = 0'))
print('Center: h,k')
print('Radii: a,b')
a = 1
b = .5
h = 1
k = 2
axlim = 2*np.max((a,b)) + np.max((abs(h),abs(k)))
print(2*np.max((a,b)))
print(np.max((abs(h),abs(k))))
print(axlim)
x = np.linspace(-axlim,axlim,100)
X,Y = np.meshgrid(x,x)
hyperbola = (X-h)**2/a**2 - (Y-k)**2/b**2 -1
plt.contour(X,Y,hyperbola,0)
plt.plot(h,k,'go')
plt.plot([-axlim,axlim],[0,0],'k--',color=[.8,.8,.8])
plt.plot([0,0],[-axlim,axlim],'r--',color=[.8,.8,.8])
plt.gca().set_aspect('equal')
plt.show()
n = 16
ab = np.linspace(1,5,n)
axlim = 8
x = np.linspace(-axlim,axlim,100)
X,Y = np.meshgrid(x,x)
for i in range(0,n):
F1 = X**2/ab[i]**2 - Y**2/ab[i]**2 - 1
plt.contour(X,Y,F1,0,colors=[[i/n,.8,i/n]])
F1 = -X**2/ab[i]**2 + Y**2/ab[i]**2 - 1
plt.contour(X,Y,F1,0,colors=[[0,i/n,i/n]])
plt.axis('off')
plt.gca().set_aspect('equal')
plt.show()