October 10, 2024

Computational Dreamtime Designs

© 2000 – 2024 Gary S. Stager

A version of this article, Making Dreamtime Designs with MicroWorlds, was published in 2000 for use with MicroWorlds (Logo) software. (the link to my homepage is a stroll down bad Web design memory lane)

The aboriginal people of Australia have expressed themselves through a form of painting for thousands of years. These paintings tell the stories of dreamtime, myths of spirituality, community and survival. The geometric style and symbolism of dreamtime painting create an excellent opportunity for combining art, mathematics, language arts, multiculturalism and social studies in a creative context. Such art tells stories of hunting, dreaming, community, the environment, and human aspiration. This heritage of human expression expressed in the works of Australia’s first nations offers multiple lenses through which learners may view their world, their history, and their place in the world.

While certainly subordinate to the goals of reconciliation, seeing and interpreting visual information, is an additional benefit of appreciating such artistic beauty and a way of knowing. Describing the art in computational terms adds an intellectual formalism that develops mathematical fluency. That said, best practice is to make this art with the presence of and in collaboration with First Nations artists and cultural knowledge holders.

There are artistic elements in the Australian indigenous art similar to patterns found in nature, other indigenous art from across the globe, in Pointillism, ala Georges Seurat, and one might event note the influences on street art by artists such as Keith Haring or Jean-Michel Basquiat.

Turtle Art and Lynx software are a terrific canvas for expressing dreamtime-like designs of you and your students in this fashion. Use and learn more about Lynx at lynxcoding.club and Turtle Art here.

The art

Take a look at the following web sites to learn more about aboriginal art. Perhaps you will be inspired to create your own masterpiece!

A dreamtime design created in Turtle Art employing lots of randomness

Block-based programming in Turtle Art

Turtle Art is a spectacular programming environment for learners of all ages. Its limited tool set is focused on communicating geometric ideas in service of producing beautiful 2D art. Unlike Lynx or Snap!, which allow for multiple turtles, animation, multimedia, and expansive computer science concepts, Turtle Art concretizes mathematical ideas while remaining accessible to beginners, young learners, and their teachers.

Students should be encouraged to create dreamtime designs in their own style using just a few blocks – FORWARD, BACK, RIGHT, LEFT, PEN UP, PEN DOWN, and perhaps REPEAT, ARC, and SET COLOR. Dots, circles, wavy lines, may all be created, in one or multiple colors, to create dreamtime-like art. The best of these images should tell a story as well.

The Turtle Art dreamtime design (above) was created with user-defined blocks (procedures in Lynx) that drew specific figures in random colors, in random positions on the canvas (screen). Some of the symbols were drawn outside of the screen borders as an artifact of the randomness. Iteration, conditionals, random number generation, local and global variables are used. Once you can program a list of instructions for drawing a specific symbol, you can vary it size, move it, change its color, or orientation by using variables and randomness. As the programmer, you are creating the paintbrushes and other expressive tools used by yourself or others to create a version of dreamtime designs. A host of Turtle Art resources, project ideas, reference materials, and more may be found here.

A screenshot of Turtle Art programming with the dreamtime design it created beneath the blocks
  1. Open Turtle Art
  2. Drag the sample Turtle Art project I created into a browser window running Turtle Art, and read the program. Do you understand it? Can you use the new blocks I programmed? How might you program similar dreamtime designs? You may of course change my blocks or use them as elements of new blocks.

    (You may need to download the file to your hard drive and then drag the file into Turtle Art or you may drag the image above directly into Turtle Art running in another browser window – depending on your browser.)
  3. Click on the menu icon at the bottom right-hand corner of the Turtle Art screen, save your image as an SVG file, and print your dreamtime design on a vinyl cutter or laser cutter! (Learn more in this free white paper!)
Turtle Art blocks I defined

Could you create dreamtime designs and embroider them with a digital embroidery machine and TurtleStitch software?

You may also try using a “floor turtle,” such as the Finch, to draw your dreamtime design programs on paper.

A simple dreamtime design programmed with turtle graphics in Lynx

The Lynx toolkit

The procedurality of Lynx allows the user to create tools for creating their art. Lynx is an excellent choice for programming in a modern text-based Logo dialect. You might think of the following Logo procedures as a collection of different paintbrushes. Each procedure creates a different type of geometric figure. The use of numerical variables/inputs allows the user to paint with number.

Since the dreamtime designs are composed of dots, we need a basic dot procedure. This one puts the turtle’s pen down and then goes fd 0. You may experiment with the size of the dot by either changing the pen size or changing the shape of the turtle and stamping the turtle costume rather than drawing a dot.

to dot
pd fd 0 pu
end

Experiment with each of the three dot procedures and determine which one you wish to use. Only one procedure should be in the procedure tab of your project.

to dot
setsh “theshapenameofyourchoice
pd stamp pu
end

to dot
setpensize 2
pd fd 0 pu
end

l stands for line and creates a line segment of a distance :length with dots :spacing apart. In other words, a l 50 5 would create a segment 50 units long with turtle steps 5 units apart. Ten dots would compose the line segment. You may use this procedure in superprocedures creating tracks or other geometric shapes.

to l :length :spacing
repeat :length / :spacing [dot pu fd :spacing]
end

c stands for circle and creates a circle of a radius :radius with dots :spacing apart around the circumference. Can you make a procedure that draws concentric circles?

to c :radius :spacing
repeat 360 / :spacing [fd :radius dot pu bk :radius rt :spacing]
end

Create the following procedure and try it by typing CIRCLES in the command center. What does it do?

to circles
setc “red
c 100 10
setc “blue
c 50 20
setc “green
c 25 5
end

What happens when you create concentric circles with different spacing between the dots?

Forward!

Seek inspiration from the galleries of aboriginal art listed above. Can you recreate some of the patterns you see with Lynx? Use the provided procedures and your own variations to create a dreamtime design that tells a story. Share that graphic story with your colleagues.

Right-Click (Windows) or CTRL-Click (Mac) to copy or save graphic you create. Be sure to hide the turtle before doing so. Now, you can use your dreamtime design in other applications or print it.

Are there other types of art made of dots? Can you point to some examples on the web? (see pointillism)