Feature ideas for Kalles Fraktaler

  • 11 Replies
  • 202 Views

0 Members and 1 Guest are viewing this topic.

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« on: May 25, 2020, 03:03:15 PM »
Briefly ago, I had the idea of creating a feature request topic, and feature request submissions are the main purpose of this topic. Feel free to submit your ideas for Kalles Fraktaler!

Linkback: https://fractalforums.org/kalles-fraktaler/15/feature-ideas-for-kalles-fraktaler/3519/
« Last Edit: May 27, 2020, 04:11:29 PM by FractalAlex »
"I am lightning, the rain transformed."
- Raiden, Metal Gear Solid 4: Guns of the Patriots

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #1 on: May 25, 2020, 03:52:28 PM »
Coloring methods

From XaoS:
iter+real: This mode colors the boundaries by adding the real part of the last orbit to the number of iterations.
iter+imag: Similar to iter+real, the only difference is that it uses the imaginary part of the last orbit.
iter+real/imag: This mode colors the boundaries by adding the number of iterations to the real part of the last orbit divided by the imaginary part.
iter+real+imag+real/imag : It is the sum of all the previous coloring modes.
Binary Decomposition: When the imaginary part is greater than zero, this mode uses the number of iterations; otherwise it uses the maximal number of iterations minus the number of iterations of binary decomposition.
Biomorphs: This coloring mode is so called since it makes some fractals look like one-celled animals.
Potential: This coloring mode looks very good in true-color for unzoomed images.
Color decomposition: In this mode, the color is calculated from the angle of the last orbit. It is similar to binary decomposition but interpolates colors smoothly.

Fractals:

Partial and Total Mobius Mandelbrots (left, right and both), research in progress...
SimonBrot 8th and 10th : z = z^n (|x| + i |y|)^n + c, where n are respectively 4 (Simonbrot 8th) and 5 (Simonbrot 10th)
Nova fractals (hard to implement, due to them converging rather than escape to infinity)
Magnet fractals (Types I and II) - also difficult to implement, same reason as for the Nova fractals, although Karl Runmo previously attempted to implement Magnets in Kalles Fraktaler.
Simon100A,B,C from simon.snake, Burning Ship, Celtic and Buffalo variants (plugin for Fractal eXtreme), also known as SimonBrot abs() variants
realflow100's Mandelbrot/Burning Ship hybrid, powers 2 - 5. Implemented in claude's "et" fractal program. Update: experimenting in progress...
Extending the Burning Ship, Celtic, Buffalo and Mandelbar fractals up to power 10.

Update: most of the fractals can be reproduced with the hybrid formula system in Kalles Fraktaler 2.15!

Zooming:
Halley's method for zooming (cubic convergence, more effective than the Newton-Raphson method, but requires a second derivative)
« Last Edit: June 26, 2020, 02:29:32 PM by FractalAlex »

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #2 on: May 25, 2020, 04:29:13 PM »
Here are some images from XaoS with the following coloring methods: iter+real, iter+imag, iter+real/imag, biomorphs and binary decomposition.
« Last Edit: May 25, 2020, 07:37:39 PM by FractalAlex »

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #3 on: May 25, 2020, 10:44:44 PM »
I browsed through a .frm just now (SIMON.FRM), and discovered some interesting formulae...

Code: [Select]
simon0051-B {
  ; Trying to colour pixels
  ; differently
  ; SMF - Added julia 24/04/2012
  ;       (works really well)
  z = pixel
  c = 0
  if (ismand)
    p = z
  else
    p = p1
  endif:
  c = c + 1 ; increase count
  if (c==1)
    z = flip(z*z)+p
  elseif (c==2)
    z = abs(z*z)+flip(p)
  elseif (c==3)
    z = z*z+abs(p)
    c = 0
  endif
  |z| < 4
}

