In [1]:
%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
theta = np.arange(-1.7,1.7,0.1)
In [2]:
r = lambda x: 2.0/(1+np.cos(x))
In [3]:
theta
Out[3]:
In [4]:
rho =r(theta)
rho
Out[4]:
In [5]:
## primeiro vou tentar um grafico polar
ax=plt.subplot(111,projection='polar')
ax.plot(theta,rho)
Out[5]:
In [6]:
ponto = lambda x: [r(x)*np.cos(x) , r(x)*np.sin(x)]
par = ponto(theta)
In [7]:
ax2=plt.subplot(111)
plt.grid()
ax2.plot(par[0],par[1])
ax2.plot([2,2],[-2,2])
ax2.plot([0,0], "ro")
ax2.set_aspect('equal')
plt.xlim(-1,4)
plt.savefig('conica3.png', format='png')
In [8]:
## O outro é uma elipse
theta1=np.arange(0,6.5,0.05)
r1=lambda x: 3/(1+0.5*np.cos(x))
ax3=plt.subplot(111,projection="polar")
ax3.plot(theta1,r1(theta1))
Out[8]:
In [9]:
## Em coordenadas cartesianas outra vez
ponto1 = lambda x: [r1(x)*np.cos(x),r1(x)*np.sin(x)]
elipse = ponto1(theta1)
In [10]:
ax4=plt.subplot(111)
plt.grid()
ax4.plot(elipse[0],elipse[1])
ax4.plot([6,6],[-3,3])
ax4.plot([0],[0], "ro")
ax4.set_aspect('equal')
plt.savefig('conica4.png',format="png")
Note que na definição de uma hipérbole temos $\|X-F\| = ed(X,L)$ com $e>1$. Ou seja a distância de $X$ ao foco é maior que a distância de $X$ à diretriz $L$ e nesse caso podemos ter: $$ \|X\| = e|\|X\|\cos(\theta)-d| = e(\|X\|\cos(\theta)-d)$$ ou seja $$\rho = \frac{ed}{e\cos(\theta) -1}$$ Vamos ver o exemplo: $$ \rho = \frac{4}{2\cos(\theta)+1} $$
In [11]:
theta3 = np.arange(-1.7,1.7,0.05)
r3 = lambda x : 4/(2*np.cos(x)+1)
ax4=plt.subplot(111,projection="polar")
ax4.plot(theta3,r3(theta3))
Out[11]:
In [12]:
ponto3 = lambda x: [r3(x)*np.cos(x),r3(x)*np.sin(x)]
hiperbole=ponto3(theta3)
ax5=plt.subplot(111)
plt.grid()
ax5.plot(hiperbole[0],hiperbole[1])
ax5.plot([2,2],[4,-4])
ax5.plot([0],[0],"ro")
ax5.set_aspect("equal")
Agora o outro ramo seria dado pela equação: $$ \rho = \frac{ed}{e\cos(\theta)-1} $$ e novamente veremos o exemplo: $$ \rho = \frac{4}{2\cos(\theta)-1} $$
In [13]:
theta4=np.arange(-0.8,0.8,0.05)
r4= lambda x : 4/(2*np.cos(x)-1)
ax4=plt.subplot(111,projection="polar")
ax4.plot(theta4,r4(theta4))
Out[13]:
In [14]:
theta4=np.arange(-0.8,0.8,0.05)
ponto4 = lambda x : [r4(x)*np.cos(x),r4(x)*np.sin(x)]
hiperbole2 = ponto4(theta4)
ax6=plt.subplot(111)
ax6.plot(hiperbole2[0],hiperbole2[1])
ax6.plot(hiperbole[0],hiperbole[1])
plt.grid()
ax6.set_aspect("equal")
ax6.plot([2,2],[4,-4])
ax6.plot([0],[0],"ro")
Out[14]:
In [ ]: