home *** CD-ROM | disk | FTP | other *** search
- ICEFRAC VER 2.1
-
- - A Diffusion Limited Aggregation simulator
-
- (c) 1989 by Lars R. Clausen
-
-
- About Diffusion Limited Aggregation (DLA):
-
- DLA is a type of fractal I first read about in a Scientific American, the
- number long forgotten. When I also saw it in The Beauty Of Fractal Images, I
- made a simple one for myself. Then FastGro came along on a Fishdisk, and I
- thought I had been outmanoeuvred. But when it wouldn't work, I finally
- finished IceFrac, adding colors and more.
- The method is fairly simple:
- Make a form on the screen. Let a randomly placed dot wander randomly for
- a maximum time of, for example, 50 moves. If it during that time encounters
- another dot, it will be plotted down there, and another will be started. If
- not, it leaves without a trace, and another one starts. After a thousand or
- two has come and gone, a form like lightning or ice crystals begin to form.
- By varying the original form, the colors, the ways of moving and testing and
- more, several beautiful forms may be made.
-
-
- About IceFrac:
-
- IceFrac is a rather slow, but optionfull implementation of DLA. Upon
- starting, it opens a LoRes NonInterLace screen in 32 colors, with a single
- strip in the top to move it and a line in the bottom. Dots then begin to
- appear on it, builder higher and higher, and changing their colors along the
- way.
-
- IceFrac takes one argument: The number of BitPlanes, by default 5. To
- change this, simply type IceFrac -P(the number you want to use). It does not
- support HAM or HALFBRITE modes, so the maximum number of planes is 5.
-
- To stop IceFrac, just press the Escape key.
-
- By pressing Return, you save the current picture as "FracPic001", the
- next time you do it as "FracPic002" and so on. If you want, you can make a
- little animation from it.
-
- Doubleclicking the right mouse button gives you a requester with some
- options, detailed below.
-
- If IceFrac cannot find any place to place the new dot, it will wait for a
- response before trying again, instead of using a lot of CPU time for
- nothing. That next response would typically be a doubleclick for the
- requester, so you can start it again.
-
-
- About The Double Menu Request:
-
- From here the program is controlled by various options, here described
- from top down:
-
- Move: The directions the dot can move in are shown in these 8 gadgets.
- Initially, only the bottom three are selected, forcing the dot to move
- downwards all the time. Combined with the Test gadgets, this gives quite a
- lot of control over the form of the 'thing' created, whether you want it
- to look like ice, lightning, gunshots, trees, bacteria or something I
- haven't yet thought of.
-
- Test: This indicates where testing is done for other dots. This says a
- lot about where the form will tend to go. As with Move, only the 3 downwards
- gadgets are selected, ensuring that the form will go upwards.
-
- Border: If this gadget, saying 'Die', is selected, any dot that contacts
- the border will disappear instantly, This makes the program go faster, as
- the dots that get out there normally are too far away to reach anything. You
- may want to turn it off, though I can't give any example of why you should.
-
- Size: This is simply the X and Y size of the window. If it is made bigger
- than this, it will go into HiRes and/or InterLace, if ReGrow is selected. It
- can't get any bigger than 640x511 (640x399 for NTSC screens).
-
- Color Change: This is the number of dots to be set before the color is
- changed upwards. A Color Change of -1 means you don't want any change at
- all. Color 0 will not be included in the colors, as it would mean absolutely
- no effect till it changed to the next one. Otherwise, the entire number of
- colors will be used.
-
- StartArea1 & StartArea2: These numbers show where the blocks initially
- displayed will be placed. They are shown as XMin YMin XMax YMax, in that
- order. Notice that these can be either a vertical line, a horizontal line, a
- full block or a single dot. Color 1 is always used for these blocks. As
- RectFill() is used for drawing the blocks, XMin should not be greater than
- XMax and YMin not greater than YMax. If XMin of StartArea2 is set to -1, it
- will not be displayed at all, as is the case in the start. Note also that
- not the full window is used. This is done to avoid testing outside the
- window. Pressing a Make gadget will remove the requester and let you
- mousedrag out an area to use. The placement of this box is not the size
- shown in the Size gadgets, rather the actual size of the window. It will be
- cut down to fit the size of the area used when ReDraw is selected. This
- provides an easy way to place the block in the corner of a small area, you
- just make it outside the area, then it adjusts itself.
-
- MaxIt: The maximum number of moves each dot can make before disappearing
- is shown here. A low maxit will make the form grow faster and thinner, while
- a high maxit slows down generation but makes a thicker form, which in the
- most cases is the most beautiful. The minimum MaxIt is 2.
-
- Margin: Margin is how the maximum number of pixels away from the initial
- block the new dots will start. As new dots are added to the form, this
- border will be moved out accordingly, so as to be always Margin pixels away
- from the outermost part of the form. The smaller the margin is, the faster
- the form will be made, but a small margin may cause it to go out into a few
- thin arms. This does not happen in the initial setup, as all dots move
- downwards, but if started from a single dot in the middle of the screen, the
- form would with a low margin very quickly go in four directions or so, as
- the outermost parts will be hit very easily. The maxmimum margin is equal to
- maxit, as no dot would be able to get to the form if margin was larger than
- maxit and Enter On Edge was selected.
-
- Enter On: When Enter On Edge is selected, all new dots will be put at the
- maximum distance from the form, as dictated by Margin and Size. This means
- that they may have a long way to travel before finding anything, but if it
- not selected, spaces within the form will also be hit, making it totally
- solid and maybe a mess of colors. It normally gives the best results to let
- them enter on the edge, but a gunshot-like form I made was better the other
- way.
-
- Change Colors: This puts up Jonathan Potters practical colorpalette for
- changing the colors used. This does not nedd any explanation.
-
- Regrow: This is one of the exits from the requester. Pressing this, the
- screen will be cleared, matbe even changed, the startareas drawn and the
- generation will begin according to the gadgets selected in the requester,
- with appropriate change in size.
-
- Go On: This exit leaves the screen unchanged, but otherwise lets IceFrac
- use the options just set. Only the size of the area used will not be
- altered, as this could easily involve a closing and reopening of the screen,
- removing everything.
-
- Cancel: Sets the options back to the state they were in before the
- requester was brought up, and continues generating unchanged.
-
-
- About Some Beautiful Forms:
-
- I have made some forms that I find kanda beautiful, so I will present
- them here:
-
- GunShot: Let moving be only down-right, testing the three down-right
- directions, the color change 25 or so, the startarea a single dot somewhere
- in the downright corner, the margin 1 and use no enter on edge. Colors may
- be changed to a red-yellow range. After a little generating, place the mouse
- at the startinpoint, and BLAM! you can see the shot.
-
- Lightning: As GunShot, but the movement is up, the testing is the three
- upwards directions, the area is in the top and enter on edge is on. May
- require a very white color range or no change at all.
-
- Box: Let testing and moving be all directions, but use a very little
- area, like 50 x 50 pixels, with a single point start and enter on edge on.
- With a fast color change, the edge will give a cute effect.
-
- IceCrystal: Use maximum screen size in HiRes InterLace, a free movement
- and a single point start with a margin of 2 and enter on edge on, and
- be patient! After a while a blue and white icecrystal should appear. This is
- the one that gave the program its name, but it is rather difficult to make.
-
-
- About Copyrights And That Sort Of Stuff:
-
- You may copy this program as many times as you care, and use the code for
- your own programs if you want, as long as:
-
- 1) No money is taking for the copying, except for a small fee for the
- disk and the time used, say a dollar or 2.
-
- 2) I get the credit for this very program.
-
- 3) This document is always copied along with the program.
-
- As usual, I cannot take any resposibility at all for the effects of this
- program!
-
- If you like this program, please send a note, wishlists, bugreports,
- homemade programs, changed versions, $$$, Amiga 3000's and Rolls Royces to:
-
- Lars R. Clausen
- Hougårdsvej 29
- 8220 Brabrand
- Denmark
-
- Fidonet nr 2:230/22.34
-