### Fractal Zoomer

• 30 Replies
• 1060 Views

0 Members and 1 Guest are viewing this topic.

• Posts: 126

#### Re: Fractal Zoomer

« Reply #15 on: June 03, 2019, 01:38:41 PM »
Hi superheal

I'm having so much fun with animating Kleinian fractal so I thought I'd share a couple more with you.

Firstly, I varied the real Moebius transformation from 0 to 3: http://www.deleeuw.com.au/download/Kleinian02.mpg

Then I repeated the one I did a few days ago, but passing through a Z magnitude filter:  http://www.deleeuw.com.au/download/Kleinian03.mpg

I repeated the same one again, this time passing it through a "Beauty of Fractals" page 60 (BOF60) filter:  http://www.deleeuw.com.au/download/Kleinian04.mpg

Here's the code snippet for Z magnitude  and BOF60 filtering:

Code: [Select]
    if (method == BOF60)    // init { magnitude = 0.0; min_orbit = 100000.0; }....    else if (method == BOF60)   // inside pixel addressing loop { magnitude = CSumSqr(z); if (magnitude < min_orbit)     {     min_orbit = magnitude;     min_index = (long)iteration + 1L;     } }    if (iteration == MaxIterations) { if (method == BOF60)     iteration = (int)(sqrt(min_orbit) * 75.0); else if (method == ZMAG)     {     iteration = (int)((CSumSqr(z)) * (MaxIterations >> 1) + 1);     return iteration;     } }
This is fun
Paul the LionHeart

• Posts: 64

#### Re: Fractal Zoomer

« Reply #16 on: June 03, 2019, 07:25:47 PM »
This is nice!

I have not yet figured out a good way to create smooth iteration count, for each circle.
Usually each circle, has a specific iteration count, but I would like to add some fractional part, which depends on the location inside each circe. Do you have any idea about what could work?

• Posts: 126

#### Re: Fractal Zoomer

« Reply #17 on: June 03, 2019, 10:45:20 PM »
Hi superheal,

As you can see by the code snippet, I do "post production" on a combination of the iteration count and the values of Z real and Z imaginary. This is a process of filtering. Iterations themselves are integers. I'm not sure about fractional iteration count. What I do is a little different than your textures and colouring schemes.

• Posts: 126

#### Re: Fractal Zoomer

« Reply #18 on: June 04, 2019, 06:43:31 AM »
Hi superheal

I've been playing with Fractal Zoomer and I notice an interesting difference between it and ManpWIN when displaying sin(z)

Fractal Zoomer:

and ManpWIN:

Here is my code:

Code: [Select]
/************************************************************************** Initialise SIN Fractal***************************************************************************/int InitSin(void)    {    if (!juliaflag) z = HALF_PI;    return 0;    }/************************************************************************** Determine count before 'Z' becomes unstable        Z = L*SIN(Z) sin(x+iy)  = sin(x)cosh(y) + icos(x)sinh(y)***************************************************************************/int DoSin(void)    {    z = q*CSin(z);    return (CSumSqr(z) >= rqlim);    }
I'm interested to see how you get your fractal.

Is it possible to save and load colour palettes in Fractal Zoomer? I like some of your palettes and would like to add them to my list.

Thanks
« Last Edit: September 07, 2019, 11:18:39 AM by LionHeart »

• Posts: 64

#### Re: Fractal Zoomer

« Reply #19 on: June 04, 2019, 07:38:08 PM »
Hello Paul,

your code is implementing the function z = sin(z) * c, while the image you posted is z = sin(z) + c.
As for the palettes, all the palettes (except the fractInt ones), can be loaded to the custom palette editor, through the preset menu in top left, and then saved (dont forget to set the type to txt instead of fzp so you can have rgb triplets).

The load is a little bit trickier. It can obviously support fzp files, but those are formatted only to be used with this software. The only way to load an arbitrary palette is through rgp triplets. You should use the direct palette option, in the palette menu, and provide a file with the rgb values separated by space, and each triplet separated by new line.

• Posts: 126

#### Re: Fractal Zoomer

« Reply #20 on: June 04, 2019, 09:22:27 PM »
Hi superheal,

Yes you are right. Well spotted. And so I have an opportunity to add another fractal z = sin(z) + c to my already z = sin(z) * c.

I am happy to just get a few extra palettes for the time being. I like how you display them for the user to choose. Nice little program

Thanks

• Posts: 64

#### Re: Fractal Zoomer

« Reply #21 on: September 01, 2019, 12:54:16 PM »
The newest version (1.0.7.5) is now released.
https://sourceforge.net/projects/fractalzoomer/?source=directory

Here is the list with the recent additions/changes:

-Added numerical derivatives for all of the user root finding formulas and user nova formula.
-Added stalks as an orbit trap.
-Added an image pattern orbit trap.
-Added new trap coloring methods, which use the trapped iteration or the trapped point.
-Added a new grid generating algorithm in domain coloring.
-Added a new random palette generation algorithm (Cubehelix).
-Added more preset palettes into the custom palette editor.
-Refactored the code and fixed some bugs.

Have fun!

• Posts: 126

