Logo by mclarekin - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit us on facebook
 
*
Welcome, Guest. Please login or register. April 18, 2024, 10:09:20 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1] 2   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Fractal Zoomer 1.0.4.3  (Read 14216 times)
0 Members and 3 Guests are viewing this topic.
superheal
Alien
***
Posts: 24


« on: September 11, 2013, 11:21:35 PM »

Hello to the awesome fractal community!

I ll give you a link of my fractal 2D renderer. I was working on it for like 2 and half years, and my main goal was to test my programming skills.
I mostly added options I liked from other fractal software. The code is written in java.

http://sourceforge.net/projects/fractalzoomer/?source=directory

There is nothing fancy about the application. Its not real time nor has high precision. Just the standard java doubles. I ve tried to add as many options as I could, but its still an ongoing process as I come along to new stuff cheesy

The main features are:
Boundary tracing algorithm
Over 100 fractal generating functions
Julia sets
Orbits
Image filters
Plane transformations


I am open to feedback/suggestions or information about potential bugs!
Logged
Nahee_Enterprises
World Renowned
Fractal Senior
******
Posts: 2250


use email to contact


nahee_enterprises Nahee.Enterprises NaheeEnterprise
WWW
« Reply #1 on: September 12, 2013, 09:54:21 AM »

    Hello to the awesome fractal community!
    I ll give you a link of my fractal 2D renderer.  I was working on it for like 2 and half years, and my main goal was to test my programming skills.
    I mostly added options I liked from other fractal software.  The code is written in java.
         http://sourceforge.net/projects/fractalzoomer/?source=directory
    There is nothing fancy about the application.  Its not real time nor has high precision.  Just the standard java doubles.
    I ve tried to add as many options as I could, but its still an ongoing process as I come along to new stuff  cheesy
    I am open to feedback/suggestions or information about potential bugs!

Greetings, and welcome to this particular forum !!!     cheesy

Programming a decent fractal rendering application does test one's skills as a programmer, no matter what language it is coded in.  You can now be proud that yours is just one of more than 700 which are available to the public.
 
Logged

superheal
Alien
***
Posts: 24


« Reply #2 on: August 31, 2015, 01:13:06 PM »

Hello!

I was not updating this post, but I was busy updating my software with all the interesting things I found in this forum!
There have been a numerous of updates, the latest update is version 1.0.5.8

The most important changes are:
User formulas
User coloring formulas
Variable Initial value formulas
User Plane Transformations
User bailout tests
3d Heightmap
Polar Coordinates projection
Bump-mapping and fake distance estimation

Cheers!  wink
Logged
Caleidoscope
Fractal Fertilizer
*****
Posts: 365



WWW
« Reply #3 on: September 01, 2015, 09:24:07 AM »

Fascinating picture. Outstanding!   smiley
Logged

"Today you create the memory for tomorrow, be sure to make it a good one"
TheRedshiftRider
Fractalist Chemist
Global Moderator
Fractal Iambus
******
Posts: 854



WWW
« Reply #4 on: September 01, 2015, 11:29:22 AM »

Wow, colouring but also bailout now have a user option. Even more customization.

Greetings, and welcome to this particular forum !!!     cheesy

Programming a decent fractal rendering application does test one's skills as a programmer, no matter what language it is coded in.  You can now be proud that yours is just one of more than 700 which are available to the public.
 


smiley you're right but this one is not as simple as most of the 700.
Logged

Motivation is like a salt, once it has been dissolved it can react with things it comes into contact with to form something interesting. nerd
Adam Majewski
Fractal Lover
**
Posts: 221


WWW
« Reply #5 on: September 02, 2015, 09:08:05 AM »

Hi,

Thx for great program

Can you describe coloring option :
https://a.fsdn.com/con/app/proj/fractalzoomer/screenshots/fractal%2005-01-2015%2012;42;35.png

?
( function, algoriothm)

TIA

Adam
Logged
superheal
Alien
***
Posts: 24


« Reply #6 on: September 02, 2015, 07:26:23 PM »

