Professional Documents
Culture Documents
class Senoide:
def __init__(self, ax, label):
self.amplitude = tk.DoubleVar(value=100.0)
self.frequencia = tk.DoubleVar(value=60.0)
self.defasagem = tk.DoubleVar(value=0.0)
self.tempo = np.arange(0, 0.1, 0.00001)
self.label = label
self.ax = ax
def plotar_senoide(self):
senoide = self.amplitude.get() * np.sin(2 * np.pi * self.frequencia.get() *
self.tempo + np.radians(self.defasagem.get()))
class SenoidesApp:
def __init__(self, root):
self.root = root
self.root.title("Gráfico de Senoides")
self.criar_controles()
def criar_grafico_senoide(self):
figura, ax = Figure(figsize=(10, 4), dpi=100), None
if figura:
ax = figura.add_subplot(111)
ax.set_title("Senoides")
ax.set_xlabel("Tempo (s)")
ax.set_ylabel("Amplitude (V)")
ax.grid(True) # Adiciona as grades ao gráfico
return figura, ax
def criar_controles(self):
ttk.Label(self.root, text="Amplitude").pack(side=tk.LEFT, padx=10)
self.slider_amplitude1 = ttk.Scale(self.root,
variable=self.senoide1.amplitude, from_=0, to=200, orient=tk.HORIZONTAL,
length=200, command=self.atualizar_senoides)
self.slider_amplitude1.pack(side=tk.LEFT)
ttk.Label(self.root, text="Frequência (Hz)").pack(side=tk.LEFT, padx=10)
self.slider_frequencia1 = ttk.Scale(self.root,
variable=self.senoide1.frequencia, from_=0, to=70, orient=tk.HORIZONTAL,
length=200, command=self.atualizar_senoides)
self.slider_frequencia1.pack(side=tk.LEFT)
if __name__ == "__main__":
root = tk.Tk()
app = SenoidesApp(root)
root.mainloop()