-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 ). + 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. 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 to exit pause mode. 'A' will toggle the random palette change- new palette for each new image. 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 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 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