Logo by DarkBeam - Contribute your own Logo!
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. July 30, 2014, 07:00:39 AM


Login with username, password and session length



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: Generic escape-time fractals  (Read 1013 times)
0 Members and 1 Guest are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2241



Makin' Magic Fractals
WWW
« on: September 25, 2011, 03:49:26 PM »

Hi all,

I just sent a reply to a message from a while ago that I had from Jesse and realised that it's relevant to all who are interested in fractal programming, here's a para-phrased version...

To make fractals more varied on zooming then change/morph or in any way modify the formulas as iterations progress - conditionally of course e.g. location based, genetic path based etc. i.e. remember that your bulb, box or kifs is just a limited escape-time IFS tree where the whole resulting attractor is limited to a set of specific paths through the tree each path essentially decided on a starting location basis.
For instance if you have a full escape-time IFS for the branches of a bush but on reaching a given overall scale factor down any path through the IFS tree you switch the transforms to ones that produce a leaf, or (conditionally) a berry....
Ideally a completely generic fractal program would allow the user the option of fully defining the entire IFS tree i.e. number of child nodes for each parent node and the relevant transform to be applied (linear or non-linear) to a specified depth (e.g. termination of a path by specifying 0 as number of child nodes).

Just to add - of course ideally said program would be able to work out (quickly) the optimum bailout centre, radius, fractal dimension etc. for the attractor and any/all sub-attractors from a given node in the tree and (depending on the algorithm used) the best order of traversal through the tree when rendering.
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Syntopia
Fractal Bachius
*
Posts: 585



syntopiadk
WWW
« Reply #1 on: September 25, 2011, 10:57:00 PM »

For instance if you have a full escape-time IFS for the branches of a bush but on reaching a given overall scale factor down any path through the IFS tree you switch the transforms to ones that produce a leaf, or (conditionally) a berry....
Ideally a completely generic fractal program would allow the user the option of fully defining the entire IFS tree i.e. number of child nodes for each parent node and the relevant transform to be applied (linear or non-linear) to a specified depth (e.g. termination of a path by specifying 0 as number of child nodes).

Some time ago I developed Structure Synth, which makes it possible to build 3D systems along the lines above: for each node you can have a number of child nodes and transformations (only affine transformations though). Nodes may refer to each other recursively (allowing for fractal structures), and nodes may have multiple definitions with different weights (allowing for random systems depending on the initial seed). These systems were specified as Context Free Grammars. The approach is very similar to stochastic Lindenmayer systems.

There is some more info here: http://structuresynth.sourceforge.net/index.php
and some example images here: http://www.flickr.com/groups/structuresynth/

Of course my approach did not use implicit surfaces, but instead explicit polygonal geometry (each node must terminate in one of the available graphics primitives: box, sphere, point , ...), so you quickly run out of polygons this way - and you don't get the cheap sphere ray tracing :-(

Being able to transform these kind of systems into a escape time / distance estimation system would be great, and I have thought about it several times. But I doubt it is possible. Systems like the KIFS are able to produce an exponential amount of objects given a number of iterations, because of the intrinsic symmetries (even though the symmetries are no longer visible, because of rotations or other transformations inside the main loop). I doubt generic IFS or L-Systems can be cast into a similar symmetric form.
Logged
David Makin
Global Moderator
Fractal Senior
******
Posts: 2241



Makin' Magic Fractals
WWW
« Reply #2 on: September 25, 2011, 11:41:57 PM »


Being able to transform these kind of systems into a escape time / distance estimation system would be great, and I have thought about it several times. But I doubt it is possible. Systems like the KIFS are able to produce an exponential amount of objects given a number of iterations, because of the intrinsic symmetries (even though the symmetries are no longer visible, because of rotations or other transformations inside the main loop). I doubt generic IFS or L-Systems can be cast into a similar symmetric form.


Granted to be completely generic one would have to switch to what would be a full IFS tree traversal combined with ray-stepping and DE but one could probably do the DE at each stage in the tree traversal to allow pruning of the tree.
Also Hart's method could still be used if all transforms are affine and then the method could be mixed with using primitives simply by specifying that at a given depth or overall scale factor instead of testing against a bounding sphere and continuing down the tree until reaching a defined overall scale (or a maximum depth) one simply intersects with a primitive (my private 3D IFS formula is half-way towards this, further progress was interrupted by the appearance of the bulbs + boxes etc. and other (non-fractal) related stuff sad

Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
David Makin
Global Moderator
Fractal Senior
******
Posts: 2241



Makin' Magic Fractals
WWW
« Reply #3 on: September 26, 2011, 12:40:02 AM »

Here are two experimental renders I did some time ago:

http://makinmagic.deviantart.com/gallery/?catpath=scraps#/d25rsdy
http://makinmagic.deviantart.com/gallery/?catpath=scraps#/d25t3dv

In actual fact the spheres one is obviously simply true spheres as primitives but the other is using a sub-IFS for the sticks with just a rectangle primitive which is obviously non-optimum for something so simple wink

They were rendered in UF using class-based code so the times are waay slower then could be achieved in dedicated 3D software like Mandelbulb3d or Mandelbulber etc. - in fact times are comparable to some bulbs and boxes using UF classes so appropriate OpenGL or OpenCL code should be able to do them realtime.
To be honest I have too little time at the moment for fractal programming and in any case I'm determined to find a way to apply distance estimation to a (potentially) infinitely varied diamond-square landscape before going back to escape-time stuff.

Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
Pages: [1]   Go Down
  Print  
 
Jump to:  


Related Topics
Subject Started by Replies Views Last post
Escape-time LRIFS Programming David Makin 11 2279 Last post March 22, 2010, 04:05:57 PM
by kram1032
Is there anything novel left to do in M-like escape-time fractals in 2d? New Theories & Research « 1 2 ... 22 23 » fracmonk 330 24924 Last post September 19, 2013, 09:32:59 PM
by fracmonk
Escape time versions of IFS IFS - Iterated Function Systems msltoe 2 3353 Last post April 18, 2011, 02:54:48 PM
by msltoe
three more pictures, mandelbrot set, escape time algorithm Images Showcase (Rate My Fractal) Eric B 0 298 Last post October 23, 2012, 02:03:32 AM
by Eric B
Improving over the escape time map New Theories & Research megafiddle 1 132 Last post November 22, 2013, 03:38:37 AM
by megafiddle

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2013, Simple Machines

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