Logo by mauxuam - 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 the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. March 28, 2024, 07:55:13 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]   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: Abstraction  (Read 917 times)
0 Members and 1 Guest are viewing this topic.
SCORPION
Conqueror
*******
Posts: 104


« on: March 23, 2015, 05:24:29 AM »

Logged
element90
Strange Attractor
***
Posts: 298



WWW
« Reply #1 on: March 23, 2015, 11:45:30 AM »

It's good to see someone posting pictures using my software.

Remember: keep the seed files saved from Saturn, they are PNG with all the necessary parameters to regenerate the image. Any manipulation of the seed file will result in the saved file losing its embedded parameters. To get high quality images use Titan to generate much higher resolution images and then down scale using some other program such as GIMP which will have the same effect as anti-aliasing (not a feature of Saturn or Titan).

Have you tried Neptune and Triton? That software produces multiple critical point fractals: composite pictures can be generated by combining component pictures, one for each critical point. For example cubics (except z = z^3 +c) have two critical points each producing a different component picture.

I'm currently working on new versions of both sets of software. Saturn will have, where possible, critical values available for the initial value of z. Neptune will allow its parameters to be modified by multiplying or dividing the location in the complex plane (as will Saturn). Both will also support critical points dependent on location. As yet there is no target date for their release.

See http://www.fractalforums.com/saturnandtitan/location-dependent-critical-points/ for more on location dependent critical points.
Logged

Elelemt90 Fractals blog www.element90.wordpress.com
SCORPION
Conqueror
*******
Posts: 104


« Reply #2 on: March 23, 2015, 01:01:38 PM »

Remember: keep the seed files saved from Saturn, they are PNG with all the necessary parameters to regenerate the image. Any manipulation of the seed file will result in the saved file losing its embedded parameters. To get high quality images use Titan to generate much higher resolution images and then down scale using some other program such as GIMP which will have the same effect as anti-aliasing (not a feature of Saturn or Titan).

Yes, I know it and it is very convenient.

Have you tried Neptune and Triton? That software produces multiple critical point fractals: composite pictures can be generated by combining component pictures, one for each critical point. For example cubics (except z = z^3 +c) have two critical points each producing a different component picture.

I'm currently working on new versions of both sets of software. Saturn will have, where possible, critical values available for the initial value of z. Neptune will allow its parameters to be modified by multiplying or dividing the location in the complex plane (as will Saturn). Both will also support critical points dependent on location. As yet there is no target date for their release.

See http://www.fractalforums.com/saturnandtitan/location-dependent-critical-points/ for more on location dependent critical points.

I tried these programs.
I will not say that I understood something "critical Point" but that's what I got:


Logged
element90
Strange Attractor
***
Posts: 298



WWW
« Reply #3 on: March 23, 2015, 04:07:28 PM »

Quote
I will not say that I understood something "critical Point" but that's what I got:

Critical points determine whether you get Mandelbrot features or not, the features can also be characteristic of higher order standard Mandelbrots which I refer to using M and a number, M2 for the standard Mandelbrot, M3 for the cubic and so on (Saturn also uses that scheme). Critical points are the solution to f'(z) = 0 (i.e. the first differential = 0) for the standard Mandelbrot:

z = z^2 + c
f(z) = z^2 + c

f'(z) = 2z = 0

so for the standard Mandelbrot the critical point is zero, it is also zero for the higher order Mandelbrots (M3 and above). Things get much more interesting as you add terms to the formulae as that's when the multiple critical points appear. If you use an initial value other than the critical point you get a "perturbed" Mandelbrot, try it and see. Something to note about the component pictures is that the are areas that have the characteristic features of M2 Mandelbrots and above often have areas that look like they are "perturbed". The use of the term "perturbed" to describe the use of non-critical initial values was picked up somewhere in this forum and I don't know its precise meaning.

All the fractals in Neptune/Triton use the Mandelbrot algorithm and the trouble of finding the critical points is done for you, the programs only use critical points. Julias are not available as they do not have critical points.

A useful feature of Neptune is the ability to ignore one or more of the critical points so it is possible to see what each component picture looks like. Often duplicate pictures can be produced by more than one critical point so by ignoring the duplicates the number of calculation can be reduced.

