Friday, April 8, 2011

Logo turtle graphics

Logo is a venerable functional programming language (created 1967) which gained most of its popularity from the concept of Turtle Graphics: A small triangle on the screen (the turtle) being directed by simple commands like forward, backward, left, and right, each command followed by an argument giving the distance or turning angle.
In combination with the repeat command you could create beautiful drawings with a few commands. Being that simple, the turtle graphics of Logo is a nice way to teach the concept of programming to kids, possibly even pre-school.
The following animation shows a short demonstration of a browser-based Turtle Graphics interpreter aimed at introducing kids to computer programming. I extended the original program from John Villar by a few features. Feel free to click on it and create some nice drawings!

Click on this image to start Turtle Graphics in your browser

Another interesting aspect of turtle graphics is the agent-centric view: you need to specify movements and actions from the perspective of the turtle. For example, the effect of the forward command depends on the current heading of the turtle. This is fundamental different from most other programming languages where you draw on a canvas using absolute coordinates.
That such an agent-centric view is beneficial for modeling self-organizing systems has also been shown by the agent-based simulation language StarLogo, which is a multi-agent extension of Logo. If you are interested to use turtle graphics in education on multi-agent and decentralized systems, have a look at StarLogo.


  1. buzz saw blade:
    repeat 10 fd 5 rt 100 fd 1 lt 136

  2. repeat 90 fd 1 rt 4
    repeat 1 pu rt 80 fd 8 pd fd 1 pu rt 8 fd 10 pd fd 1 pu fd 4 rt 90 fd 1 rt 30
    repeat 20 fd 1 rt 6

    Have a nice day