cKleinhuis
|
|
« on: August 09, 2011, 10:15:00 AM » |
|
hello all, i have a plan to make a realtime mandelbrot zoom application using the kinect hardware, for this purpose i would like to come by limits of single precision by placing the standard mandelbrot down into found minibrots, that then can take over the zoom when zoomed in, for this purpose i would like to have exact positions of minibrots, i know that some people used methods to find those minibrots, but can those techniques be used to generate an exact positining of the standard mandelbrot ? but a method to calculate the centers are fine enough, i then could use some kind of matching algorithm to place the mandelbrot inside, hence it comes only down to scaling and rotating and shifting, placing 2 brots overeachother seems to be a handleable job ... even in realtime.... so, how do i find minibrot points ? a method would be nice that would be applied to the viewable range.... as far as i know these points are strange attractors possesing a loop of values repeated infinitely... with increasing lengthes
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
A Noniem
|
|
« Reply #1 on: August 09, 2011, 02:48:17 PM » |
|
- I don't think it is possible to get the minibrots positions with a formula. <-- Ok there is - Even if it is possible you have an infinite amount of minibrots, filtering the right ones out will be nearly impossible. - Just replacing minibrots with the zoomed out set doesn't make things any nicer since minibrots are still different than the original set. - (almost) Every minibrot is distorted in terms of shape, so apart from rotating and scaling the original set to fit the minibrot you'd also have to transform the set to match the minibrot's shape. Problem here is, how to you retrieve the shape? I don't think there is some sort of formula for this, so you would have to use image recognizion software which is slow.
You might be able to do this by using image recognizion to detect minibrots and their shape and then replacing the minibrot with the original set.
And then just another point, if you just want to do this to overcome the limit of single precision, my guess is that you're using the gpu? There are gpu's with native double precision (most modern nvidia's have it, and a few high-end ati cards) So get a nvidia card and look which languages support double precision (openCL and Cuda do, as wel as hlsl (with shader model 5))
|
|
« Last Edit: August 10, 2011, 12:08:27 AM by A Noniem »
|
Logged
|
|
|
|
weavers
|
|
« Reply #2 on: August 09, 2011, 03:12:51 PM » |
|
Greeting and Salutations to you ckleinhuls We wish success in this endeavor and newer insights to pregnate your mind, and above all , your will powers intensity to make it be thine! To see potential where other see none! Your life has just begun!
|
|
« Last Edit: August 09, 2011, 03:19:32 PM by weavers »
|
Logged
|
|
|
|
fractower
Iterator
Posts: 173
|
|
« Reply #3 on: August 09, 2011, 10:04:37 PM » |
|
The location of the minebrots can be found by finding the roots of iteration polynomial. For example the iteration produces which has roots 0 and -1. The second iteration from http://xrjunque.nom.es/precis/rootfinder.aspxReal solutions: Root 1: -1.755 Root 2: 0 Complex roots: Root 3: -0.123-0.745 * i Root 4: -0.123+0.745 * i The number of solutions grows exponentially with iterations, so you may have to shop around for one that will accept really big polynomials. 10 iterations will give you a thousand or so minibrots. There is a thread on the forum where someone attempted to enumerate the minibrots. I cannot find it now, but hopefully they will see your post and provide a link.
|
|
|
Logged
|
|
|
|
cKleinhuis
|
|
« Reply #4 on: August 09, 2011, 10:24:15 PM » |
|
thank you, i knew there is a thread but this is exactly what i meant, those roots should be storable somehow as texture single precision 2 pixels per position, the locations should as well be somehow sorted, as i told, the goal would be to aproximately place an scaled down mandelbrot to the minibrot, and when zoomed in further, it will replace the originating mandelbrot, for sure blending out some detail, but on the other hand, if you generated a flight with this fast method you could render a deep animation using the switchpoints just as keyframes, because the mandelbrot would stay the same, it would generate a deep, very deep path ...
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
cKleinhuis
|
|
« Reply #5 on: August 09, 2011, 10:25:50 PM » |
|
how is the size calculated ? does the size then shrink exponentially ?
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
|
fractower
Iterator
Posts: 173
|
|
« Reply #7 on: August 10, 2011, 08:18:50 AM » |
|
It sounds like what you are trying to implement is a kind of renormalization operation. You could do this quite easily for something like the Sierpiński gasket where there is a simple scaled self similar remapping. It should also be possible to the same with a fractal whose self similarity includes a scale and distortion. I would look at some of Escher's work for some examples. Unfortunately I think the Mandelbrot is too complex to be captured by a any local renormalization technique.
I still think the idea has merit. There is probably some interesting things to one could do with recursive tiling with textures. i.e. cheat.
|
|
|
Logged
|
|
|
|
cKleinhuis
|
|
« Reply #8 on: August 10, 2011, 02:21:58 PM » |
|
the purpose is to cheat an endless deepzoom, it comes down to a limited amount ( propably around a million ? ) possible mandelbrot-minis in the floating point range, once this cheat has somehow precalculated-containing scaling and rotating, the nearest and biggest to the current view will then be switched into the zoom by blending, loosing some detail from the forecoming fractal, but if used with a big blending duration one could as well be in an interesting part of the blended fract...
|
|
|
Logged
|
---
divide and conquer - iterate and rule - chaos is No random!
|
|
|
Duncan C
|
|
« Reply #9 on: September 08, 2011, 03:11:51 AM » |
|
the purpose is to cheat an endless deepzoom, it comes down to a limited amount ( propably around a million ? ) possible mandelbrot-minis in the floating point range, once this cheat has somehow precalculated-containing scaling and rotating, the nearest and biggest to the current view will then be switched into the zoom by blending, loosing some detail from the forecoming fractal, but if used with a big blending duration one could as well be in an interesting part of the blended fract...
I don't think mapping all the minibrots will be particularly useful. They aren't just scaled and rotated - they're distorted. It's as if they are mapped onto a line, and then that line is bent into a curve. Consider this image: Notice how asymmetrical it is. I can't find any right now, but some minibrots are really, really distorted.
|
|
« Last Edit: September 08, 2011, 03:16:58 AM by Duncan C »
|
Logged
|
Regards,
Duncan C
|
|
|
Duncan C
|
|
« Reply #10 on: September 08, 2011, 03:32:45 AM » |
|
Or this one, even. That one is getting so distorted that it's hard to tell which side is the main disk.
|
|
|
Logged
|
Regards,
Duncan C
|
|
|
lkmitch
Fractal Lover
Posts: 238
|
|
« Reply #11 on: September 09, 2011, 05:27:53 PM » |
|
With regard to the distortion of mini-brots, it seems that the distortion lies in the distribution of the disks, not in the cardioid. Here, the blue image is the overall Mandelbrot set and the red is a period-1000 minibrot. Note how the cardioids align.
|
|
|
Logged
|
|
|
|
Duncan C
|
|
« Reply #12 on: September 11, 2011, 11:51:52 PM » |
|
I guess you're right. Great illustration.
|
|
|
Logged
|
Regards,
Duncan C
|
|
|
|