.: Tetra-circle Fractal :.

This is a fractal created in 1995 in the initial activities prepared by LEM to explore concepts of programming, progressions and limits, using Interactive Geometry Systems. It is based on a circumference with four poles, generating four new circumferences (of smaller radii), from that come its name. On the version here presented, the base of the fractal will be two points, but it is also possible to use a circumference.
The figure 1 presents the Tetra-circle fractal's construction in 3 phases, on the first one there is the fractal's base, on the seconde the representation with level 1 and on the third with level 2. These levels correspond to recurrence depth used on the script's application (to be built here).
Figure 1: 3 representations of the proposed fractal, with recurrence depths of 0, 1 and 2 respectively.


Script's construction

In this task it is convenient to use the offline version of iGeom, which allows easily saving the script's files on the user's computer. However, it is still possible to use the applet version, including remotely through the Web, (but in this case when closing the browser the user will "lose" the script). In the case of the applet, we recommend to follow the section specific to applet.
  1. Given A and B (which will be the script's parameters), launch the script's register clicking on the secondary button .
    After the click, it will be open script's following window, in which all its parameters will be noted on the upper part, meanwhile on the central part will be noted the constructions (and operations on the geometric objects) done from this moment on.
  2. Build a circumference of center A, passing through B.
    Note that in this moment, on the script's following window, there is A and B as the script's parameters in definition, and on the central area a representation of the constructed object will appear: c0 := circumference(A,B).
    Figure 2: first operation followed (the 2 points not built by the script => parameters)
  3. Build the line r passing through A and by B and the line s perpendicular to r, passing through A.
    Note that in these operations no new parameter was used, because all objects used, except A and B, were built by the script.
    Figure 3: on the left the script window with the second and third operations followed on the right the corresponding construction

  4. Build the (other) three "poles" of the circumference. The intersections C and D between c0 and s and the intersection E between c0 and r.
    Figure 4: three new steps followed (construction of the intersections)
  5. Build the four midpoints F, G, H and I, respectively of the segments (or pair of points) AC, AB, AD and AE.
    Figure 5: four new steps (construction of the midpoints)
  6. Build the "interior of the circumference" c0 and choose "auxiliary" objects. These operations have only the goal of a more interesting graphic effect on the fractal. First the editing: hide all the auxiliary objects (lines r and s and label c0).
    Now the operation to build the "interior of the circumference" and change its original color:
    1. click on the primary button of measures ;
    2. select the circumference c0 and click on the secondary button interior of the circumference ;
    3. hide the area measure that will appear;
    4. edit the color of the interior, which can be made by two ways:
      1. with the button select , click on the interior of the circumference (on gray originaly) and then click on the secondary editing button . On the edit window opened, choose the color, dragging the color definition bars (of red, blue and green). In the end, click OK.
      2. with the button select or move activeted, double click on the interior of the circumference (gray area originaly). The same edit window will appear.
    Figure 6: four new steps (editing steps)
  7. The fractal's base is ready, now one must define the recurrence.
    This is a delicate moment, in which the fractal's amplification must be understood. For that, one should answer the following question:
    suppose that the script's definition is finished, over which the base's objects must it be applied to have more then one of the fractal's level?

    On the fractal's construction, to obtain its second level, the pairs of poles and midpoints: CF, BG, DH and FI have received the recurrence. Note that the parameter's selection order is essential for the final effect and this is observed on the top of the script's window. On the script under construction, the parameter's order is: first the circumference's center to be created, the point A, and then the point that defines its radius, the point B.
    Thus, one should select each pair of points on the correct order to apply the recurrence:
    Remember: the recurrence's applying order must respect the same principle as any script's application, in other words, one must know the correct order that it can be applied (as with any algorithm/function, it is not always possible to change the parameter's order to get the same result, like the integer division algorithm and the Tetra-círcle fractal).
    Figure 7: the last 4 instructions is the anotation of the recursive calls
    On the figure 7, in the first plane, appears the script annotation window. At the top of this window there are the 2 parameters of the script and at the central portion of it, there are the last algorithm's instructions. It is worthwhile the last 4 instructions, Recurrence (C,F) to Recurrence (E,I), these are the necessary recurrences to get the fractal construction (as indicated in figure 1).

Script's execution/application

As explained on the section the use of scripts on versions application and applet are different. On the version application one can launch a script saved on a disk while in the version applet, the script must be associated to one of the script buttons (and that can be done by creating a new script or loading it from a HTML code.
In this example, the way the script is launched will not be detailed (from the script button - in - or opening the file system - ).
  1. Select the points over which the script will be applied (in this case two) and then launch the script.
  2. As this is a recurring script, the window (below) will be opened asking for the recurring depth (if you enter 0, no recurrence will be applied and an analogous construction as during the script's creation will be obtained).
    Figure 8: window to choose the recurrence depth
The growing number of objects in a construction created by a recurring script allow its didactic use in different teaching/learning levels. For example, one can ask the student to find the function that describes the number of objects (of some specific or many types) in relation to the recurrence depth.

Script example ready to use

On this subsection we introduce two applets, on the first the drawing area is blank but the first script button already has the exposed script. On the second applet the interactive construction which led to the figure 1, illustrating three recurrence levels of the script Tetra-círcle. On the applet, build pairs of points on the drawing area and apply on them the same fractal Tetra-circle, using differents recurrence depths.
Warning: if you use as depth a "big number", your system may stop working!
In fact, the number doesn't need to be really big, because the function that describes the growing number of objects on this script is a base four exponential: being k the depth, the number of objects is given by an expression like K1 + (40+41+42+...+4k).
depthnumber of objectstotal
0: 2+12 * (40)= 2+12
1: 2+12 * (40+41)= 2+60
2: 2+12 * (40+41+42)= 2+252
3: 2+12 * (40+41+42+43)= 2+1020
Table 1: the growing number of objects for the recurrent script Tetra-circle.

Applet 1: on the first script button is the Tetra-circle fractal's algorithm.
On the applet above, on the script button 1 is the algorithm for creating representations of the fractal Tetra-circle, however it is recomended that the user try to build his own script to verifiy the process understending. On the section other fractals are proposed as challenges: three representations of each fractal are represented, the user can create his own recurrent script to generate them.


On the applet below, the interactive construction that led to the figure 1, illustrating three depth levels of script application, in other words, applications with script depths of 0, 1 and 2 were generated. The buttons were removed by a HTML parameter, so it is possible to interact with the construction just by moving the label A (the others aren't interactive).
Applet 2: representations for the Tetra-circle fractal.

On the interactive construction above, it is possible to move the points P1, P2, P3 and the three points A (centers of the bigger circumferences). To move them, one must activate the move button , click over the point, loosen the mouse button and the move it freely. To end the movement, click again, this time anywhere on the drawing area.