Contact News! Books Home

Interactive Spider Geometry (Mygalomorph Patterns)

Experiment with the intricacies of Mygalomorph Patterns. Learn about the theory below. Drag the mouse over the image.

Try shift-clicking and control-clicking or both. This Java applet was programmed by the fabulous Kristjan Varnik based on Chapter 9 in Cliff Pickover's book Keys to Infinity. Learn more below.

The Loom of Creation: An Explanation from Keys to Infinity

Consider a race of spider-beings named Mygalomorphs who spend their days spinning webs upon circular frames. Status in their society is based on the beauty of their webs. To create the web patterns, the spiders string a straight piece of web from one point on the circle to another. Usually the patterns are dull and uninspiring, and therefore most spiders are relegated to lower societal classes.

One day, a rather intelligent Mygalomorph let a straight web piece amble around the circumference of the circle, the front end going six times as fast as the rear. In other words, every time the rear of the straight web moved one space, the front end moved six. After a few moments' contemplation, the Mygalomorph realized that by the time the fast end has completed one trip around the circle, the slow end had traveled just a sixth of the the way around. His web grew ever more intricate as he continued weaving. His forelimbs moved back and forth with lightning speed.

When he stood back and gazed at his creation, it was not some complicated, meaningless pattern but rather a five-lobed object which mathematicians on Earth call a ranunculoid (Figure 9.1 in Keys to Infinity). Amidst the intricate beauty of the strands, a ghost of the ranunculoid seemed to materialize as if out of thin air!

After many experiments, the Mygalomorph noticed that if one end of its web strand went n times faster around the circumference of a circle as its other end, then the web created a curve with n-1 lobes. So beautiful were his patterns, that the wise Mygalomorph soon became King of the Spiders.

What strange shapes can you create by hand or by using the C or BASIC spider programs in this chapter? Both programs compute the endpoint positions (x, y) and (x2, y2) of each straight web chord on a circle. To control the programs, you can alter the values for variables a and b which allow you to create an amazing array of spider forms. These two control parameters control the speed with which one end of the spider strand moves with respect to the other. Figure 9.2 in my book, for example, was created by having one end of the web go twice as fast as the other (a=2, b=2). This produces a heart (cardioid) shape amidst an intricate weave of lines. Figure 9.3 in my book was created using (a=3, b=3). It's called a nephroid. Figure 9.4 was created using (a=100, b=100), and, of course, this fabulously detailed shape has no common name. Figure 9.5 was created by using different values for a and b % (a=2, b=3). Although quite beautiful, the points on this fishtail object do not lie on a circle. Can readers guess what constants were used to generate Figure 9.6 in my book?

Of all the web curves in this article, the cardioid is the most famous. The cardioid (meaning heart-shaped) was first studied in 1674 by astronomer Ole Romer who was seeking the best shape for gear teeth. When a circle rolls around another circle of the same size, any point on the moving circle traces out a cardioid. The Greeks used this fact when attempting to describe the motions of the planets. Finally, the cardioid is the envelope of all circles with centers on a fixed circle, passing through one point on the fixed circle.

What strange new worlds can you create using the spider programs? What happens when you use ever larger values for a and b? I would be interested in hearing from readers who have discovered parameters which yield particularly beautiful and novel shapes. What are your favorite parameters and patterns? Here is the basic idea behind the code:

```
10 REM Compute Ranunculoids
20 R = 1
25 REM Ranunucloid parameters:
26 A = 6
27 B = 6
30 P = 3.1415926
40 FOR I=0 TO 360
50    T=I*P/180.0
60    X = R*COS(T)
70    Y = R*SIN(T)
80    REM select another point on circle
90    X2 = R*COS(A*T)
100   Y2 = R*SIN(B*T)
110   PRINT "Chord on Circle: "; X;Y;" TO ";X2;Y2
120 NEXT I
130 END

```

The Java code allows you to experiment with values of A and B using a mouse.

For noisier and distorted patterns, you can shift-click on a point, and then A will be set to x, and B to y. Without holding shift, both A and B are always set to the x value so a pretty circle is always formed. Holding Control divides the x and y values by 50. If you set A=2 and B=3 the shape is called a Fishtailoid.

A different Java applet at this page lets you explore the patterns in a different way. Give it a try.

These patterns are now taking the world by storm. For example, visit this artist's web site.