Fractal figures generated
using L-systems
What you see at start is a "show" with the first iterations of some algorithms that generate fractal figures using L-systems, i.e. they are based in formal grammars. The "show" can be interrupted clicking in the button in the right, that initially has a E (for Escape), and can be restarted pressing the same button when it has a S (for Show). After the "show" finishes, or after you command it to do so by clicking in E, click in the Iterate button a few times to see a plant "in development". Each time that a new line is drawn, it has a direction that makes a positive or negative angle with the previous one, with a random value chosen inside a certain range. For example, if the selected angle (shown in ang) is + 45º, the value of the angle will be either between (0º and + 45º) and (0º and - 45º). If you click a few times in the + button, you can see the same figure drawn using different random angle values. If you click in the deterministic button, the value of the angle will exactly be + or - 45º. The angle used can be modified in the field to the right of ang, where the initial value is "45" , for the initial Plant 1f program. Write a new number in the field and press Enter. The blank button to the right of the + button allows you to see the drawing using only one color. Click it again to return to the color mode. When a curve of level 0 is shown, if you click in the chain button, you see the initial chain of commands. As you click in the button Iterate, the chain of commands to draw the plant in each iteration is shown. (The button will read normal; if you click again, it will read chain again and the program will leave the chain of commands mode). Using
the selector to the right, you can select other
interesting programs. Detailed explanation of how the Plant 1f curve is drawn
|
Using the selector in the right, you can
select the other programs. The respective rules and
initial chains are the following ones: |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| (*) in this in case, the
angle changes sign in each iteration so that the base of
the triangles are always in the bottom. Notice that commands 6 , 7 , 8 and 9 do not correspond to any specific action and are only used to make the curves evolve as desired; command x corresponds to a step ahead without drawing and the commands a and b both execute a drawing step ahead. The programs whose name finishes in f are versions of the programs with the same name without f, where command 0 inserts a "flower". Try to modify the values of the angles and to use the "random" option in the programs that by default are in "deterministic" mode. |




Wall paper-errors due to finite precision