KDE Turtle - fractal generation through repetitive rule substitution

Version 0.1, 23 September 1997

Index

Introduction

This application can be used to generate visual representations of fractals described by an axiom and a rule set to be expanded to a certain level through repeated rule substitutions into the axiom and making the result the axiom for the next level. The axiom and rules possibly ( and most likely if it is to be of any use ) contains embedded commands which is understood by a turtle which will draw them on a visual pane.

Turtle

The turtle currently understands the following commands ( which are open to suggestions BTW ) The turtle first renders the fractal in imaginary space and then uses the result to calculate a scalar by which to scale all the initial values ( unit length, unit in/decremental, start position ) and then renders again onto a visual canvas. It uses an iterative approach ( in stead of a possible recursive approach ) which results in increased speed however accompanied by greater memory requirements ( +- 256 KB for fine grained result ) An example of a possible session might be best described by the well known Koch fractal. In this case the starting axiom is F and there is only one rule FF-F++F-F. The rule syntax is simply a character signaling which character in the axiom to replace with the rule followed by the replacement string. Thus, in this case F will be replaced by F-F++F-F. This means that at level 0 ( first substitution of rule into axiom ), the result is

F-F++F-F

At level 1 we get as result

F-F++F-F-F-F++F-F++F-F++F-F-F-F++F-F

It should be pretty clear that this kind of expansion could result in pretty rappid growth of the fractal. Level 2 ( which i'm not going to write down here or anywhere for that matter ) results in

Eventually we end with something like

which is the application's representation of the memory limited maximum expansion through iterative approach. There are quite a few well known fractals of this kind ( of which some are included in the distribution ) and you should play with them. The real challenge however is to create one's own which is easier said ( or typed ) than done. If you create a nice authentic one, you can send it to me and i will include it in future distributions with appropriate acknowledgement.
 

Examples

Following are a couple of examples to try out. They should be available in .tur files in the archive this application was distributed by. Here they are presented presented in the following way Try them out.

Graphical User Interface

The user interface attempts to be straight forward. A couple of popup menus provides access to the functionality of the application At any stage of fractal display, you may resize the window which will result in the fractal being regenerated to fill up as much as possible of the window without aborting aspect ratio.

Installation

For the following instructions to work, the user this is done with should have access to developement tools on target host and write access to installation directory In you have any problems and/or patch to installation process, please let me know.

You should have received some sample .tur files in the distribution. Try them out.

Bugs

Changes

Acknowledgements

Pheewww ...

Future

Copyright

I must admit, i don't understand neither copyright statements nor their laws. I include a copy of the GNU General Public License just to have something to put in this section, so your bound to it.

KTurtle is Copyright 1997 by Tiaan Wessels, tiaan@netsys.co.za

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA



If needed, contact me at  tiaan@netsys.co.za