Kalles Fraktaler 2

News 2017-04-06: Check out Kalles Fraktaler compiled with mingw and GMP by Claude Heiland-Allen.
This version is serveral times faster on many locations! An example is stardust4ever's Magnum Opus Ex that is rendered in 3200x3200 in 12m21s in my version and 3m37s in Claude's, i.e. more than 3 times faster (and more than 11,000 times faster than stardust's original!).
Also, the speed up for Newton-Raphson zooming is usually more than 10 times faster, so my recommendation is to use that program instead, if you are running on a 64-bit system.

32-bit version: [fraktal_sft.zip - 445kB]
64-bit version: [fraktal_sft64.zip - 460 kB]
Movie assembler 32-bit: [KeyFramesMovie.zip - 71 kB]
Movie assembler 64-bit: [KeyFramesMovie64.zip - 54 kB]
Gallery with parameter files: [fr_gallery.zip - 54 kB]
Source files: [fractal_src_2.11.1.zip - 613 kB]
Source files: [KeyFramesMovie_src.zip - 53 kB]

Check out MMY3D - a Movie Maker with 3D effects by Yann Le Bihan

Mandelbrot fractals are fascinating both for the esthetic beauty and also because they are truly infinite.

Recently a new method was developed to render Mandelbrot fractal images from a reference point rather than calculating the escape-speed for each pixel. Since lower precision then can be used, the time to render images decreases significantly.
Compared with the fastest programs using the old method, this program is more than 100 times faster on zoom levels around e100!
For details see sft_maths.pdf

My humble thanks to K.I.Martin for sharing his mathematical findings, which I think is almost as big discovery as the Mandelbrot formula itself.
My humble thanks also to Pauldelbrot for the solid glitch solving method which enables accurate render and make the new rendering method complete!

Thanks also to Dikydau for the locations in the gallery and to those that have given feedback and suggestions.
Thanks also to Botond Kósa and knighty for the extensions on Series Approximation.
Thanks also to laser blaster for the Burning Ship perturbation formula.
Thanks also to stardust4ever for formulas on other fractals (Cubic Burning Ship, Buffalo, Cubic Buffalo and Celtic)

For feedback and discussions, please visit the forum
Take a look at this tutorial if you want to make a zoom movie
Old versions of can be found here

Kalles Fraktaler
Update Version 2.11.1:Arbitrary factor a for TheRedShifter formulas
Update Version 2.10.1:A bunch of new fractals added, among them 4th and 5th power Burning Ship, Buffalo, Celtic, Mandelbar, Simon.snake's wonderful radiating formula, and many more!
Update Version 2.9.4:Newton-Raphson method to quickly find minibrot or pattern duplication
Update Version 2.9.2:Custom zoom size
Update Version 2.9.1:Enhanced exploring experience, Distance estimation, Arbitrary size ratio
Update Version 2.8.1:Enhanced exploring experience, skew animation + bugg fix
Kalles Fraktaler 2
Key Frames Movie Maker
Update Version 1.32:Image texture
Update Version 1.31:Distance estimation
Update Version 1.29:Frame by fram rendering for skew animation
Update Version 1.26:"Slope" encoding
Update Version 1.25:Long wave colors
Update Version 1.22:Bug fix - color jumps on negative cycling and fractional color division
Update Version 1.21:Current version
Key Frames Movie Maker

Shortcut only:
  Toggle skew animation. Enter the number of frames in the popup dialog
Menu items:
  Open Opens the current location from a parameter file (*.kfr)
  Save Saves the current location in the current parameter file (*.kfr)
  Save as Saves the current location in a new parameter file (*.kfr)
  Save as Jpeg Saves the current location in a jpeg file (*.jpg)
  Store zoom-out images Zoom out automatically with the selected Zoom size and store jpeg image file and map file (*.kfb) for each zoom out. The zoom out stops when the depth is lower than 1. The resulting files can be used by the KeyFramMovie program to create a zoom-in animation.
  Save map Saves the current location in a map file (*.kfb). This file can be used by the KeyFramMovie program.
  Examine Zoom sequence Make sure you store the end location as a kfr file in the same directory as you store the zoom sequence frames. This function allows you to examine the frames one by one and add references to remove eventual visible glitch blobs, or choose another pixel as the main reference.
  Resume Zoom sequence Make sure you store the end location as a kfr file in the same directory as you store the zoom sequence frames. This function allows you to resume and continue the zoom out sequnce, if it got interrupted.
  Exit Exit this program
  Zoom size Set the level of zoom, left mouse click to zoom in, right to zoom out
  Location... Displays the Location dialog where the coordinates for this location is displayed and can be edited.
  Iterations... Displays the Iterations dialog where the maximum iteration number for this location is displayed and can be edited.
The smooth color transition method is also set here, and the power on the Mandelbrot function.
The fractal types is also set here - Mandelbrot, Burning Ship, Buffalo or Celtic.
This dialog also displays
- Min: The minimum iteration count for a pixel in this location
- Max: The maximum iteration count for a pixel in this location
- Appr: The number of iterations given by Series approximation
- Calculations: The number of calculations performed and also the number of calculations per second is shown if this dialog is displayed while the image is rendered
  Set colors... Displays the Number of colors dialog where the colors can be edited.
  Reset Set the location to the start point
  Center cursor Center the cursor to image's pattern center
  Find Minibrot Starts an automatic zoom-in in the image's pattern center, until a Minibrot is found or if it fails to find the center.
  Set window size Set the size of the display window.
  Set image size Set the size of the internal image size. If this is larger than the window size, an anti-alias effect is achieved
  Refresh Render the current location
  Cancel rendering Cancel the current rendering
  Rotate Activate rotation, drag to rotate the image
  Reset rotation Clear any rotation
  Show Inflection Activate or deactivate display of Inflection
  Skew Opens the Skew dialog which allows to "un-skew" locations that are skewed
  Zoom animation Turns animation on or off when zooming
    Add reference (Color) Add a reference and re-calculates the pixels with the same iteration count as the reference. This is useful if the Auto solve glitches function fails to find and solve glitches in the image
    Set main reference Let you click the image and select the main reference for the whole image. This can be useful when glitches appears on top of minibrots when the reference is outside this minibrot. The glitch pattern disappears from the minibrot if the main reference is selected inside the minibrot.
    Reuse reference Do not re-calculate the reference for further zooming. This can be useful when during automatic zoom-out and to test different reference points, but must not be used together with the Auto solve glitches function active
    Find center of glitch (Color) Centers the mouse pointer over the glitch blob found, if any
    Auto solve glitches Turns the Auto solve glitches function on or off
    Solve glitch with near pixel method Instead of re-render all pixels with the same iteration count value(color) only the connected pixels are re-rendered. On some locations other areas in the same view have the exact same iteration count values. These pixels may be correctly rendered and may be incorrect if re-rendered with another reference
    Find highest iteration Centers the mouse pointer over the pixel with the highest iteration
    Show iterations Displays the image black-and-white with the pixels with the highest iteration as white and the pixels with the lowest iteration as black
    No approximation Turns the Series approximation function on or off.
    Non exact find Minibrot Makes the Find Minibrot function fail every 20 zoom-in, in order to gain depth automatically without ending up in a Minibrot
    Special Mirror - mirrors the image around the x-axis. Can be used on the deeper half of a zoom sequence to a minibrot - but not too close to the minibrot and too close to the half...
    Show smooth transition colors Displays the image black-and-white representing the smoothing coefficient
    Use long double always Use always the 80-bit long double hardware data type. This can solve some type of glitches
    Use floatexp always Use always the double mantissa/integer exponent data type. This probably only make the render slower
    Use auto iterations Turns automatic iteration control on or off. This is on per default.
    Set Ratio Enables chaning the ratio between height and width of the background image in order to enable stretching locations. Combinated with rotation, an almost infinite skewing ability is enabled, useful when exploring the hidden treasures of the new Fractals!
    Reset Ratio Reset ratio to default
    Skew animation Activates or deactivas skew animation. If activated, a popup allows you to specify end skew parameters and number of frames. The fractal will be rendered frame by frame, and can be combined with frame by frame rendering in KeyFrameMovieMaker or MMY3D
    Show glitches When activated, glitches are displayed with a solid color
    Newton-Raphson zooming When activated, a dialog will be displayed, which allows you to select if the zoom should jump directly to the minibrot, or to 3/4 zooms to the minibrot, where the current pattern is doubled.
Click on the fractal to specify the start point of the search of the minibrot
The current zoom size is used to set the boundaries of search around the selected point
Notice that it can take an hour or more to calculate the position of minibrots beyond e1000. However, that should be still much faster than zooming to the minibrot manually by selecting the center of the pattern in the view, or with the automatic search of minibrot that is also using the pattern center

Number of colors dialog
Number of key colors Set the number of key colors between 1 and 1024.
Divide iteration Divide each iteration number with this value, for dense images this value can be greater than 1
Color offset Offset the colors in the palette
Random Fill the palette with random colors made from the Seed value. The Seed button select a seed value randomly.
More contrast Move RGB values closer to max or min
Less contrast Move RGB values closer to the middle
Show slopes Enable slope encoding for 3D effect.
First value is the magnification of the slopes. The start value of 100 is suitable for the unzoomed view. Deep views requires a couple of magnitudes higher value.
The second value is the percentage with which the slope encoding is applied on the coloring. 100 is max, however flat areas will still have the palette color visible.
Save palette Save the current palette in file
Open palette Load palette from file
Expand double Double the number of key colors without changing the palette. This allows finer control of individual colors without changing the palette for other colors
Expand all Increase the number of key color to maximum 1024 without changing the palette
Double Double the key colors by repeating them
Merge Colors Allows a selected color to be merged to every specied key color
Show index Capture the mouse, hover the mouse over the fractal image and the corresponding color in the list will be highlighted. Click and the color selection dialog will be displayed for the active color
Smooth color transition Makes the transitions of colors smooth
Inverse smooth color transition Inverse the smooth color transition which makes edges more visible
Unnamed dropdown box Specifies handling of the iteration count values prior to coloring
Palette waves The palette can be filled from sine waves applied on Red, Green, Blue and Black-and-white. Each input box specifies the number of periods applied on the number of key colors in the palette. If the input box is left empty, no wave of this color is applied. At right of each input box the "P"-button makes the number you entered prime, since different prime numbers probably give more variation. The last input box specifies the waves offset.
The button "Generate" applies the waves on the palette, the "Seed" button fills the fields with random values
Infinite waves Waves can be applied on Hue, Saturation and Brightness rather than RGB values. The Period value specifies the length of the period (not the number of periods as for the Palette waves). Periods with prime numbers should be able to produce an infinite number unique colors
A negative value on Hue, Saturation or Brightness makes a flat percentage value to be applied on all iterations.

Key Frame Movie Maker
Directory Use the right small button to select the directory where you have stored the zoom-out images. By doing so values will be set automatically in this dialog
Speed control The number of frames in the movie can set for each key frame. The zoom movie will start from the last, most zoom out, image, which will have number zero. The Frame num button can be used to get help in selecting the key frame.
The speed values are applied per key frame
Rotate control The change of the degree for each movie frame in the movie can be set for each key frame. This is set with a float value, which can be negative. If the list is left empty no rotation will be performed. If set the movie resolution will be half
Color cycle control The change of the color index for each movie frame in the movie can be set for each key frame. This is set with a float value, which can be negative. If the list is left empty no cycling will be performed.
Color division control The value of the color division can be set for each key frame. This can be set with a float value. If the list is left empty the division value from the zoom sequence is used. The iteration division value is changed smoothly in a logarithmic way. Note that very small changes can cause chaotic changes in the movie.
Number of colors control The number of colors can be set for each key frame. Decreasing the number of key colors can reveal dense patterns in a more smooth way than changing the color division.
Wave coloring This is the same function as "Infinite waves". The infinite waves are not read from the KFB frames, so it must entered again in this program. The ability to quickly test the parameters is enabled with the "Test" button.
Long waves Sine waves of any color can be applied on the frames, mainly to emphasize the final minibrot. The color is only applied every second of the sine period.
Start frame The start frame of the movie can be specified. This is applied when creating the movie, when testing with the check box "Test only" is set, or to test single frames with the "Test" button.
Show zoom text Turns the zoom text on or off. My recommendation is to have it turned on. The font can be selected with the Font button
Smooth color transitions Makes the transitions of colors smooth
Zoom out level This value must be the same as the Zoom size selected when the zoom out images were created
Frames per movie Several avi files will be created, since some codec get corrupted if they get too large. An automatic value is set based on the Movie size field
FPS Frames per second. 30 is the optimize value if the movie is to be published on youtube
Test only Only displays the movie in the preview window and do not create avi files
Movie size The size of the resulting movies
Simple Online Mandelbrot Explorer