#### Re: Fractal Zoomer

« Reply #22 on: September 02, 2019, 05:10:34 AM »
Thanks superheal.

I'll look forward to playing with this one and seeing what I can learn.

By the way, I can't get the Szegedi Butterflies to work. I'd like to add them to ManpWIN. Would I able able to get a code segment please?

Many thanks

• Posts: 64

#### Re: Fractal Zoomer

« Reply #23 on: September 02, 2019, 09:08:19 AM »

#### gerson

• Fractal Furball
• Posts: 290

#### Re: Fractal Zoomer

« Reply #24 on: September 02, 2019, 09:36:20 PM »
Many thanks for all improvements.

• Posts: 126

#### Re: Fractal Zoomer

« Reply #25 on: September 03, 2019, 07:36:11 AM »
Hi superheal,

I'm not doing very well with Szegedi Butterflies. I don't really know Java, so I don't fully understand the code. For example "plus_mutable(complex[1])". I can't find the call to function() so it is not clear what complex[1] one refers to. I assume that complex[0] is z.

I hope I can load my image as there were some problems with my other attempts to load one from my website.

Here is the code I am using:

Code: [Select]
/************************************************************************** Szegedi Butterfly 1 double temp = complex[0].getIm(); double temp2 = complex[0].getRe(); complex[0] = new Complex(temp * temp - Math.sqrt(complex[0].getAbsRe()), temp2 * temp2 - Math.sqrt(complex[0].getAbsIm())).plus_mutable(complex[1]);**************************************************************************/int DoSzegediButterfly1(void)    {    double temp = z.x;    double temp2 = z.y;    z.x = temp * temp - sqrt(fabs(z.x));    z.y = temp2 * temp2 - sqrt(fabs(z.y));    z += q;     return (CSumSqr(z) >= rqlim);    }
I hope this image can be seen.

• Posts: 126

#### Re: Fractal Zoomer

« Reply #26 on: September 03, 2019, 07:45:55 AM »
Hi again superheal,

I found one bug in my code, but it didn't fix the problem:

Code: [Select]
    {    double temp = z.y;    double temp2 = z.x;    z.x = temp * temp - sqrt(fabs(z.x));    z.y = temp2 * temp2 - sqrt(fabs(z.y));    z += q;     return (CSumSqr(z) >= rqlim);    }
Here is the new image.

• Posts: 64

#### Re: Fractal Zoomer

« Reply #27 on: September 03, 2019, 09:23:15 AM »
Everything related to complex numbers is located in this file (https://github.com/hrkalona/Fractal-Zoomer/blob/master/src/fractalzoomer/core/Complex.java)
Java does not have a built-in type, so I had to implement all this.
complex[0] is z and complex[1] is c, but this just an implementation quirk!
plus_mutable is basically a = a + b, but without having to create a new object, just to save some performance.

Anyway, the second snippet that you provided, should have been working.
I tested it myself using the User/Code functionality, and I edited the g2 function inside UserDefinedFunctions.java into this:

Code: [Select]
public static Complex g2(Complex z, Complex c) { double temp = z.getIm();    double temp2 = z.getRe();    double re = temp * temp - Math.sqrt(Math.abs(temp2));    double im = temp2 * temp2 - Math.sqrt(Math.abs(temp));    re += c.getRe(); im += c.getIm(); return new Complex(re, im); }
I compiled then the code, and then called it in user formula, and I got the same image.

The initial value that is used for z, z(0) = c but it works with z(0) = 0 as well.
Can you provide the rest of the iteration code and initialiazation code?

Here is a secondary source as well (http://formulas.ultrafractal.com/cgi/formuladb?view;file=sza.ufm;type=.txt)

• Posts: 126

#### Re: Fractal Zoomer

« Reply #28 on: September 03, 2019, 09:56:51 AM »
G'day superheal,

Silly me. Yep, it was a problem with the initialisation.

Now it works like a dream. See below.

• Posts: 64

#### Re: Fractal Zoomer

« Reply #29 on: September 03, 2019, 10:59:13 AM »
I am glad it all worked out

### Similar Topics

###### Announcing FracTest: a Mandelbrot zoomer for explorers.

Started by AtticusLake on Other

0 Replies
292 Views
January 11, 2018, 01:27:19 PM
by AtticusLake
###### Buddhabrot Mag(nifier) - A realtime buddhabrot zoomer

Started by Sharkigator on Other

17 Replies
2224 Views
February 29, 2020, 02:57:08 PM
by Sharkigator
###### fractal in nature (fractal stone and fractal concrete)

Started by hgjf2 on Chemistry

3 Replies
534 Views
January 13, 2019, 08:07:15 AM
by hgjf2
###### How to make deep fractal zoom in ultra fractal 5 ( animation edition ) ?

Started by fdps20_ on Noob's Corner

7 Replies
303 Views
October 09, 2019, 04:53:06 PM
by fdps20_
###### Cool 3D Fractal channel on YT: Cineastic Fractal Videos - CFV

Started by aliential on Fractal movie gallery

0 Replies
97 Views
November 29, 2019, 08:09:46 AM
by aliential