Python Turtle Graphics ASFA CS Principles 2015-2016
A first Object: Logo Turtle Dr. Seymour Papert at MIT invented the Turtle as a graphical and mathematical object to think with for the children’s programming language, Logo (1966)
Robot Turtles Children programmed robot turtles to draw pictures
A turtle is an object. Every turtle understands the same methods. Every turtle has the same fields or instance variables. Heading, body color, pen color, X and Y position. Yet each turtle can have its own values for these fields. Many modern programming languages, such as Python, continue to use turtles for drawing
Think of a turtle crawling on a piece of paper, with a pen tied to its tail Sheet of paper is a window on a display screen Position specified with (x, y) coordinates Cartesian coordinate system, with origin (0, 0) at the center of a window
Imagine a turtle starting at (0, 0) Give it the command turtle.forward(15), and it moves (on-screen) 15 pixels in the direction it is facing, drawing a line as it moves. Give it the command turtle.left(25), and it rotates in-place 25 degrees counter-clockwise.
Some Examples of Turtle Programs A forest scene created with turtles http://www.youtube.com/watch?v=Wwzv0FWJ5gQ A Recursive Turtle Drawing Program http://www.youtube.com/watch?feature=player_embedded&v=YummtrvNC2o
Some Key Methods from turtle import * # pen/turtle starts at the center (x=0, y=0) of the turtle display area shape(“turtle”) color("green") # pen up, don't draw up() # centers the circle goto(0,-50) # pen down, draw down() # radius=50 center is 50 radius units above the turtle circle(50) # center the turtle again goto(0,0) tur2.py
Turtle drawing with repetition from turtle import * def star(): color('red', 'purple') colormode(255) begin_fill() for i in range(36): pencolor(3*i + 100, 0 , 5*i) forward(200) left(85) forward(10) left(45) forward(40) left(-90) end_fill() setpos(100,45) color("white","yellow") shape("turtle") star() spyro.py
Recursive Drawing Algorithms Recursive Algorithms are used to create fractals
Documentation available explaining methods available If you have trouble getting the docs from Python, you can go to http://docs.python.org/library/turtle.html
Turtle library contains many methods
Click on method you want to see
Method usage documentation and examples
Endless Artistic Possibilities
What can you create?
Assignment Explore the documentation Design and program a turtle drawing a picture Must include: At least 4 colors At least 4 shapes A filled object Looping Show me the drawing creation Email your program to me after checked off Make a multi-turtle program if you are done