Differences
This shows you the differences between two versions of the page.
| student:digital2021:turtle:start [2021/10/15 11:24] – created normanap | student:digital2021:turtle:start [2021/10/16 11:29] (current) – Add Python art materials lam2mo | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Python Turtle Art, DIGITAL 2021 ====== | ====== Python Turtle Art, DIGITAL 2021 ====== | ||
| + | [[http:// | ||
| + | |||
| + | < | ||
| + | ## square version 1 (algorithm) | ||
| + | |||
| + | t.forward(100) | ||
| + | t.right(90) | ||
| + | t.forward(100) | ||
| + | t.right(90) | ||
| + | t.forward(100) | ||
| + | t.right(90) | ||
| + | t.forward(100) | ||
| + | t.right(90) | ||
| + | |||
| + | |||
| + | ## square version 2 (iteration/ | ||
| + | |||
| + | for i in range(4): | ||
| + | t.forward(100) | ||
| + | t.right(90) | ||
| + | |||
| + | |||
| + | ## square version 3 (abstraction/ | ||
| + | |||
| + | def square(size): | ||
| + | for i in range(4): | ||
| + | t.forward(size) | ||
| + | t.right(90) | ||
| + | |||
| + | t.speed(0) | ||
| + | for i in range(10): | ||
| + | square(i*10) | ||
| + | |||
| + | |||
| + | ## square version 4 (recursion) | ||
| + | |||
| + | def square(size): | ||
| + | for i in range(4): | ||
| + | t.forward(size) | ||
| + | t.right(90) | ||
| + | |||
| + | def fractal(size): | ||
| + | if size > 2: | ||
| + | square(size) | ||
| + | for i in range(4): | ||
| + | fractal(size/ | ||
| + | t.forward(size) | ||
| + | t.right(90) | ||
| + | |||
| + | t.speed(0) | ||
| + | fractal(200) | ||
| + | |||
| + | |||
| + | ## tree fractal | ||
| + | |||
| + | def tree(size): | ||
| + | if size < 10: | ||
| + | t.forward(size) | ||
| + | t.backward(size) | ||
| + | return | ||
| + | t.forward(size) | ||
| + | t.left(30) | ||
| + | tree(size*0.7) | ||
| + | t.right(60) | ||
| + | tree(size*0.7) | ||
| + | t.left(30) | ||
| + | t.backward(size) | ||
| + | |||
| + | t.pencolor(" | ||
| + | t.setheading(90) | ||
| + | t.speed(0) | ||
| + | tree(100) | ||
| + | |||
| + | |||
| + | ## fern fractal | ||
| + | |||
| + | def fern(size): | ||
| + | if size > 3: | ||
| + | t.forward(size) | ||
| + | t.right(95) | ||
| + | fern(size*0.4) | ||
| + | t.left(190) | ||
| + | fern(size*0.4) | ||
| + | t.right(100) | ||
| + | fern(size*0.8) | ||
| + | t.left(5) | ||
| + | t.backward(size) | ||
| + | |||
| + | t.pencolor(" | ||
| + | t.speed(0) | ||
| + | fern(50) | ||
| + | |||
| + | |||
| + | ## snowflake fractal | ||
| + | |||
| + | def snowflake(size): | ||
| + | if size < 10: | ||
| + | t.forward(size) | ||
| + | else: | ||
| + | snowflake(size/ | ||
| + | t.left(60) | ||
| + | snowflake(size/ | ||
| + | t.right(120) | ||
| + | snowflake(size/ | ||
| + | t.left(60) | ||
| + | snowflake(size/ | ||
| + | |||
| + | t.pencolor(" | ||
| + | t.speed(0) | ||
| + | t.setheading(90) | ||
| + | for i in range(3): | ||
| + | snowflake(100) | ||
| + | t.right(120) | ||
| + | |||
| + | |||
| + | ## pythagoras triangle fractal | ||
| + | |||
| + | from math import sqrt | ||
| + | |||
| + | def pythagoras(size): | ||
| + | t.begin_fill() | ||
| + | for i in range(4): | ||
| + | t.forward(size) | ||
| + | t.right(90) | ||
| + | t.end_fill() | ||
| + | if size > 5: | ||
| + | s = size*sqrt(2)/ | ||
| + | t.forward(size) | ||
| + | t.left(45) | ||
| + | pythagoras(s) | ||
| + | t.right(90) | ||
| + | t.forward(s) | ||
| + | pythagoras(s) | ||
| + | t.backward(s) | ||
| + | t.left(45) | ||
| + | t.backward(size) | ||
| + | |||
| + | t.speed(0) | ||
| + | t.setheading(90) | ||
| + | pythagoras(50) | ||
| + | |||
| + | |||
| + | ## sierpinski triangle fractal | ||
| + | |||
| + | from math import sqrt | ||
| + | |||
| + | def sierpinski(x, | ||
| + | if size < 10: | ||
| + | t.penup() | ||
| + | t.goto(x,y) | ||
| + | t.pendown() | ||
| + | t.begin_fill() | ||
| + | for i in range(3): | ||
| + | t.forward(size) | ||
| + | t.left(120) | ||
| + | t.end_fill() | ||
| + | else: | ||
| + | h = sqrt(3) * size / 4 | ||
| + | sierpinski(x, | ||
| + | sierpinski(x+size/ | ||
| + | sierpinski(x+size/ | ||
| + | |||
| + | t.speed(0) | ||
| + | sierpinski(-100, | ||
| + | |||
| + | </ | ||