simon0051-C {
  ; Trying to colour pixels
  ; differently
  ; SMF - Added julia 01/05/2012
  ;       (works really well)
  c = 0
  if (ismand)
    z = 0
    p = pixel
  else
    z = pixel
    p = p1
  endif:
  c = c + 1 ; increase count
  if (c==1)
    z = z*z+p
  elseif (c==2)
    z = abs(z*z)+p
    c = 0
  endif
  |z| < 4
}

simon0051-D {
  ; Trying to colour pixels
  ; differently
  ; SMF - Added julia 24/04/2012
  ;       (works really well)
  z = pixel
  c = 0
  if (ismand)
    p = z
  else
    p = p1
  endif:
  c = c + 1 ; increase count
  if (c==1)
    z = z*z+p
  elseif (c==2)
    z = abs(z*z)+p
    c = 0
  endif
  |z| < 4
}

What's interesting is in the simon0051-C fractal - it seems to be an amalgam of Mandelbrot and its abs() variants.

Would make good candidates for inclusion, although unlikely...

The minibrots generated are mini-Mandelbrots and mini-Tricorns.

And here are the images generated
« Last Edit: May 25, 2020, 10:56:39 PM by FractalAlex »

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #4 on: May 27, 2020, 02:17:50 PM »
More formulas that should be considered candidates for inclusion in Kalles Fraktaler in the near future...
Based on Simon100 formulas (plugin for Fractal eXtreme)

Code: [Select]
Simon100A_plain {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z^2 * (abs(real(z)) + i * abs(imag(z)))^2 + c
|z| < 1000
}

Simon100A_bship {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = abs(z)^2 + c
|z| < 1000
}

Simon100A_celtic {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^2
z = (abs(real(w)) + i * imag(w)) + c
|z| < 1000
}

Simon100A_buffalo {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^2
z = (abs(real(w)) + i * abs(imag(w))) + c
|z| < 1000
}

Simon100A_mandbar {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = conj(z)^2 + c
|z| < 1000
}

Here are the images that are generated - the 1st image is the Simonbrot 4th, already in Kalles Fraktaler.

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #5 on: May 27, 2020, 02:49:06 PM »
Here are the cubic variants of the Simonbrot formulae (the Simonbrot 6th is already in Kalles Fraktaler). They were also called Simon100B in Fractal eXtreme. The letters denote a certain exponent (A is power 2, B is power 3, and C is power 4). Also good candidates for conversion. Credit to simon.snake for the formulae! Also note that the Mandelbar variants were created by me.

Code: [Select]
Simon100B_plain {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z^3 * (abs(real(z)) + i * abs(imag(z)))^3 + c
|z| < 1000
}

Simon100B_bship {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = abs(z)^3 + c
|z| < 1000
}

Simon100B_celtic {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^3
z = (abs(real(w)) + i * imag(w)) + c
|z| < 1000
}

Simon100B_buffalo {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^3
z = (abs(real(w)) + i * abs(imag(w))) + c
|z| < 1000
}

Simon100B_mandbar {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = conj(z)^3 + c
|z| < 1000
}

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #6 on: May 27, 2020, 03:19:19 PM »
Next, the Simon100C fractals from the Simon100.dll plugin for Fractal eXtreme.
I noted that the burning ship variant was different from what it looks like from Kalles Fraktaler's competitive rival software, as well as predecessor for world's fastest fractal software. The least interesting one however, is the Buffalo variant, with just a small number of explorable areas, so it is probably unlikely to be included in Kalles Fraktaler...
Code: [Select]
Simon100C_plain {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z^4 * (abs(real(z)) + i * abs(imag(z)))^4 + c
|z| < 1000
}

Simon100C_bship {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = abs(z)^4 + c
|z| < 1000
}

Simon100C_celtic {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^4
z = (abs(real(w)) + i * imag(w)) + c
|z| < 1000
}

Simon100C_buffalo {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
w = z^4
z = (abs(real(w)) + i * abs(imag(w))) + c
|z| < 1000
}

