This Demonstration lets you play with a 3D flying turtle that lays a pipeline in space. It is a generalization of traditional turtle graphics, which is planar. At each moment, the flying turtle's state is given by its position and attitude (or orientation). The attitude is defined by the heading and the normal.
The turtle obeys three commands: move (in the direction of its heading, changing its position, but not its attitude), turn (about its normal, changing its heading, but not its position or normal), roll (about its heading, changing its normal, but not its position or heading).
When the turtle moves, it produces a path in the form of a pipe (tube) or red line. You can also switch on the yellow light on its back. (During roll operations, the light is not traced along a circular arc, but takes a shortcut.) It is even possible to fill the area between the red and the yellow line, in which case it looks like the turtle produces a fence.
Tooltips identify the various graphics elements. Rendering of the axes, turtle, attitude indicator, red line, tube, back light trace, and fence can be turned on and off. The tube provides a better understanding of the three-dimensional structure of the path; the red line is less obtrusive.
By default, the scene is rendered as graphics. The setterbar on the right allows you to view it as text, showing current state, distance to origin, list of commands executed so far (the turtle's program), and coordinates of waypoints on the path. This information can be copied for use in other applications.