From bc3301c6a7d8f580961c7017846a086eb5208517 Mon Sep 17 00:00:00 2001 From: rzmk Date: Sun, 8 Aug 2021 16:05:34 -0400 Subject: [PATCH] Basic Turtle Graphics and GUI! Awesome Turtle graphics GIFs! --- Day 18/README.md | 29 +++++++++++++ Day 18/day-18-start/main.py | 66 ++++++++++++++++++++++++++++ Day 18/dot-art/colors_source.jpg | Bin 0 -> 54365 bytes Day 18/dot-art/main.py | 72 +++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+) create mode 100644 Day 18/README.md create mode 100644 Day 18/day-18-start/main.py create mode 100644 Day 18/dot-art/colors_source.jpg create mode 100644 Day 18/dot-art/main.py diff --git a/Day 18/README.md b/Day 18/README.md new file mode 100644 index 0000000..a643e71 --- /dev/null +++ b/Day 18/README.md @@ -0,0 +1,29 @@ +# Day 18 - Turtle & the Graphical User Interface (GUI) + +- Developed various basic turtle graphics. + - Spirograph, random walk, various polygons, dashed line, and square. +- Formed a dot art based on Hirst artwork. + +## Dot art + +![Day_18_Dot_Art](https://user-images.githubusercontent.com/30333942/128644328-9128d1b2-e416-4daf-ba05-cc37c2cff9ee.gif) + +## Spirograph + +![Day_18_Spirograph](https://user-images.githubusercontent.com/30333942/128644332-0aad8f64-5d71-4579-9c53-07333bb38233.gif) + +## Random Walk + +![Day_18_Random_Walk](https://user-images.githubusercontent.com/30333942/128644335-00899537-04b9-4f88-bcd6-46b7590082fe.gif) + +## Polygons + +![Day_18_Polygons](https://user-images.githubusercontent.com/30333942/128644338-23011edc-6246-49c2-9574-0f5e0497bcb6.gif) + +## Dashed Line + +![Day_18_Dashed_Line](https://user-images.githubusercontent.com/30333942/128644340-dff27a27-a6e1-44d3-95c0-9f885f9771b2.gif) + +## Square + +![Day_18_Square](https://user-images.githubusercontent.com/30333942/128644342-746c14cf-86f2-47c0-ae93-b3df1bf32b13.gif) diff --git a/Day 18/day-18-start/main.py b/Day 18/day-18-start/main.py new file mode 100644 index 0000000..a6bd49b --- /dev/null +++ b/Day 18/day-18-start/main.py @@ -0,0 +1,66 @@ +from turtle import Turtle, Screen, colormode +from random import randint, choice + +arrow = Turtle() + +# Draw a square +def square(): + for i in range(4): + arrow.forward(100) + arrow.right(90) + +# square() + +# Draw a dashed line +def dashed_line(): + for i in range(20): + arrow.forward(10) + arrow.penup() + arrow.forward(10) + arrow.pendown() + +# dashed_line() + +# Draw a triangle, square, pentagon, hexagon, heptagon, octagon, nonagon, and decagon +def polygons(): + colormode(255) + for i in range(3, 11): + angle = 360 / i + color = (randint(0, 255), randint(0, 255), randint(0, 255)) + arrow.color(color) + for j in range(1, i + 1): + arrow.right(angle) + arrow.forward(100) + +# polygons() + +# Random Walk (thickness, speed up turtle) +def random_walk(steps): + colormode(255) + arrow.pensize(15) + arrow.speed(0) + for i in range(steps): + color = (randint(0, 255), randint(0, 255), randint(0, 255)) + arrow.color(color) + step_size = randint(0, 50) + arrow.setheading(choice([0, 90, 180, 270])) + arrow.forward(step_size) + +# random_walk(1000) + +# Spirograph +def spirograph(): + colormode(255) + arrow.speed(0) + heading = 0 + for i in range(72): + color = (randint(0, 255), randint(0, 255), randint(0, 255)) + arrow.color(color) + arrow.circle(200) + arrow.setheading(heading) + heading += 5 + +# spirograph() + +screen = Screen() +screen.exitonclick() diff --git a/Day 18/dot-art/colors_source.jpg b/Day 18/dot-art/colors_source.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8e41b1813d924eb8ceb799002cc3ccbe727b5f9b GIT binary patch literal 54365 zcmcG#byQqS(>FS}1ovPexVu|$cXxujy9R>0yAxc4ySv-q7Th6t(A?q3^FHT%-}}eC zYu#c^@7mRSda7&xc2#xt=J(R?9{?07F-b817#IKm2Kod1UIhdKpdq24p&+55p`c-4 zpkd)r;Njum;4zSp5m2x(aB#3Ou&{6m$UflWk>F!t5z!KnkW)}mQ@#H{$4E!XNJdFT z2?hfL0}l(24iAq`iHn6x`Tv@J_X1F1A$lRdLx2$jz)`^79($55Q5XFxYGbXLPLcE1Ew7Gee(_CG`FD9W3TO5deIC1RMbA_is4+0VMt{f(5{Z z{aXeO0Q?`%hyXxF0v5>jl3@|6JF<7WfQdK*1ILc#<$?;C--7%tWP&j83EUaNF^m*@%%@5Nlv-+(+% z4I}&C03^pJ{(jtx;cVKcP2HzFGbC)50^SRH>WSN)p_T?V7vCZTPt-Vjrsm=>F>&)H zV~_S2=*;M@li=#!?>lpk$Up=;ZsIPjTmT$I|3gt&HOW!tWuEtl%;Kq!hr+>gnPpZ+ zL&$`;EvD;5zVK9I+E^!vP9DqoE;8Q!6G)39r=T`i)kOT?fYccg8{IN-u34MeHP2A{ zO7``Z zE)Vc1$29q-WH$Yr$`t;{`+;&s7Kk*bG5dR-{hGek4D|K zT^y!YmpG7W@aw)nlv9LeisaG9a>p^}*63~g#kigFM+hqfd`dnqKLBKa{tox+%ralD zxi`tcM%!;d3F3!Ltu=0!AH@NeWo_z?v60fsN$yzB71FO&0&K5r)z<47D^OU(ZC9v; z*X=fQg*vcv_30dR+d|PMxtm9;9fCL-b6MU1fCNU7fQXD=pr4Qc08#=H4IB*&l^N8) z0Yth1fYg73?oBB3Zy_uI@Nbt6DFXn28wvpahd?8Sy@d~OHLmQAdglngno7gR*I$Gb z#N9_;YXSW;-#qRC^S3e`JJV47Fi9CT8&Dla6E}CBJ!btihmSuzT3w=Yj36yC)3dAF zhFNXh5`gRi$|Da$-&WY|0RS@bsaC0~koB*d9M?r1P1eXHyEz0-M@adEFvvq0FI}He ziyh0%rq9y+i>=^0Y#wtD_%WGkZ{RR2I8_>b0vWlWaXoDpNn{@E-n$(mo^oA4G>$#$ ze?}tfwdwd!<>k~XM+cCadty@FJt4$h7t`faAL&cOKD5afs%xAHUN!{? zb>6OmOk?$lO{wgD&Ub0CHJT4#FUNah5Af z&lhshN^FcJ_Ao;I4>d>$Ex`#_=e)X)ZeNg`dJZG23tgG;t^8I!yL6t20012P7@ZZ* zh0ly^2=aDT6}WEb*N=93B_vAIB)+S=B$B|ZR^;#SY}Frl%txWwbM`$mf(4k^#=j_k zE+J%(GqPGKgPr9fATaZZje3{0drOxtlx;BaLO=H14*)<>0Yd|W`~$1R0z|QZH<*G! z2ExAK@t**E0~!GCt@$59d1IwW|3?7gAm7eV%Kj9Bqk{(dDj-M%0DNQw$svY*q!(>% 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 MCOJR*FaH4l*~3_^W&i*H literal 0 HcmV?d00001 diff --git a/Day 18/dot-art/main.py b/Day 18/dot-art/main.py new file mode 100644 index 0000000..c91507d --- /dev/null +++ b/Day 18/dot-art/main.py @@ -0,0 +1,72 @@ +# # Get color palette from an image +# import colorgram + +# color_list = [] +# colors = colorgram.extract('colors_source.jpg', 30) +# for color in colors: +# r = color.rgb.r +# g = color.rgb.g +# b = color.rgb.b +# new_color = (r, g, b) +# color_list.append(new_color) +# print(color_list) + +from turtle import Turtle, Screen, colormode +import random + +arrow = Turtle() + +color_list = [ + (221, 144, 96), + (165, 57, 88), + (68, 84, 153), + (100, 167, 208), + (154, 66, 54), + (109, 176, 128), + (195, 76, 113), + (209, 123, 155), + (222, 90, 66), + (233, 163, 188), + (238, 223, 97), + (107, 117, 187), + (176, 184, 224), + (141, 210, 221), + (84, 95, 88), + (163, 139, 49), + (58, 173, 186), + (67, 54, 96), + (234, 171, 155), + (166, 206, 188), + (154, 35, 49), + (91, 159, 124), + (189, 27, 24), + (65, 55, 64), + (56, 49, 71), + (71, 56, 49), +] + +# Set arrow starting position +arrow.hideturtle() +arrow.speed(0) +arrow.penup() +arrow.sety(-250) +arrow.setx(-250) +arrow.width(20) + +# Create dots +colormode(255) +number_of_dots = 100 +for i in range(1, number_of_dots + 1): + arrow.pendown() + arrow.dot(20, random.choice(color_list)) + arrow.penup() + arrow.forward(50) + if i % 10 == 0: + arrow.penup() + arrow.backward(500) + arrow.left(90) + arrow.forward(50) + arrow.right(90) + +screen = Screen() +screen.exitonclick()