Or search by topic
In the first diagram the total turn for each cycle is 330 and
as $12\times 330 = 11\times 360$ the path returns to the starting
point after 12 repetitions of the cycle and a total turn of 11
complete revolutions. The program in Logo is:
repeat 12 [fd 50 rt 40 fd 50 rt 130 fd 50 rt 160]
(where fd 50 means go forward a length 50 units and rt 40
means turn right, i.e. clockwise, through an angle of 40 degrees)
|
Adding the three vectors which make up a cycle (e.g $\vec
{AB}+\vec {BC} +\vec {CD}$) is a simple exercise intrigonometry.
The problem reduces to the same problem as in the
Spirostars case because, joining the starting points of
successive cycles gives line segments of constant length with a
constant angle of turn of 30 degrees between each line
segment.
|
In this diagram the total turn for each cycle is 450 degrees.
As $4\times 450 = 5\times 360$ the path returns to the starting
point after 4 repetitions of the cycle and a total turn of 5
revolutions. The program is:
repeat 4 [fd 100 rt 90 fd 10 rt 90 fd 20 rt 90 fd 50 rt 90 fd
25 rt 90 ]
In this case by joining the starting points of successive
cycles we get line segments of constant length with a constant
angle of turn of 90 degrees between each line segment.
|
In this diagram the turn for each cycle is 200 degrees. As
$9\times 200 = 5 \times 360$ the path returns to the starting point
after 9 repetitions of the cycle and a total turn of 5 revolutions.
The program is:
repeat 9 [fd 100 rt 120 fd 200 rt 80]
In this case, by joining the starting points of successive
cycles we get line segments of constant length with a constant
angle of turn of 40 degrees between each line segment.
|
In the case where the graph continues off to infinity the vectors joining the starting points of successive cycles are all in the same direction so the patterns repeat themselves over and over again along a parallel strip. |
Pentagram Pylons - can you elegantly recreate them? Or, the European flag in LOGO - what poses the greater problem?
Explore this how this program produces the sequences it does. What are you controlling when you change the values of the variables?