Tarea 7 Unidad 2: Dibujando en Python con TKintet y Canvas

En las entradas pasadas ya hemos visto como crear figuras en pyhton usando la libreria Tkinter y la funcion Canvas, ahora usando esos conocimientos provemos hacer algo nuevo, dibujemos dentro de esta area usando figuras y poligonos, suena interesante no?

Para esta practica trataremos de hacer este dibujo en python:


Para ello nos damos cuenta que ocupamos poligonos sencillos, 3 triangulos, un poligono irregular para la cara, 9 ovalos para la nariz, ojos y bigotes. Todos estos poligonos deberan ser trazados a base de coordenadas, la verdad yo no soy tan bueno dibujando ni en papel, asi que tuve que trazar el dibujo y calcular las coordenadas mas o menos exactas a base de un modelo:



Si tu te crees un profesional pues intentalo hacer a ojo de buen cubero, en fin ya teniendo las coordenadas podemos pasar a codificar, donde el codigo nos quedaria algo asi:


from Tkinter import *

def poligono(ventana):
    panel=Canvas(width=1200, height=650, bg="gray")
    panel.pack()
    #cara
    panel.create_polygon(415, 50, 235, 490, 365, 625, 755, 625, 850, 500, 700, 50,
                         width=1, fill="#e0af77", outline="brown")
    #orejas
    panel.create_polygon(415,50,60,320,175,635, width=1, fill="#bb6400", outline="#000000")
    panel.create_polygon(700, 50, 1045, 320, 896, 635, width=1, fill="#bb6400", outline="#000000")
    #menton
    panel.create_polygon(365, 625, 550, 415, 755, 625, width=1, fill="#bb6400", outline="#000000")
    #ojos
    panel.create_oval(420,225,480,305,width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(630, 225, 690, 305, width=1, fill="#1a1200", outline="#000000")
    #bigotes
    panel.create_oval(475, 525, 490, 540, width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(615, 525, 630, 540, width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(445, 560, 460, 575, width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(610, 560, 625, 575, width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(480, 560, 495, 575, width=1, fill="#1a1200", outline="#000000")
    panel.create_oval(640, 560, 655, 575, width=1, fill="#1a1200", outline="#000000")
    #nariz
    panel.create_oval(470, 305, 640, 500, width=1, fill="#1a1200", outline="#000000")

ventana=Tk()
ventana.title("Poligonos")
ventana.config(bg="gray")
ventana.geometry("600x600")
boton= Button(ventana,text="Crear Poligono", command=lambda: poligono(ventana))
boton.pack()
ventana.mainloop()

Ahora al ejecutar nuestro programa deberia aparecer algo asi:


Comentarios

  1. NMMMM GOEEEEY ME RELGASTE TODA UNA TAREA COMPLETA! FELICIDADEEEEEES ERES MUY KBROOOOON!

    ResponderEliminar

Publicar un comentario