TSquare - geometria analítica
Publicado por Lucas 23/08/2006
[ Hits: 5.546 ]
Homepage: http://lucasnogueira.wordpress.com
Com apenas as coordenadas cartesianas dos pontos de um quadrado ou retângulo, ele lhe da a área e o perímetro do polígono.
#!/usr/bin/python #TSquare por lucas nogueira - luksnogueira@gmail.com - http://lucasnogueira.cjb.net #Calcula a area e perimetro apenas com as coordenadas cartesianas from Tkinter import * from math import * class app: def __init__(self,toplevel): #frame 01 self.frm=Frame(toplevel) self.frm.pack() #draw's canvas self.canvas=Canvas(toplevel,width=200, height=200,bg='white') self.canvas.pack() #frame 02 self.frm2=Frame(toplevel) self.frm2.pack() #frame 03 self.frm3=Frame(toplevel) self.frm3.pack() #frame 04 self.frm4=Frame(toplevel) self.frm4.pack() #frame 05 self.frm5=Frame(toplevel) self.frm5.pack() #frame 06 (buttons) self.frm6=Frame(toplevel) self.frm6.pack() #frame 7 self.frm7=Frame(toplevel) self.frm7.pack() #borda do canvas altura=200 self.canvas.create_rectangle((0,altura-0),(200,altura-200)) #text da frame 01 Label(self.frm,text='TSQUARE 0.6').pack() Label(self.frm,text='Indique as coordenadas cartesianas dos 4 pontos do quadrilatero.').pack() Label(self.frm,text='Definicoes dos pontos: (canvas=200cm^2)').pack() Label(self.frm,text='A* D*').pack() Label(self.frm,text='B* C*').pack() #coordenadas a(entry) Label(self.frm2,text='Coord. Ponto A (x,y) cm').pack(side=LEFT) self.a1=Entry(self.frm2) self.a2=Entry(self.frm2) self.a1.pack(side=LEFT) self.a2.pack(side=LEFT) #coordenadas b Label(self.frm3,text=' Coord. Ponto B (x,y) cm').pack(side=LEFT) self.b1=Entry(self.frm3) self.b2=Entry(self.frm3) self.b1.pack(side=LEFT) self.b2.pack(side=LEFT) #coordenadas b Label(self.frm4,text=' Coord. Ponto C (x,y) cm').pack(side=LEFT) self.c1=Entry(self.frm4) self.c2=Entry(self.frm4) self.c1.pack(side=LEFT) self.c2.pack(side=LEFT) #coordenadas b Label(self.frm5,text=' Coord. Ponto D (x,y) cm').pack(side=LEFT) self.d1=Entry(self.frm5) self.d2=Entry(self.frm5) self.d1.pack(side=LEFT) self.d2.pack(side=LEFT) #button draw self.bt=Button(self.frm6,text='desenhar') self.bt.bind('<Button-1>',self.draw) self.bt.pack(side=LEFT) #button clear self.cl=Button(self.frm6,text='limpar vars') self.cl.bind('<Button-1>',self.clr) self.cl.pack(side=LEFT) #label result self.res=Label(self.frm7,text='') self.res.pack() def clr(self,lucas): self.area,self.p=0,0 self.res['text']='Area = %i cm^2 | Perimetro = %i cm' %(self.area,self.p) self.res.pack() def pixalize(self,cm): cm=28*cm return cm def draw(self,event): altura=200 ax=int(self.a1.get()) #PA ay=int(self.a2.get()) #PA bx=int(self.b1.get()) #PB by=int(self.b2.get()) #PB cx=int(self.c1.get()) #PC cy=int(self.c2.get()) #PC dx=int(self.d1.get()) #PD dy=int(self.d2.get()) #PD lx=cx - ax ly=by - ay #lado y self.area=lx*ly self.p=(2*lx)+(2*ly) int(self.area) int(self.p) self.res['text']='Area = %i cm^2 | Perimetro = %i cm' %(self.area,self.p) self.res.pack() self.pixalize(cx) self.pixalize(bx) self.pixalize(by) self.pixalize(cy) self.canvas.create_rectangle(bx,altura-by,cx,altura-cy,fill='gray') root=Tk() app(root) root.mainloop()
Fazendo processos rodarem em background
Validador de cartão de crédito
Nenhum comentário foi encontrado.
Atualizações de Apps, Desktop e Kernel agitam o ecossistema Linux nesta terça-feira
Miyoo Mini Plus + Onion OS (Linux)
IA local no bolso, novo visual no Raspberry Pi OS e mais destaques do software livre
Kernel turbinado, compatibilidade em alta e debate sobre sustentabilidade: o dia no mundo Linux
Kernel turbinado e GNOME 49 dominam o giro do dia no mundo Linux
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (1)
Como listar os arquivos em "bloquin... (0)
Como vencer a procrastinação? (8)
Adicional de convivdado em linux somente linha de comando (3)