Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => General Discussion => Topic started by: valera_rozuvan on August 03, 2016, 05:00:13 PM




Title: IFS, KIFS, DIFS, RIFS, LRIFS. How does DEcombinate fit in?
Post by: valera_rozuvan on August 03, 2016, 05:00:13 PM
I am having trouble classifying the following terminology:

1. IFS - Iterated Function System (https://en.wikipedia.org/wiki/Iterated_function_system)
2. KIFS - Kaleidoscopic (escape time) IFS (http://www.fractalforums.com/ifs-iterated-function-systems/kaleidoscopic-(escape-time-ifs)/)
3. DIFS - what does this stand for? I have seen people mentioning it all over the place.
4. RIFS, LRIFS - this is mentioned in a comment over at Distance Estimated 3D Fractals (Part VIII): Epilogue (http://blog.hvidtfeldts.net/index.php/2012/05/distance-estimated-3d-fractals-part-viii-epilogue/). Something to do with L-Systems (https://en.wikipedia.org/wiki/L-system).

Now I am trying to figure out where in all of this DEcombinate fits in. Is DEcomb only a MB3D (http://mandelbulb.com/2014/mandelbulb-3d-mb3d-fractal-rendering-software/) thing? Can it be considered a system - in the same sense as IFS is an iterated function system?

Also, does DE in DEcombinate stand for Distance Estimate?


Title: Re: IFS, KIFS, DIFS, RIFS, LRIFS. How does DEcombinate fit in?
Post by: valera_rozuvan on August 03, 2016, 06:52:10 PM
It turns out that LRIFS stands for Language-restricted Iterated Function Systems. Some papers that discuss LRIFS:

1. Language-Restricted Iterated Function Systems, Koch Constructions, and L-systems (http://algorithmicbotany.org/papers/lrifs.sigt94.pdf) [Przemyslaw Prusinkiewicz, Mark Hammel; 1994]
2. Escape-time Visualization Method for Language-restricted Iterated Function Systems (http://algorithmicbotany.org/papers/escape.gi92.pdf) [Przemyslaw Prusinkiewicz, Mark Hammel; 1992]


Title: Re: IFS, KIFS, DIFS, RIFS, LRIFS. How does DEcombinate fit in?
Post by: DarkBeam on August 03, 2016, 08:24:28 PM
DE is just a scalar defined for every x y z.
You can combine two DEs in some way taking the min... the max or average. That way you are doing a DE comb  :D


Title: Re: IFS, KIFS, DIFS, RIFS, LRIFS. How does DEcombinate fit in?
Post by: valera_rozuvan on August 03, 2016, 08:36:25 PM
DE is just a scalar defined for every x y z.
You can combine two DEs in some way taking the min... the max or average. That way you are doing a DE comb  :D

So, does DE stand for Distance Estimate? If that's so, is the scalar you are talking about just the distance between the observer and the (x, y, z) point?


Title: Re: IFS, KIFS, DIFS, RIFS, LRIFS. How does DEcombinate fit in?
Post by: valera_rozuvan on August 03, 2016, 08:58:49 PM
OK. I think I got it. Need more sleep. It's actually described very nicely on the page Distance Estimated 3D Fractals (III): Folding Space (http://blog.hvidtfeldts.net/index.php/2011/08/distance-estimated-3d-fractals-iii-folding-space/). An excerpt:

Quote
Combining objects

Distance fields have some nice properties. For instance, it is possible to combine two distance fields using a simple minimum(a,b) operator. As an example we could draw the union of two spheres the following way:

DE(p) = min( length(p)-1.0 , length(p-vec3(2.0,0.0,0.0))-1.0 );

This would give us two spheres with unit radius, one centered at origo, and another at (2,0,0). The same way it is possible to calculate the intersection of two objects, by taking the maximum value of the fields. Finally, if you are using signed distance functions, it is possible to subtract one shape from another by inverting one of the fields, and calculating the intersection (i.e. taking max(A, -B)).

So now we have a way to combine objects. And it is also possible to apply local transformations, to get interesting effects:


(http://blog.hvidtfeldts.net/media/tori.png)

Quote
This image was created by combining the DE’s of a ground plane and two tori while applying a twisting deformation to the tori.

I was thinking of DEcombinate the wrong way. It is not an IFS! It's just a method for combining objects to make a new object.