Title: 3D Mandelbrot Set Phase Shift Animations Post by: bugman on November 30, 2009, 05:45:41 PM Here is a way to continuously transform the negative z-component 3D Mandelbrot into the positive z-component Mandelbrot (with a rotation) by adding a phase shift:
{x,y,z}^n = r^n*{cos(phi)*cos(theta), cos(phi)*sin(theta), sin(phi)} r=sqrt(x²+y²+z²), theta=n*atan2(y,x), phi=n*asin(z/r)+phase where the phase varies continuously from goes from 0 to 2pi. Here is a link showing what this animation looks like for the 8th order version: http://bugman123.com/Hypercomplex/Mandelbulb8.m1v Here is a link showing what this animation looks like for the quadratic version: http://bugman123.com/Hypercomplex/Mandelbulb.m1v Title: Re: 3D Mandelbrot Set Phase Shift Animations Post by: cbuchner1 on November 30, 2009, 06:58:11 PM Very cool - I'll try and see if this is compatible with my raymarching code on the GPU. Having an animated phase in realtime would sure look nice. It might even look nice when animated veeeeerrry slowly, while the camera is deeply zoomed in.
UPDATE: Yes, I got it to work. But on my first attempt I forgot to add the phase on the part where phi is computed before entering the iterative loop. It looked distinctly different than your videos, but also very cool. It appeared more like twisting these prodtruding bulbs instead of marching the bulbs over the surface. It seems that the initial choice of the phi phase versus the iterative choice of the phase opens a 2-dimensional parameter space for animating the fractal. As Mr. Spock would say: Highly fascinating! How do the theta angle (in the x,y plane) effects compare to this? I will make a new CUDA version available soon, maybe I will even open a blog for my CUDA contraptions because people had trouble getting nVidia forum accounts lately. Without such an account, the download was not possible. Christian Title: Re: 3D Mandelbrot Set Phase Shift Animations Post by: bugman on December 01, 2009, 01:38:28 AM Christian,
Adding a phase shift to theta is not very interesting because it merely rotates the overall structure. However, I am curious to know what formula you used to get the prodtruding bulbs to twist. Do you have an animation that we can see? Title: Re: 3D Mandelbrot Set Phase Shift Animations Post by: cbuchner1 on December 01, 2009, 02:08:03 AM Not really a formula. I've done the +phase in the iterative part of the loop only, but before entering the loop phi gets a start value that is asin(z/R). There I simply forgot to add +phase and received the effect that I described.
One could do something like the code below and choose phase1 and phase2 freely. In my accidential case described above phase1 was 0 and phase 2 was sweeped, resulting in the twisting effect. But one could also sweep phase1 from 0 to 2PI and phase2 from 2PI to 0 simultaneously. Or set phase2 = cos(t) and phase1 = sin(t) where t is being incremented. Any continuous sweep over this 2D plane would look cool. The possibilities are limitless ;) Code: phi = asin(z/R) + phase1; I've already published the updated Mandelbulb version on the nVidia forums, the two phase shift animation modes are available by pressing the space bar a couple of times (it cycles through the modes). When I get Fraps or similar video capture tools to run, I'll upload some VGA sized video to vimeo or youtube. But it will have to wait until tomorrow. It's what... 2AM now ? ;) At VGA size this renders at about 20-25 FPS on my nVidia 9600GSO (raytraced with phong shading). Adding reflections brings this down to some 7 or 8 FPS. This is a nearly 3 year old graphics card. I can only guess that a 280GTX would render this full HD (1920x1080) in real time if one can foot the power bill. Title: Re: 3D Mandelbrot Set Phase Shift Animations Post by: Nahee_Enterprises on January 30, 2010, 08:24:06 PM Here is a way to continuously transform the negative z-component 3D Mandelbrot into the positive z-component Mandelbrot (with a rotation) by adding a phase shift.... Here is a link showing what this animation looks like for the 8th order version.... I am just now getting around to viewing some of the animations I missed, and this one is rather cool the way it collapses in on (or expands out on) itself. |