This last example of the chapter is simply a gift for the reader. No illustration is provided. We will only see the result if we run the code. It is a surprise.
from Tkinter import * root = Tk() root.title("This is for you dear reader. A token of esteem and affection.") import math cw = 800 # canvas width ch = 800 # canvas height chart_1 = Canvas(root, width=cw, height=ch, background="black") chart_1.grid(row=0, column=0) p0_x = 400.0 p0_y = 400.0 p1_x = 330.0 p1_y = 330.0 p2_x = 250.0 p2_y = 250.0 p3_x = 260.0 p3_y = 260.0 p4_x = 250.0 p4_y = 250.0 p5_x = 180.0 p5_y = 180.0 alpha_0 = math.atan((p0_y - p1_y)/(p0_x - p1_x)) length_0_1 = math.sqrt((p0_y - p1_y)*(p0_y - p1_y) + (p0_x - p1_ x)*(p0_x - p1_x)) alpha_1 = math.atan((p1_y - p2_y)/(p1_x - p2_x)) length_1_2 = math.sqrt((p2_y - p1_y)*(p2_y - p1_y) + (p2_x - p1_ x)*(p2_x - p1_x)) alpha_2 = math.atan((p2_y - p3_y)/(p2_x - p3_x)) length_2_3 = math.sqrt((p3_y - p2_y)*(p3_y - p2_y) + (p3_x - p2_ x)*(p3_x - p2_x)) alpha_3 = math.atan((p3_y - p4_y)/(p3_x - p4_x)) length_3_4 = math.sqrt((p4_y - p3_y)*(p4_y - p3_y) + (p4_x - p3_ x)*(p4_x - p3_x)) alpha_4 = math.atan((p3_y - p5_y)/(p3_x - p5_x)) length_4_5 = math.sqrt((p5_y - p4_y)*(p5_y - p4_y) + (p5_x - p4_ x)*(p5_x - p4_x)) for i in range(1,2300): # end the program after 500 position # shifts. animationdigital flower examplealpha_0 += 0.003 alpha_1 += 0.018 alpha_2 -= 0.054 alpha_3 -= 0.108 alpha_4 += 0.018 p1_x = p0_x - length_0_1 * math.cos(alpha_0) p1_y = p0_y - length_0_1 * math.sin(alpha_0) tip_locus_2_x = p2_x tip_locus_2_y = p2_y p2_x = p1_x - length_1_2 * math.cos(alpha_1) p2_y = p1_y - length_1_2 * math.sin(alpha_1) tip_locus_3_x = p3_x tip_locus_3_y = p3_y p3_x = p2_x - length_2_3 * math.cos(alpha_2) p3_y = p2_y - length_2_3 * math.sin(alpha_2) tip_locus_4_x = p4_x tip_locus_4_y = p4_y p4_x = p3_x - length_3_4 * math.cos(alpha_3) p4_y = p3_y - length_3_4 * math.sin(alpha_3) tip_locus_5_x = p5_x tip_locus_5_y = p5_y p5_x = p4_x - length_4_5 * math.cos(alpha_4) p5_y = p4_y - length_4_5 * math.sin(alpha_4) chart_1.create_line(p1_x, p1_y, p0_x, p0_y, tag='line_1', fill='gray') chart_1.create_line(p2_x, p2_y, p1_x, p1_y, tag='line_2', fill='gray') chart_1.create_line(p3_x, p3_y, p2_x, p2_y, tag='line_3', fill='gray') chart_1.create_line(p4_x, p4_y, p3_x, p3_y, tag='line_4', fill='gray') animationdigital flower examplechart_1.create_line(p5_x, p5_y, p4_x, p4_y, tag='line_5', fill='#550000') chart_1.create_line(tip_locus_2_x, tip_locus_2_y, p2_x, p2_y, fill='#ff00aa') chart_1.create_line(tip_locus_3_x, tip_locus_3_y, p3_x, p3_y, fill='#aa00aa') chart_1.create_line(tip_locus_4_x, tip_locus_4_y, p4_x, p4_y, fill='#dd00dd') chart_1.create_line(tip_locus_5_x, tip_locus_5_y, p5_x, p5_y, fill='#880066') chart_1.create_line(tip_locus_2_x, tip_locus_2_y, p5_x, p5_y, fill='#0000ff') chart_1.create_line(tip_locus_3_x, tip_locus_3_y, p4_x, p4_y, fill='#6600ff') chart_1.update() # This refreshes the drawing on the # canvas. chart_1.delete('line_1', 'line_2', 'line_3', 'line_4') # Erase # selected tags. root.mainloop()
3.145.87.161