from tkinter import *
from tkinter import messagebox
import math
def calcular_distancia_3d():
try:
x1 = float(entry_x1.get())
y1 = float(entry_y1.get())
z1 = float(entry_z1.get())
x2 = float(entry_x2.get())
y2 = float(entry_y2.get())
z2 = float(entry_z2.get())
distancia = math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2 + (z2 - z1) ** 2)
resultado_texto.config(text=f"A distância entre os pontos é {distancia:.2f}")
messagebox.showinfo("Resultado", f"A distância entre os pontos é {distancia:.2f}")
except ValueError:
messagebox.showerror("Erro", "Por favor, insira números válidos.")
def limpar():
entry_x1.delete(0, END)
entry_y1.delete(0, END)
entry_z1.delete(0, END)
entry_x2.delete(0, END)
entry_y2.delete(0, END)
entry_z2.delete(0, END)
resultado_texto.config(text="")
# Configuração da janela principal
root = Tk()
root.geometry("600x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular Distâncias")
# Título
titulo = Label(root, text="Calcular Distâncias", font=("Arial", "38", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.1, rely=0.05)
# Ponto 1
texto_sub1 = Label(root, text="Ponto 1",
font=("Arial", "20", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.1, rely=0.25)
Label(root, text="X:", font=("Arial", "20", "bold"),
bg="#103030", fg="#49e3e3").place(relx=0.1, rely=0.35)
entry_x1 = Entry(root, font=("Arial", "12", "bold"), bg="white", fg="blue", justify='center')
entry_x1.place(relx=0.18, rely=0.36, relwidth=0.1)
Label(root, text="Y:", font=("Arial", "20", "bold"),
bg="#103030", fg="#49e3e3").place(relx=0.35, rely=0.35)
entry_y1 = Entry(root, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
entry_y1.place(relx=0.45, rely=0.35, relwidth=0.1)
Label(root, text="Z:", font=("Arial", "20", "bold"), bg="#103030"
, fg="#49e3e3").place(relx=0.65, rely=0.35)
entry_z1 = Entry(root, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
entry_z1.place(relx=0.75, rely=0.35, relwidth=0.1)
# Ponto 2
Label(root, text="Ponto 2", font=("Arial", "20", "bold")
, bg="#103030", fg="#49e3e3").place(relx=0.1, rely=0.45)
Label(root, text="X:", font=("Arial", "20", "bold"),
bg="#103030", fg="#49e3e3").place(relx=0.1, rely=0.55)
entry_x2 = Entry(root, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
entry_x2.place(relx=0.18, rely=0.55, relwidth=0.1)
Label(root, text="Y:", font=("Arial", "20", "bold"),
bg="#103030", fg="#49e3e3").place(relx=0.38, rely=0.55)
entry_y2 = Entry(root, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
entry_y2.place(relx=0.45, rely=0.55, relwidth=0.1)
Label(root, text="Z:", font=("Arial", "20", "bold"),
bg="#103030", fg="#49e3e3").place(relx=0.7, rely=0.55)
entry_z2 = Entry(root, font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
entry_z2.place(relx=0.78, rely=0.55, relwidth=0.1)
# Botões
Button(root, text="Calcular", bd=2, bg='#107db2',
fg='white', font=('verdana', 12, 'bold'),
command=calcular_distancia_3d).place(relx=0.1, rely=0.68, relwidth=0.25, relheight=0.1)
Button(root, text="Limpar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=limpar).place(
relx=0.4, rely=0.68, relwidth=0.25, relheight=0.1)
Button(root, text="Sair", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=root.destroy).place(
relx=0.7, rely=0.68, relwidth=0.25, relheight=0.1)
# Resultado
resultado_texto = Label(root, font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()