64. plugins.turtle — Turtle graphics for pyFormex

This module was mainly aimed at the drawing of Lindenmayer products (see plugins.lima and the Lima example).

The idea is that a turtle can be moved in 2D from one position to another, thereby creating a line between start and endpoint or not.

The current state of the turtle is defined by

  • pos: the position as a 2D coordinate pair (x,y),
  • angle: the moving direction as an angle (in degrees) with the x-axis,
  • step: the speed, as a discrete step size.

The start conditions are: pos=(0,0), step=1., angle=0.

The followin example turtle script creates a unit square:

fd();ro(90);fd();ro(90);fd();ro(90);fd()

64.1. Functions defined in module plugins.turtle

plugins.turtle.sind(arg)[source]

Return the sine of an angle in degrees.

plugins.turtle.cosd(arg)[source]

Return the cosine of an angle in degrees.

plugins.turtle.reset()[source]

Reset the turtle graphics engine to start conditions.

This resets the turtle’s state to the starting conditions pos=(0,0), step=1., angle=0., removes everything from the state save stack and empties the resulting path.

plugins.turtle.push()[source]

Save the current state of the turtle.

The turtle state includes its position, step and angle.

plugins.turtle.pop()[source]

Restore the turtle state to the last saved state.

plugins.turtle.fd(d=None, connect=True)[source]

Move forward over a step d, with or without drawing.

The direction is the current direction. If d is not given, the step size is the current step.

By default, the new position is connected to the previous with a straight line segment.

plugins.turtle.mv(d=None)[source]

Move over step d without drawing.

plugins.turtle.ro(a)[source]

Rotate over angle a. The new direction is incremented with a

plugins.turtle.go(p)[source]

Go to position p (without drawing).

While the mv method performs a relative move, this is an absolute move. p is a tuple of (x,y) values.

plugins.turtle.st(d)[source]

Set the step size.

plugins.turtle.an(a)[source]

Set the angle

plugins.turtle.play(scr, glob=None)[source]

Play all the commands in the script scr

The script is a string of turtle commands, where each command is ended with a semicolon (‘;’).

If a dict glob is specified, it will be update with the turtle module’s globals() after each turtle command.