Simon100C_mandbar {
if (ismand)
z = c = pixel
i = sqrt(-1)
else
z = pixel
c = p1
endif:
z = z * abs(z)
z = conj(z)^4 + c
|z| < 1000
}

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #7 on: May 29, 2020, 01:11:45 PM »
Next, the Simon100D fractals (from the Simon100.dll Fractal eXtreme plugin, originally called simon0100-G in FractInt). Again the Mandelbar variant was created by me. Though there aren't a lot of explorable areas, it would be nice to have them in Kalles Fraktaler.
Code: [Select]
Simon100D_plain {
  if (ismand)
    z = c = pixel
  else
    z = pixel
    c = p1
  endif:
  z = z * abs(z) + c
  z = z * z + c
  |z| < 4
}

Simon100D_bship {
  if (ismand)
    z = c = pixel
  else
    z = pixel
    c = p1
  endif:
  z = z * abs(z) + c
  z = abs(z)^2 + c
  |z| < 4
}

Simon100D_celtic {
  if (ismand)
    z = c = pixel
    i = sqrt(-1)
  else
    z = pixel
    c = p1
  endif:
  z = z * abs(z) + c
  z = z^2
  z = (abs(real(z)) + i * imag(z)) + c
  |z| < 4
}

Simon100D_buffalo {
  if (ismand)
    z = c = pixel
    i = sqrt(-1)
  else
    z = pixel
    c = p1
  endif:
  z = z * abs(z) + c
  z = z^2
  z = (abs(real(z)) + i * abs(imag(z))) + c
  |z| < 4
}

Simon100D_mbar {
  if (ismand)
    z = c = pixel
  else
    z = pixel
    c = p1
  endif:
  z = z * abs(z) + c
  z = conj(z)^2 + c
  |z| < 4
}

Offline claude

  • *
  • 3f
  • ******
  • Posts: 1546
    • mathr.co.uk
« Reply #8 on: May 29, 2020, 02:38:32 PM »
Rather than adding a zillion custom fractal types, and while full formula compiler is still missing, the parametric formula that I am working on covers all of these Simon fractals and more.  I will see if I can add the Moebius stuff to it too.  https://fractalforums.org/kalles-fraktaler/15/hybrid-formulas/3529

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #9 on: May 29, 2020, 02:49:11 PM »
Got it. Some other things we have to consider is some other stuff, asides from fractals. I've considered the coloring methods from XaoS as well for inclusion. Sorry about that, Claude.

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #10 on: May 30, 2020, 10:59:24 PM »
I would also love to include edge detection and embossing as well... but that's something for another time.

Offline FractalAlex

  • *
  • Fractal Flamingo
  • ****
  • Posts: 331
  • Experienced root-finding method expert
« Reply #11 on: June 05, 2020, 04:01:18 PM »
Here's another wishlist:

Coloring outputs:
Entropy coloring
Triangle inequality average coloring
Atom domain coloring
Converting .fxp (Fractal eXtreme palette files) to .kfp files
Adding Black/White wave type for infinite waves, used in Key Frames Movie Maker.


xx
Mandelbulber - VFX Feature Ideas

Started by stilikon on Mandelbulber

17 Replies
1165 Views
Last post February 07, 2019, 08:45:30 PM
by stilikon
xx
feature request ideas

Started by claude on Fragmentarium

33 Replies
1503 Views
Last post February 09, 2019, 02:33:15 PM
by claude
xx
Kalles Fraktaler 2.13

Started by claude on Kalles Fraktaler

90 Replies
4738 Views
Last post March 20, 2019, 05:32:26 AM
by claude
xx
Kalles Fraktaler 2 + GMP

Started by claude on Kalles Fraktaler

232 Replies
12027 Views
Last post September 12, 2019, 10:27:53 PM
by claude
xx
Kalles Fraktaler 2.14

Started by claude on Kalles Fraktaler

245 Replies
7838 Views
Last post July 15, 2020, 11:23:55 PM
by claude