Skip to content

LispPad Turtle

Matthias Zenger edited this page Oct 27, 2018 · 1 revision

This is a library implementing a simple graphics window for displaying turtle graphics. The library supports one graphics window per LispPad session which gets initialized by invoking init-turtle. init-turtle will create a new turtle and display its drawing on a graphics window. If there is already an existing graphics window with the given title, it will be reused.

Once init-turtle was called, the following functions can be used to move the turtle across the plane:

  • (pen-up): Lifts the turtle
  • (pen-down): Drops the turtle
  • (pen-color color): Sets the current color of the turtle
  • (pen-size size): Sets the size of the turtle pen
  • (home): Moves the turtle back to the origin
  • (move x y): Moves the turtle to position (x, y)
  • (heading angle): Sets the angle of the turtle (in radians)
  • (turn angle): Turns the turtle by the given angle (in radians)
  • (left angle): Turn left by the given angle (in radians)
  • (right angle): Turn right by the given angle (in radians)
  • (forward distance): Moves forward by distance units drawing a line if the pen is down
  • (backward distance): Moves backward by distance units drawing a line if the pen is down

This library provides a simplified, interactive version of the API provided by library (lispkit draw turtle).

(init-turtle)     [procedure]
(init-turtle scale)
(init-turtle scale title)

Initializes a new turtle and displays its drawing in a graphics window. init-turtle gets two optional arguments: scale and title. scale is a scaling factor which determines the size of the turtle drawing. title is a string that defines the window name of the turtle graphics. It also acts as the identify of the turtle graphics window; i.e. it won't be possible to have two sessions with the same name but a different graphics window.

(close-turtle-window)     [procedure]

Closes the turtle window and resets the turtle library.

(turtle-drawing)     [procedure]

Returns the drawing associated with the current turtle.

(pen-up)     [procedure]

Lifts the turtle from the plane. Subsequent forward and backward operations don't lead to lines being drawn. Only the current coordinates are getting updated.

(pen-down)     [procedure]

Drops the turtle onto the plane. Subsequent forward and backward operations will lead to lines being drawn.

(pen-color color)     [procedure]

Sets the drawing color of the turtle to color. color is a color object as defined by library (lispkit draw).

(pen-size size)     [procedure]

Sets the pen size of the turtle to size. The pen size corresponds to the width of lines drawn by forward and backward.

(home)     [procedure]

Moves the turtle to its home position.

(move x y)     [procedure]

Moves the turtle to the position described by the coordinates x and y.

(heading angle)     [procedure]

Sets the heading of the turtle to angle. angle is expressed in terms of degrees.

(turn angle)     [procedure]

Adjusts the heading of the turtle by angle degrees.

(right angle)     [procedure]

Adjusts the heading of the turtle by angle degrees.

(left angle)     [procedure]

Adjusts the heading of the turtle by -angle degrees.

(forward distance)     [procedure]

Moves the turtle forward by distance units drawing a line if the pen is down.

(backward distance)     [procedure]

Moves the turtle backward by distance units drawing a line if the pen is down.

Clone this wiki locally