Python Turtle Graphics ASFA CS Principles 2015 2016

  • Slides: 18
Download presentation
Python Turtle Graphics ASFA CS Principles 2015 -2016

Python Turtle Graphics ASFA CS Principles 2015 -2016

A first Object: Logo Turtle • Dr. Seymour Papert at MIT invented the Turtle

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

Robot Turtles • Children programmed robot turtles to draw pictures

 • A turtle is an object. – Every turtle understands the same methods.

• 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

• 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

• 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:

Some Examples of Turtle Programs • A forest scene created with turtles • http: //www. youtube. com/watch? v=Wwzv 0 F WJ 5 g. Q • A Recursive Turtle Drawing Program • http: //www. youtube. com/watch? feature=pla yer_embedded&v=Yummtrv. NC 2 o

Some Key Methods from turtle import * # pen/turtle starts at the center (x=0,

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) up() # center the turtle again goto(0, 0) down() tur 2. py

Turtle drawing with repetition from turtle import * def star(): color('red', 'purple') colormode(255) begin_fill()

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) forward(40) left(85) forward(10) left(45) end_fill() setpos(100, 45) color("white", "yellow") shape("turtle") star() spyro. py

Recursive Drawing Algorithms Recursive Algorithms are used to create fractals

Recursive Drawing Algorithms Recursive Algorithms are used to create fractals

Documentation available explaining methods available • If you have trouble getting the docs from

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

Turtle library contains many methods

Click on method you want to see

Click on method you want to see

Method usage documentation and examples

Method usage documentation and examples

Endless Artistic Possibilities

Endless Artistic Possibilities

What can you create?

What can you create?

Assignment • Explore the documentation • Design and program a turtle drawing a picture

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