You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.2 KiB
83 lines
2.2 KiB
4 years ago
|
import math
|
||
|
import matplotlib
|
||
|
from matplotlib import pyplot as plt
|
||
|
from matplotlib import style
|
||
|
matplotlib.use('TkAgg')
|
||
|
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2Tk
|
||
|
from matplotlib.figure import Figure
|
||
|
from tkinter import *
|
||
|
|
||
|
|
||
|
|
||
|
def calculate():
|
||
|
x1 = float(x1_text.get())
|
||
|
x2 = float(x2_text.get())
|
||
|
y1 = float(y1_text.get())
|
||
|
y2 = float(y2_text.get())
|
||
|
d = math.sqrt(math.pow((x2-x1),2)+math.pow((y2-y1),2))
|
||
|
d_answer = Label(root, text = d)
|
||
|
d_answer.place(x = 80, y = 160, width = 150 , height = 40)
|
||
|
def graph(x1,x2,y1,y2):
|
||
|
x_list= [x1,x2]
|
||
|
y_list = [y1,y2]
|
||
|
f = Figure()
|
||
|
f.patch.set_facecolor('#53fca1')
|
||
|
a = f.add_subplot(111)
|
||
|
a.plot(x_list,y_list, label = 'The distance', marker = 'o', linewidth = 3)
|
||
|
plt.ylabel('Y value')
|
||
|
plt.xlabel('X value')
|
||
|
a.legend()
|
||
|
a.grid(True)
|
||
|
canvas = FigureCanvasTkAgg(f, master = root)
|
||
|
canvas.get_tk_widget().place(x = 255,y = 0, width = 445, height = 300)
|
||
|
canvas.draw()
|
||
|
pass
|
||
|
graph(x1,x2,y1,y2)
|
||
|
|
||
|
pass
|
||
|
|
||
|
root = Tk()
|
||
|
root.title('From Point to Point Distance')
|
||
|
img = PhotoImage(file = 'icon.png')
|
||
|
root.tk.call('wm','iconphoto', root._w, img)
|
||
|
root.geometry(("700x300"))
|
||
|
root.minsize(700,300)
|
||
|
root.maxsize(700,300)
|
||
|
canvas = Canvas(root,width = 700,height = 300, bg = '#53fca1')
|
||
|
canvas.create_line(250,0,250,300,width = 5, dash = (10,2), fill = '#170606')
|
||
|
canvas.pack()
|
||
|
|
||
|
x1_lab = Label(root,text = 'x1')
|
||
|
x1_lab.place(x = 5, y =5, width = 70)
|
||
|
|
||
|
x2_lab = Label(root,text = 'x2')
|
||
|
x2_lab.place(x = 5, y = 35, width = 70)
|
||
|
|
||
|
y1_lab = Label(root,text = 'y1')
|
||
|
y1_lab.place(x = 5, y = 65, width = 70)
|
||
|
|
||
|
y2_lab = Label(root,text = 'y2')
|
||
|
y2_lab.place(x = 5, y = 95, width = 70)
|
||
|
|
||
|
x1_text = Entry(root,width = 15)
|
||
|
x1_text.place(x = 80, y = 5)
|
||
|
|
||
|
x2_text = Entry(root,width = 15)
|
||
|
x2_text.place(x = 80, y = 35)
|
||
|
|
||
|
y1_text = Entry(root,width = 15)
|
||
|
y1_text.place(x = 80 , y = 65)
|
||
|
|
||
|
y2_text = Entry(root,width = 15)
|
||
|
y2_text.place(x = 80, y = 95)
|
||
|
|
||
|
d_lab = Label(root, text = 'd = ')
|
||
|
d_lab.place(x = 5, y = 160, width = 70, height = 40)
|
||
|
|
||
|
|
||
|
calc = Button(root,text = 'Calculate')
|
||
|
calc.config(command = calculate)
|
||
|
calc.place(x = 50, y = 250, width = 100)
|
||
|
|
||
|
root.mainloop()
|