It is the newton method, z = z - f(z) / f'(z)

where f(z) = cos(z)
         f'(z) = -sin(z)

Every point on the plane was rotated 45 degrees.

z(0) = rotate(z(0), 0 + 0i, 45) , where 0 + 0i is the center of the rotation

Next every point was transformed with the circle inversion.
Code:
circle_inversion(z, center, radius) {

distance = norm(z - center)^2
radius2 = radius * radius

z = [re(center) + (re(z) - re(center)) * radius2 / distance] + [im(center) + (im(z) - im(center)) * radius2 / distance]*i

return z
}

for the current image every z(0) = circle_inversion(z(0), 1 + 1i, 3)

Next every point is iterated through the normal newton method process, until it converges to a root.
The escape criterion is norm(z - zold) <= convergent_bailout (zold is the previous value)

The coloring algorithm is a mix of the standard smooth escape time algorithm for converging fractals, along with a formula that tries to assign a different number depending on the final z value (the root).

For the smooth escape time algorithm I used:
Code:
power = log(norm(z - zold)) / log(norm(zold - zold2))
f = iterations + log(log(convergent_bailout) * 0.5 / log(norm(z - zold))) / log(power)

(zold2 is the second previous value)

For the root extraction I used the phase and the squared magnitude of the final value along with some scaling factors (I had to round the final re and im values because of small variations):
Code:
temp = floor(1000 * re(z) + 0.5) / 1000
temp2 = floor(1000 * im(z) + 0.5) / 1000

f2 = ((atan2(temp2, temp) / (2 * pi) + 0.75) * 59 * pi) + (temp * temp + temp2 * temp2) * 2.5
59 * pi is just a random scale factor, you can use whatever you want

This formula obviously does not uniquely define every root of a function (you can have almost the same value for different roots)
but it works for my purpose.

the final number is, res = f + f2

Having this floating point number (res) you need to find the coresponding color.
Lets assume that you have a palette with N colors (palette[N])

You need to use as your data
(int)res, palette[(int)res]
(int)(res + 1), palette[(int)(res + 1)]

and you must perform linear interpolation to find the intermediate value res, which as I mentioned was a floating point value.
The interpolation must be performed in every color channel (R,G,B) seperately.

The final image was processed with the bump mapping algorithm, and the fake distance estimation algorithm.

In the attachments you will find the saved settings of the image (Dont forget to disable the boundary tracing algorithm, because it glitches the image when you use bump mapping).

* fractal 05-01-2015 02;59;13.zip (1.37 KB - downloaded 260 times.)
Logged
superheal
Alien
***
Posts: 24


« Reply #7 on: September 02, 2015, 09:11:16 PM »

The version 1.0.5.9 is out!

It features some changes to the custom palette editor.
The most important one is the color picker, which lets you import to the palette any color from your screen. The old way of performing this action, was to print screen  an image containing the desired color and use a color picker from paint.exe (or a similar program) to identify the color's rgb values, and then manually insert it to a color slot.
Also some helpful additions are the insert/remove a color from a color slot options.

Logged
Adam Majewski
Fractal Lover
**
Posts: 221


WWW
« Reply #8 on: September 03, 2015, 05:33:35 PM »

It is the newton method, z = z - f(z) / f'(z)

where f(z) = cos(z)
         f'(z) = -sin(z)

So initial image was :

http://yozh.org/wp/wp-content/uploads/2012/10/fig0130.13.png

Then :
- Every point on the plane was rotated 45 degrees around zero
- every point was transformed with the circle inversion.
- every point is iterated through the normal newton method process, until it converges to a root.
- The coloring algorithm is a mix of the standard smooth escape time algorithm for converging fractals, along with a formula that tries to assign a different number depending on the final z value (the root).

Quote
The final image was processed with the bump mapping algorithm, and the fake distance estimation algorithm.

It was made inside your program ?

Quote
In the attachments you will find the saved settings of the image (Dont forget to disable the boundary tracing algorithm, because it glitches the image when you use bump mapping).

