Skip to content

L-System Visualizer v. 2 Release Notes

For the app itself, see: https://micahtillman.com/lsviz

See also the basic info page, and the FAQs page.

Core implementation changes:

The drawing of dots, in addition to lines, has been implemented. The dots are colored to show what iteration introduced each dot. Furthermore, for some figures, it is possible for the user to change whether the introduction of dots is treated as a process of interpolation, or as a process of accretion. See the FAQ page for more info.

An algorithm for calculating the fractal dimension of the figures created by the app has been implemented, and can be invoked by the user when the app has completed its drawing process of a given figure.

The use of the loop where the replacement rules are used to develop/grow the string have been incorporated into the loop where the interpretation rules are used to draw the figure.

“Coroutines” have been employed allow updating the screen while in the middle of creating the figure. This allows the figure to grow on screen in real time, instead of the app appearing to “freeze,” followed by the entire figure appearing at once.

The library of L-systems that generate fractals has been expanded from 10 to over 200.

UX/UI changes:

A UI toggle has been added to allow users to see/screenshot the figures drawn by the app.

A progress bar has been added to help the user see where they are in the process of the drawing of a figure.

The text fields are now navigable using <tab> and <shift><tab>.

You can now start the drawing process by pressing <enter> or <return> while a text field is selected (instead of having to click the “GO” button).

Selecting one of the “turn” options in an interpretation rule automatically moves the cursor to the text field for specifying degrees.

A photosensitive epilepsy warning has been added, since the addition of animation and color to the app may create issues for some users. I have tried to minimize the potential for flashing lines, lights, and patterns, but I felt a warning wouldn’t hurt.

A “drawing complete” sound/musical note occurs when the app is done drawing a given figure.

The width of lines can be adjusted by the user. Lines can also be hidden completely.

The size of dots can be adjusted by the user (and dots can be hidden completely).

Users can adjust how many lines or dots are drawn to the screen on each frame.

A button has been added to allow users to view fractals from its library at random.

The option to clear the rules of the current L-system has been moved from a menu to a button that appears below the rules.

Bug fixes:

A bug in the previous version of the app where the app would freeze when the user lowered the number of iterations and asked the app to redraw the figure has been fixed.

A bug in the previous version of the app where removing the replacement rule for a given letter would delete the interpretation rule for a different letter has been fixed.