<jupyter_start><jupyter_text><jupyter_code>import math
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams['figure.figsize'] = (15,10)
class Orbita(object):
    def __init__(self,t,R,P,r,p,xp=0,yp=0,xs=0,ys=0):
        self.t = t
        self.R = R
        self.P = P
        self.r = r
        self.p = p
        self.xp = xp
        self.yp = xp
        self.xs = xs
        self.ys = ys
        print('Objeto Criado')
        
    def pos_planeta(self):
        """
        Esta função determina a posição X e Y da órbita do planeta em função do tempo em anos e de raio medio orbital em unidades astronômicas
        """
        self.xp = self.R*np.cos(2*self.t*np.pi/self.P)
        self.yp = self.R*np.sin(2*self.t*np.pi/self.P)
        return print('Posições X e Y em função do tempo (anos) respectivamente para o planeta'),self.xp, self.yp
    
    def pos_satelite(self):
        """
        Esta função determina a posição X e Y da órbita de um satélite em função do tempo em anos e de raio medio orbital em unidades astronômicas
        """
        self.xs = self.xp + (self.r*np.cos(2*self.t*np.pi/self.p))
        self.ys = self.yp + (self.r*np.sin(2*self.t*np.pi/self.p))
        return print('Posições X e Y em função do tempo (anos) respectivamente para o satélite'),self.xs, self.ys
    

    def Grafico_planeta(self):
        """
        Esta função grafica a órbita do planeta em termos de suas posições no tempo
        """
        Gráfico_xy = plt.subplot(1,2,1), plt.plot(self.xp,self.yp,label=(r'X $vs$ Y em função do tempo')),plt.legend(loc=3), plt.title("Órbita do Planeta"),plt.legend(loc=9);
        Gráfico_tempo = plt.subplot(1,2,2), plt.plot(self.t,self.xp,label=r'X de t'),plt.plot(self.t,self.yp,label=r'Y de t'),plt.legend(loc=3), plt.xlabel("Tempo (anos)"), plt.ylabel("Posição()"),plt.title('Posições em função do tempo');
        return Gráfico_xy, Gráfico_tempo
    
    def Grafico_satelite(self):
        """
        Esta função grafica a órbita do satélite em termos de suas posições no tempo
        """
        Gráfico_xy = plt.subplot(1,2,1), plt.plot(self.xs,self.ys,label=(r'X $vs$ Y em função do tempo')),plt.legend(loc=3), plt.title("Órbita do satélite");
        Gráfico_tempo = plt.subplot(1,2,2), plt.plot(self.t,self.xs,label=r'X de t'),plt.plot(self.t,self.ys,label=r'Y de t'),plt.legend(loc=3), plt.xlabel("Tempo (anos)"), plt.ylabel("Posição()"),plt.title('Posições em função do tempo');
        return Gráfico_xy, Gráfico_tempo
    
    def Grafico_orbita(self):
        """
        Esta função grafica a órbita do planeta e do satélite associado em termos de suas posições no tempo
        """
        return plt.plot(self.xp,self.yp,label='Trajetória do planeta'), plt.plot(self.xs,self.ys,label='Trajetória do satélite'),plt.legend(loc=3),plt.title('Órbitas combinadas do planeta e do satélite')
Terra_Lua = Orbita(t=np.linspace(0,1,100),R=1,P=1,r=0.025,p=1/12)
Orbita.pos_planeta(Terra_Lua)

Orbita.pos_satelite(Terra_Lua)
Orbita.Grafico_planeta(Terra_Lua)
Orbita.Grafico_satelite(Terra_Lua)
Orbita.Grafico_orbita(Terra_Lua)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13963104325699746, 'fraction_numerical': 0.013994910941475827, 'mean_word_length': 3.18218085106383, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '21097', 'license': 'MIT', 'n_tokens_mistral': 1267, 'n_tokens_neox': 1276, 'n_words': 265, 'path': 'p1/Funciona.ipynb', 'repo_name': 'laaisfmaia/F-sica-Computacional', 'size': '3144'}