Eyecandy: Turn your computer into an expensive lava lamp.

FractKal

Initial Release Date
September 27, 1994
Color Palette
8/18b
Max Resolution
License Status
Freeware © Richard E. Barlow
Codebase
Platform(s)
MS-DOS, Windows
Author(s)
Richard E. Barlow

Description

FractKal rapidly renders screens based on a small mirrored window of a Mandelbrot or Julia fractal with a randomized palette. Even at it's highest detail setting, the MS-DOS version can produce many fractal images per second, though a few formula seem to take significantly longer to render.

Generation of new images can be paused with 'space', and the palette rotated with 'r'. Unfortunately there is no way to combine palette rotation with pattern generation.

A Windows screensaver version was also produced, but it's non-interactive and provides significantly fewer options. It has no Windows Screensaver configuration, but does have a small ini file. Revisions to the ini seem to have no noticeable effect. It will run at higher resolutions, but uses more mirroring as well (a 10x10 grid vs 4x4). Even with the extra mirrors, it will render a higher resolution fractal than the MS-DOS version at resolutions 800x600 and up.

Video

Screenshots

ScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshotScreenshot

Downloads

Documentation

BLoad







         BLOAD

         Simple screen loader for saved fractkal or other .BLD/.PLT
         format images.


         FORMAT:

         From command line:

         BLOAD <path> filename

         BLOAD without parameters will bring up a directory display
         from which files can be selected using cursor, mouse, or
         filenumber.

         Images are displayed until a key is pressed.

         <esc> exits program.


         Richard E. Barlow



Fractkal
                                                                -1-



                                   FRACT_KL

         DESCRIPTION:

         Fract_kl is a "screen idle" program based on fractal sets.
         Simply type "Fract_kl" and the default settings will create
         paisley-like patterns created from fractal algorithms.  The
         default setting creates Julia sets with random windows and
         random selection of palette.

         Press escape to exit.

         OPTIONS "On the fly":

         Many options can be accessed without stopping the display
         simply by typing a letter (WITHOUT <enter>).

         + or - will change the delay setting to speed up or slow down
         the program.

         P{n} will select palette number n, where n=0 to 9.

         P{x} will select palettes from 10 to 71 when x='A' to '~'
         based on ascii value of x-55.  If n is not specified,
         the palette options menu will appear.  Note: palettes 72
         through 89 can only be accessed through the palette options
         menu.

         Pressing 1-9 will set the minimum colorstep.

         'S' will save the image to disk when completed or when
         paused. Images will be saved as FRACTKnn.BLD & FRACTKnn.PLT
         to the default drive and directory (will start @ nn=0).

         'M' will select Mandelbrot based images.

         'J' will select Julia based images.

         'W' toggles a wraparound filter on/off.  An integer algorithm
         is used to calculate the pixels.  Overflow conditions will
         produce artifactual detail in normally "quiet" zones of the
         images.  When the filter is in place (default is ON), this
         noise is suppressed and true fractal images are produced.

         <space> will pause the image when completed.  Once paused,
         typing 'R' will rotate palette (+ & - now control the
         direction of rotation).  Image can be saved while paused.
         Press <esc> to exit pause mode.

         'A' will toggle the random palette change- new palette for
         each new image.

         <esc> exits the current function or program.
                                                                -2-
         OPTIONS MENUS:

         'C' will bring up the color options menu where the minimum
         and maximum step values can be changed.  Step values are
         determined by minimumstep + random(maximumstep).

         'P' (alone) will bring up the Palette options menu.

         'H' or 'F1' will call the Help! screen.

         'I' will allow changing of the value for maximum iterations.
         The higher the value, the more detail, but less speed.


         GLOBAL OPTIONS MENU:

         Any character not listed above will bring up the global
         options menu where all parameters can be altered.

         My default values are listed for informational purposes.
         Enter a new value or just press <enter> and the value will
         stay at your preset level.

         The lower limit of the real and imaginary windows for the
         fractal calculation may be set.  The actual lower limit will
         be randomly selected as a value equal to or greater than this
         lower limit.

         The MAXimum and MINimum STEP for real and imaginary windows
         may also be set.  The actual width of the window will be a
         random value between MAXSTEP and zero plus MINSTEP.

         The maximum and minimum color steps are selected such that
         the step between adjacent colors is random(maximum) +
         minimum.

         Ninety palette options, including a random palette which
         changes each time selected, are included.  The Eightcolor
         palette is most interesting if a minimum color step of one is
         used.  Most palettes are unnamed.

         The Wraparound filter can be enabled or disabled.

         Automatic palette change can be enabled or disabled.

         Maximum iterations are next.  More iterations will increase
         the detail, but slow program.

         Next is the delay factor.  The timing routine automatically
         selects a value based on the speed of your machine, but other
         values may be entered either here of by pressing + (faster)
         or - (slower) while in the image screen.  If it is still to
         slow, decrease the iteration value in this menu or by using
         the 'I' command while in the image screen.

         Finally select between Julia or Mandelbrot based images.



                                                                -3-


         COMMAND LINE OPTIONS:

         FRACT_KL <S>nnn, where S is a switch listed below, entered in
         any order.

         Dnnnnn: Set Delay factor where nnnnn= delay constant desired.
                    (overrides the automatic timer selection).

         Innn: Set maximum number of Iterations.

         Pnn: Set Palette number.  Specifying a palette will
              also turn off the automatic palette change feature.

         Wn: Set Wraparound filter: 0 off, 1 on.
                   (default is off);

         Nn: Set miNimum colorstep.

         Xn: Set maXimum colorstep.

         J:  Julia based images (Julia is default).

         A-:  Turn off automatic palette change.

                                                                -4-
         BRIEF DISCUSSION:

         The images are generated from a fractal algorithm using
         integer math.  While experimenting with different integer
         subroutines I found that a "wraparound" effect occurred at
         certain settings which added detail to otherwise boring
         fringe areas of the fractal sets.  While the effect can be
         useful for a random program such as this, I have added a
         filter toggle to create true fractal images.

         While I do not have the patience to type an in depth
         discussion of fractal geometry, I offer a brief description
         for those not familiar with the basics.

         The Fractal images are generated from the behavior of a given
         value when subjected to the general formula:

             X(k+1) = fn(X(k)) + c

         The value of X will tend to go to infinity or a finite
         attractor (such as zero in this program).  The function used
         for this program (and most fractal programs) is X*X.  When
         the function exceeds an arbitrary bailout value, it is
         assumed it is headed for infinity and the starting point is
         assigned the value k (the number of iterations).  X is a
         complex number (X = a + bi).

         Mandelbrot sets are created starting with x = 0 and plotting
         the behavior as the constant c is varied.

         Julia sets are calculated using a preselected value for c and
         plotting the behavior as the starting a and b components of X
         are varied.

         In my program, the calculations are made only for one
         quadrant of the screen and mirrored to the other three
         quadrants for a kaleidoscopic effect.  Julia sets are
         selected at random along six lines "drawn" on a Mandelbrot
         set.  The real and imaginary boundaries for the Julia sets
         are randomly selected.


         CREDITS:

         The program was created using Turbo Pascal 5.0 mixed with
         assembly code.  The program was inspired by the (incredible)
         FRACTINT program from which some of the palettes have been
         lifted.

         Enjoy.

         Richard E. Barlow
         Atlanta, GA
         rebarlow@mindspring.com

External References

Discussion