JosLeys
|
|
« on: October 27, 2016, 10:43:02 PM » |
|
Working on a special Mandelbox that generates 3D Kleinian limit sets, I got an idea for an escape-time version of 2D limit sets. While these limit sets are usually drawn up by a tedious procedure of multiplication of two by two matrices representing Moebius transformations, this algorithm will draw up a finely detailed limit set in seconds. It even allows deep zooming. The little film below goes up to a magnification of 10^10...
http://www.youtube.com/v/epK2h-RG4SU&rel=1&fs=1&hd=1Different shapes can be obtained by circle inversions, like the image below... I'm still fine-tuning the algorithm, so be patient...
|
|
|
Logged
|
|
|
|
KRAFTWERK
|
|
« Reply #1 on: October 28, 2016, 03:18:07 PM » |
|
Super cool Jos! Is it possible to get it into 3D space?
|
|
|
Logged
|
|
|
|
JosLeys
|
|
« Reply #2 on: October 28, 2016, 05:58:25 PM » |
|
|
|
|
Logged
|
|
|
|
DarkBeam
Global Moderator
Fractal Senior
Posts: 2512
Fragments of the fractal -like the tip of it
|
|
« Reply #3 on: October 29, 2016, 11:08:27 AM » |
|
Don't be cruel we are starving for your formula Post soon plzzz
|
|
|
Logged
|
No sweat, guardian of wisdom!
|
|
|
hobold
Fractal Bachius
Posts: 573
|
|
« Reply #4 on: October 29, 2016, 10:11:08 PM » |
|
If it were possible to compute good (i.e. fairly accurate) interior distance estimates per pixel, then one could speed this up even more. Basic idea is to fit a cone to a few sampled points to obtain an "interesting" hypothesis (i.e. a candidate with reasonably high probability of being accurate) for one disk. Fitting can be done efficiently with bivariate polynomial regression (using squared distances, so you'd actually fit a 2D quadric and "hope" for it to turn out as a circular paraboloid).
|
|
|
Logged
|
|
|
|
JosLeys
|
|
« Reply #5 on: October 29, 2016, 11:23:41 PM » |
|
I think it would very hard to speed up the 2D code any further, nor would there be an interest : the image below (with antialiasing) took less than 1 second to produce. What I'm still struggling with is an efficient distance estimate for the 3D version
|
|
|
Logged
|
|
|
|
DarkBeam
Global Moderator
Fractal Senior
Posts: 2512
Fragments of the fractal -like the tip of it
|
|
« Reply #6 on: October 30, 2016, 10:23:48 AM » |
|
Actually this should not be a problem. Mb3d uses one unique algo to estimate de for all ifs fractals and it is the normal mandelbox (Buddhi's? I suppose) analytic de. But I never cared as in mb I only write the actual formula and de is auto handled normally. Just difs are different as I have to manually evaluate de.
|
|
|
Logged
|
No sweat, guardian of wisdom!
|
|
|
JosLeys
|
|
« Reply #7 on: October 30, 2016, 12:45:19 PM » |
|
@Darkbeam. Do you know how exactly M3D does the distance estimate for a Mandelbox type? What I'm using now is what I believe M3D uses also, but in this case it is very inefficient, although it does the job in the end. I'm getting small steps when 'far' from the object, and playing with the fudge factor does not help because then I get overstepping when close to the object.
|
|
|
Logged
|
|
|
|
DarkBeam
Global Moderator
Fractal Senior
Posts: 2512
Fragments of the fractal -like the tip of it
|
|
« Reply #8 on: October 30, 2016, 01:59:10 PM » |
|
I am sorry but it is way too complicated for me to get into the source code... but you are much more expert in de methods so I am sure you will find a workaround. An idea can be to write down a simplified fragmentarium script that people can study and improve? If it is not too complicated (in maths and number of temp variables) I'd love to implement it. Also you can use Mb3d's jit functionality to do preliminary tests. That's all I know
|
|
|
Logged
|
No sweat, guardian of wisdom!
|
|
|
KRAFTWERK
|
|
« Reply #9 on: October 30, 2016, 06:38:28 PM » |
|
Cool... but it looks like extruded 2d? But I might miss something?
|
|
|
Logged
|
|
|
|
3dickulus
|
|
« Reply #10 on: October 30, 2016, 09:32:46 PM » |
|
An idea can be to write down a simplified fragmentarium script that people can study and improve?
In the Fragmentarium/Examples/Knighty Collection there are 3 kleinian related frags and I've collected about 9 from the forum posts, there is a non-DE and a slow-DE version not included with the Fragmentarium distribution.
|
|
|
Logged
|
|
|
|
JosLeys
|
|
« Reply #11 on: October 30, 2016, 10:57:01 PM » |
|
@Kraftwerk, yes you are missing something. Below is another view (with occasional overstepping due to inadequate DE)...and it's not extruded!
|
|
|
Logged
|
|
|
|
JosLeys
|
|
« Reply #12 on: October 30, 2016, 11:26:55 PM » |
|
@3dickulus What I'm currently using is very close to one of the DE calculations in Fragmentarium that you mentioned.
|
|
|
Logged
|
|
|
|
mclarekin
|
|
« Reply #13 on: October 31, 2016, 12:08:07 AM » |
|
Here are three analytic method DE calcs form Mandelbulber
pseudo klienian double rxy = sqrt(z.x * z.x + z.y * z.y); out->distance = max(rxy - 0.92784, fabs(rxy * z.z) / r) / (DE);
Mandelbox linear types out->distance = r / fabs(DE);
Mandelbulb logrithmic types out->distance = 0.5 * r * log(r) / DE
There is also the slower DeltaDE method for distance estimation, which we use if the analytic methods are not suitable.
DE tweaks placed inside the formula can also help in some situations.
|
|
|
Logged
|
|
|
|
DarkBeam
Global Moderator
Fractal Senior
Posts: 2512
Fragments of the fractal -like the tip of it
|
|
« Reply #14 on: October 31, 2016, 12:51:14 AM » |
|
|
|
|
Logged
|
No sweat, guardian of wisdom!
|
|
|
|