from turtle import * from tkinter import * from math import * def kružnica(): global x r1 = int(r.get()) circle(r1) lt(90); fd(r1); rt(90) x = pos() def tangenta(): r1 = int(r.get()) k = int(kutt.get()) rt(90); fd(r1); lt(90) circle(r1,k) fd(2*r1); bk(4*r1); fd(2*r1) color('blue') write('t',font=('Arial',16,'bold')); pu();bk(30); pd() pu(); fd(30); pd(); color('black');lt(90); fd(r1); bk(r1/2) color('Sienna') write('r',font=('Arial',16,'bold')); pu();bk(30) setpos(x); seth(90) def kružni_isjecak(): r1 = int(r.get()) kut1 = int(kutp.get()) kut2 = int(kutz.get()) color('black', 'yellow') begin_fill() seth(kut1); fd(r1); lt(90) circle(r1, kut2-kut1) lt(90); fd(r1) end_fill() seth(90) def kružni_odsjecak(): r1 = int(r.get()) kut1 = int(kutp1.get()) kut2 = int(kutz1.get()) color('black', 'red') seth(kut1); fd(r1); lt(90) x = pos() begin_fill() circle(r1, kut2-kut1) setpos(x) end_fill() seth(90); pu(); setpos(0,0) lt(90); fd(r1); rt(90) pd() def opseg(): r1 = int(r.get()) o = round(2*r1*pi,2) ispis_opseg.config(text='Opseg = ' + str(o)) def površina(): r1 = int(r.get()) p = round(r1*r1*pi,2) ispis_površina.config(text='Površina = ' +str(p)) def briši(): reset() seth(90) prozor = Tk() prozor.title('Kontrole programa') title('Crtaj'); lt(90) #kontrole: kružnica gumb_kr = Button(prozor, text = 'Kružnica', command = kružnica) gumb_kr.grid(column = 1, row = 1) r_opis = Label(prozor, text = 'r = ') r_opis.grid(column = 2, row = 1) r = Entry(prozor) r.grid(column = 3, row = 1) #kontrole: tangenta gumb_tan = Button(prozor, text = 'Tangenta', command = tangenta) gumb_tan.grid(column = 1, row = 2) tan_opis = Label(prozor, text = 'Kut = ') tan_opis.grid(column = 2, row = 2) kutt = Entry(prozor, width = 7) kutt.grid(column = 3, row = 2) #kontrole: kružni isječak gumb_isj = Button(prozor, text = 'Kružni isječak', command = kružni_isjecak) gumb_isj.grid(column = 1, row = 3) isj_poc = Label(prozor, text = 'Početni kut = ') isj_poc.grid(column = 2, row = 3) kutp = Entry(prozor, width = 7) kutp.grid(column = 3, row = 3) isj_zav = Label(prozor, text='Završni kut = ') isj_zav.grid(column =2, row=4) kutz = Entry(prozor, width=7) kutz.grid(column=3, row=4) #kontrole: kružni odsječak gumb_odsj =Button(prozor, text='Kružni odsječak', command=kružni_odsjecak) gumb_odsj.grid(column=1, row=5) odsj_poc = Label(prozor, text='Početni kut = ') odsj_poc.grid(column=2, row=5) kutp1 = Entry(prozor, width=7) kutp1.grid(column=3, row=5) odsj_zav = Label(prozor, text='Završni kut = ') odsj_zav.grid(column=2, row=6) kutz1 = Entry(prozor, width=7) kutz1.grid(column=3, row=6) #kontrole: opseg gumb_opseg =Button(prozor, text='Opseg', command=opseg) gumb_opseg.grid(column=1, row=7) ispis_opseg = Label(prozor) ispis_opseg.grid(column=2, row=7) #kontrole: površina gumb_površina =Button(prozor, text='Površina', command=površina) gumb_površina.grid(column=1, row=8) ispis_površina = Label(prozor) ispis_površina.grid(column=2, row=8) #brisanje crteža brisi = Button(prozor, text='Briši', command=briši) brisi.grid(column=2, row=9) prozor.mainloop()