It's about time I showed a picture, the following Octic ignores overlapping outer areas when colouring inner areas black.

Logged

Elelemt90 Fractals blog www.element90.wordpress.com
youhn
Fractal Molossus
**
Posts: 696


Shapes only exists in our heads.


« Reply #4 on: March 23, 2015, 06:44:46 PM »

You keep getting amazing results with those escape time fractals!

 Cantor Dance

I really should check out some 2D stuff again.
Logged
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #5 on: March 23, 2015, 08:18:51 PM »

i am still unsure what you are actually doing, all i know is that saturn and titan is a high quality program suite with obviously fantastic features

@element90 perhaps for making your program more popular think about a single copy+paste parameter method similar to mb3d and ultrafractal, storing all of your data belonging to a save file in a single encrypted/compressed string
Logged

---

divide and conquer - iterate and rule - chaos is No random!
xenodreambuie
Conqueror
*******
Posts: 124



WWW
« Reply #6 on: March 24, 2015, 01:45:57 AM »

@element90 perhaps for making your program more popular think about a single copy+paste parameter method similar to mb3d and ultrafractal, storing all of your data belonging to a save file in a single encrypted/compressed string

Copy/paste  parameters is a more convenient way to share in social media than uploading/downloading parameter files (which can be problematic in sites that don't support the particular extensions). One alternative is the cloud sharing that Frax does, which is more of a mobile thing.

In the interests of more programs supporting copy/paste, it would help if some standard documentation of the requirements was easily available. I've done some Googling and I'm still not clear on it. What text encoding is required for reliability? Base64 is one obvious solution, but MB3D doesn't go that far and seems to work. Some of us will definitely want to compress first, and zip is obvious, but what's the easiest thing to do after that?
Logged

Regards, Garth
http://xenodream.com
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #7 on: March 24, 2015, 02:00:13 AM »

Copy/paste  parameters is a more convenient way to share in social media than uploading/downloading parameter files (which can be problematic in sites that don't support the particular extensions). One alternative is the cloud sharing that Frax does, which is more of a mobile thing.

In the interests of more programs supporting copy/paste, it would help if some standard documentation of the requirements was easily available. I've done some Googling and I'm still not clear on it. What text encoding is required for reliability? Base64 is one obvious solution, but MB3D doesn't go that far and seems to work. Some of us will definitely want to compress first, and zip is obvious, but what's the easiest thing to do after that?


its good that you think about it ...

lets make some things clear:

- parameter sharing would be nice to work cross-platform, for that to work the text-block definition has to be made completely public and standard encoding/compressing algorithms should be used
- it has to be interpreted from YOUR program and nothing else, everything else is bonus
- YOU need to take care for backward compatibility, marking program version and such in the code is reliable
- just because mb3d uses non base64 chars it does not mean it is good, ultrafractal is a far better example of how to do it


if you want to hear my five cents:

- create a readable json form you parameters, at best with enough space to get ready for backward/upward compatibility
- this json then put through an easy compressor, e.g. run-length encoding as simple example or a more convenient one from an open source library
- it is important to get the packing stuff right so if anyone wants to write an impoorter for his own product he has to rely on that!
- then - no question asked - encode it as base64 string block, at best padded to a regular line width block, enclosed with a brace and there you go
Logged

---

divide and conquer - iterate and rule - chaos is No random!
xenodreambuie
Conqueror
*******
Posts: 124



WWW
« Reply #8 on: March 24, 2015, 02:50:33 AM »

Thanks Christian, that's exactly the advice I wanted to see.

I was not thinking about compatibility between programs, just to see more programs doing it for their own sake. And this is something I was already thinking about for myself, because it helps build communities and let more people enjoy using the software.

I already do version control with fairly good forward/backward compatibility, but use simple name=value string lists rather than json.
I do run length encoding for some purposes but zip compresses numeric text much better.
Base64 is good to agree on as standard practice.
Logged

Regards, Garth
http://xenodream.com
cKleinhuis
Administrator
Fractal Senior
*******
Posts: 7044


formerly known as 'Trifox'


WWW
« Reply #9 on: March 24, 2015, 06:01:04 AM »

yes, base64 is just the way to go wink (ultrafractal does it as well cheesy )
then, key-value pairs listed as text is ok (more on that below), if few text describes a full formula you can provide a method - like ultrafractal - the compression is just snapping in when text gets too long, this can help with discussing formulas in forums to see simple set ups

i just became used to json and loving it, since xml is a crappy redundant indetermined format, but allows far more complexity and structure in parameter files, especially for browsing

and one more word against plain parameter lists:
they tend to be used in an object notation manner like SIZE_WIDTH, SIZE_HEIGHT (size.width,size.height) and THUMB_WIDTH, THUMB_HEIGHT or something, as one should easily see that going for a hierarchical json is the way to go for representing parameters wink

« Last Edit: March 24, 2015, 06:02:53 AM by cKleinhuis » Logged

---

divide and conquer - iterate and rule - chaos is No random!
element90
Strange Attractor
***
Posts: 298



WWW
« Reply #10 on: March 25, 2015, 01:10:32 PM »

I used XML for the parameter files because it is readily available and easy to use with Qt. I'll look at producing a base64 string or json for a future release.

The parameter files include one or two colour maps just in case they are not currently loaded.

The most useful feature is that the parameter data is embedded in the PNG files saved from both Saturn and Neptune. Those seed files can then be loaded into the corresponding expansion programs Titan and Triton. Note: Titan and Triton only accept seed files, parameter files can be saved/loaded from Saturn and Neptune.

The seed files show what the fractal looks like at a relatively low resolution and you'll never lose the corresponding parameters.

Quote
I am still unsure what you are actually doing, all i know is that saturn and titan is a high quality program suite with obviously fantastic features

Saturn/Titan produces fractals based on the Mandelbrot and Julia algorithms, in addition it can plot the orbits of fractals and produce Strange Attractors and Lyapunov fractals. Only one initial value is used for Mandelbrot algorithm fractals. The Mandelbrot/Julia can be manipulated by applying sets of transforms to the formula, only one set is applied at each iteration, the actual set used is controlled by a string e.g: AB would apply the set A for all odd iterations and set B for all even iterations.

Neptune/Triton only produces Mandelbrot Algorithm fractals that have more than one critical point. The standard Mandelbrot formulae (i.e. z = z^n + c where n is an integer above 1) all have one critical point at zero, as soon as you turn the formulae into polynomials you have more than one critical point. Each critical point produces a picture (not necessarily unique), Neptune/Triton allows you to combine the pictures for each critical point into one composite picture, effectively each component picture (per critical point) can be treated as a layer.   In addition to polynomials formulae based on sin, cos, sinh and cosh all have multiple critical points based on pi/2 + n*pi and/or n*pi depending on the exact nature of the formula, so far there only appears to be 2 or 3 distinct pictures for these formulae. Only one trig based formula is available in the current version of Neptune, many more will be available in the new version. (no target release date as of yet).
Logged

Elelemt90 Fractals blog www.element90.wordpress.com
element90
Strange Attractor
***
Posts: 298



WWW
« Reply #11 on: March 27, 2015, 03:11:02 PM »

cKleinhaus said:

Quote
yes, base64 is just the way to go

and

Quote
i just became used to json and loving it

I've had a look at json, it looks like a good solution to storing configuration as an alternative to XML which would be fine if I were just starting a project. The configuration and colour map files Saturn and Neptune keep in their directories will stay as XML. I'm also keeping the parameter files as XML converting to json would be a lot of work for no benefit.

I will be adding a data menu to Saturn (and to Neptune) with export and import entries. Export will produce a base64 string which will contain all the data found in an XML parameter file, the string with be broken up so that there are no more than 64 characters to a line. The base64 string will be decorated with "Saturn {" on the first line and "}" on the last line and the base64 lines in between. Import will accept a parameter string, it will strip the decoration and remove whitespace (includes line breaks) and convert it back into XML for loading into Saturn (or Neptune). The decoration is only present so that the source of the data is known, Neptune's decoration will of course be "Neptune {". The XML data will be compressed before conversion into base64.
Logged

Elelemt90 Fractals blog www.element90.wordpress.com
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Abstraction Film arteandreas 0 1169 Last post May 22, 2013, 09:56:26 AM
by arteandreas

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.191 seconds with 27 queries. (Pretty URLs adds 0.01s, 2q)