I can't open it inside text ediotor, is it a binary file ? ( I have only Linux )
Logged
superheal
Alien
***
Posts: 24


« Reply #9 on: September 03, 2015, 08:58:23 PM »

The image you posted is indeed newton's method applied for cos(z). (without the rotation and the circle inversion transformation)
By the way, rotation is not so important for the produced image. I was just enumerating everything I used for it.

Here is mine:


Yes, both bump mapping and fake de are included in the program.
Unfortunately the saved file is in java object format, so if you open it with a text editor you will read jibberish.

Here is the .jar file of the executable, so you can give it a try in linux. I dont know how it gonna behave though. Java programs are portable but some gui stuff usually break.
http://sourceforge.net/projects/fractalzoomer/files/Fractal%20Zoomer.jar/download
« Last Edit: September 03, 2015, 09:30:25 PM by superheal » Logged
Adam Majewski
Fractal Lover
**
Posts: 221


WWW
« Reply #10 on: September 04, 2015, 06:25:30 PM »

Hi,

Thx. The executable jar file works fin. I have the same image.

Your program has so many options , great
Is it possible to show the content of fhz file  ( for example in a text format ) ?
Can you expand help ? Also description inside the code is welcome ( program is as good as it's doc )

See for example :
http://mightymandel.mathr.co.uk/
http://www.mndynamics.com/indexp.html
Thx

Adam

https://en.wikibooks.org/wiki/Fractals
Logged
superheal
Alien
***
Posts: 24


« Reply #11 on: September 04, 2015, 08:22:57 PM »

I am glad it works cheesy
Does linux support the chm help file? I will do my best to further enhance it with information. (If you found something in particular confusing or ill documented can you please specify it so I can look into it asap!)

On the fzs settings file part, I will give you an example of its contents.
Code:
x_center = -2.0
y_center = 0.0
size = 6.0
bailout = 2.0
function = 0
palette = 3
out_coloring_method = 0
in_coloring_method = 0
...

It basically stores everything is active the moment you save (Excluding the filters or julia map or the 3d heightmap).
Some of the fields, like function, store an integer value that defines the active function (for instance Mandelbrot was assigned to 0).
I cant change the way the program saves its settings, because then all the old saved settings will be useless.
Do you want me to create another save file format just for information purposes?
If yes, then fields like function should print, function = Mandelbrot, instead of an arbitrary value.
Another option is to have a new window that contains all the active options at once, inside a textarea.

On the code comments part, thats the achilles heel of most software, and I definatelly feel bad for it. Myself had trouble implementing some stuff, like boundary tracing or the 3d heightmaps or the polar projection for the same reason. With alot of trial and error I managed to import them.

I will do my best to satisfy your needs the next couple of days, but I will have to go completely off the grid for about a month (joining the army the upcoming Monday, and I will be doing the basic military training).
Logged
Adam Majewski
Fractal Lover
**
Posts: 221


WWW
« Reply #12 on: September 04, 2015, 09:17:32 PM »

Quote
Does linux support the chm help file?
Yes. I have read it.

Quote
Do you want me to create another save file format just for information purposes?

It would be great, for example simple text file.

Quote
Another option is to have a new window that contains all the active options at once, inside a textarea.
It would be good if one can copy it.


Logged
superheal
Alien
***
Posts: 24


« Reply #13 on: September 05, 2015, 04:40:15 PM »

1.0.6.0 is up.

It features a settings overview report creator.
Logged
superheal
Alien
***
Posts: 24


« Reply #14 on: September 07, 2016, 11:18:02 PM »

Hello all!

I was not very active due to my new job plus my military obligations.
A new version (1.0.6.3) is out.

It mainly features:
Coupled formulas (user configured too).
Added new functions to the every user formula editor.
New image filters.
New tool, Domain Coloring.
(https://en.wikipedia.org/wiki/Domain_coloring)

Its a nice way to create images, but works best at low iterations.

Cheers  A Beer Cup
Logged
Pages: [1] 2   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.212 seconds with 27 queries. (Pretty URLs adds 0.01s, 2q)