Welcome to Fractal Forums

Fractal Math, Chaos Theory & Research => Theory => Topic started by: Kali on February 08, 2012, 11:09:51 PM




Title: Mandelbulb Variant
Post by: Kali on February 08, 2012, 11:09:51 PM
I just got this mandelbulb variation by modifying Fragmentarium's formula.

Instead of converting to polar, multiplying both angles and then converting back to cartesian, I did it in two parts: get polar, first multiply theta, convert back to cartesian and then the same with the resulting phi.

To see it, just replace pow function with this:

Code:
void powN1(inout vec3 z, float r, inout float dr) {
float theta = acos(z.z/r);
float phi = atan(z.y,z.x);
theta = theta*Power;
z = r*vec3(sin(theta)*cos(phi), sin(phi)*sin(theta), cos(theta));
theta = acos(z.z/r);
phi = atan(z.y,z.x);
phi = phi*Power;
float zr = pow(r,Power);
z = zr*vec3(sin(theta)*cos(phi), sin(phi)*sin(theta), cos(theta));
dr =  pow( r, Power-1.0)*Power*dr + 1.0;
}

Maybe it could be optimized, I just made it in an easy and intuitive way.

Some images of pow 2:






Title: Re: Mandelbulb Variant
Post by: DarkBeam on February 08, 2012, 11:31:46 PM
Pablo please paste the whole frag script, so we can do some tests :)
Looks a lot like Xenodream variant. Julias should be great, but too many functions slow down a lot. to optimize you need a Mathematica cd or wolfram alpha... :)


Title: Re: Mandelbulb Variant
Post by: Kali on February 09, 2012, 12:18:01 AM
Pablo please paste the whole frag script, so we can do some tests :)
Looks a lot like Xenodream variant. Julias should be great, but too many functions slow down a lot. to optimize you need a Mathematica cd or wolfram alpha... :)

Ok.


Title: Re: Mandelbulb Variant
Post by: cKleinhuis on February 09, 2012, 12:21:52 AM
but the method you described would not lead to new results, because converting it back to cartesian and then again to polar, hmm, there might be going on some folding because of those hairy balls ? think so ... i mean it lies in the angles, have you a number example for what the ( between ) results are with and without your method ?


Title: Re: Mandelbulb Variant
Post by: cKleinhuis on February 09, 2012, 12:28:02 AM
thx for posting the frag, interesting, it is a normal power8 bulb and a somehow flattened out mandelbrot, isnt it interesting that just in the lower powers new shapes emerge ?
and the power 8 is lookin just normal


Title: Re: Mandelbulb Variant
Post by: visual.bermarte on February 09, 2012, 12:35:30 AM
Try changing z inside powN2 ;D
z  = abs(zr*vec3( cos(zo)*cos(zi), cos(zo)*sin(zi), sin(zo) ))
or just add z=abs(z) after z  = zr*vec3( cos(zo)*cos(zi), cos(zo)*sin(zi), sin(zo) )
Code:
#preset julia1
FOV = 0.62536
Eye = 1.91991,-1.7193,-4.14192
Target = -1.0681,0.455671,3.91224
Up = -0.503567,-0.862689,0.0461452
AntiAlias = 1
Detail = -2.78761
DetailAO = -1.57143
FudgeFactor = 1
MaxRaySteps = 164
BoundingSphere = 49.057
Dither = 0.42105
NormalBackStep = 5.1667
AO = 0,0,0,0.90123
Specular = 4.4304
SpecularExp = 16
SpotLight = 0.435294,0.737255,1,1
SpotLightDir = 0.65626,0.5
CamLight = 1,0.941176,0.898039,0.8077
CamLightMin = 1
Glow = 1,1,1,0.46575
GlowMax = 20
Fog = 0
HardShadow = 0.35385
ShadowSoft = 12.9032
Reflection = 0
BaseColor = 1,1,1
OrbitStrength = 0
X = 0.5,0.6,0.6,0.7
Y = 1,0.6,0,0.4
Z = 0.8,0.78,1,0.5
R = 0.4,0.7,1,0.12
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = false
Cycles = 1.1
EnableFloor = false
FloorNormal = 0,0,0
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 19
ColorIterations = 2
Power = 1.42224
Bailout = 21.1365
AlternateVersion = true
RotVector = 0.27848,0,0.06329
RotAngle = 92.5722
Julia = true
JuliaC = -1.53192,-1.02128,0.29788
#endpreset

#preset julia2
FOV = 0.62536
Eye = 3.64263,-4.96651,-2.54797
Target = -1.39772,1.28526,1.19882
Up = -0.721929,-0.674489,0.154259
AntiAlias = 1
Detail = -2.78761
DetailAO = -1.57143
FudgeFactor = 1
MaxRaySteps = 164
BoundingSphere = 49.057
Dither = 0.42105
NormalBackStep = 5.1667
AO = 0,0,0,0.90123
Specular = 4.4304
SpecularExp = 16
SpotLight = 0.435294,0.737255,1,1
SpotLightDir = 0.65626,0.5
CamLight = 1,0.941176,0.898039,0.8077
CamLightMin = 1
Glow = 1,1,1,0.46575
GlowMax = 20
Fog = 0
HardShadow = 0.35385
ShadowSoft = 12.9032
Reflection = 0
BaseColor = 1,1,1
OrbitStrength = 0.14286
X = 0.411765,0.6,0.560784,0.41748
Y = 0.666667,0.666667,0.498039,-0.16504
Z = 1,0.258824,0.207843,1
R = 0.0823529,0.278431,1,0.82352
BackgroundColor = 0.607843,0.866667,0.560784
GradientBackground = 0.3261
CycleColors = true
Cycles = 4.04901
EnableFloor = false
FloorNormal = 0,0,0
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 19
ColorIterations = 2
Power = 1.24448
Bailout = 21.1365
AlternateVersion = true
RotVector = 0,0.32911,0.34177
RotAngle = 180
Julia = true
param = 16
JuliaC = -7.06822,0.09096,-1.23404
#endpreset

absbulb
(http://fc03.deviantart.net/fs70/i/2012/039/6/c/absbulb_by_bermarte-d4p3e2n.jpg)
I just realized that I hijacked this thread! Sorry everyone!  :embarrass:


Title: Re: Mandelbulb Variant
Post by: Kali on February 09, 2012, 09:16:15 AM
Quote
but the method you described would not lead to new results, because converting it back to cartesian and then again to polar, hmm, there might be going on some folding because of those hairy balls ? think so ... i mean it lies in the angles, have you a number example for what the ( between ) results are with and without your method ?

Yeah, at first I thought the same, but honestly I don't know what's going on, just tried and got this  ;D

Quote
thx for posting the frag, interesting, it is a normal power8 bulb and a somehow flattened out mandelbrot, isnt it interesting that just in the lower powers new shapes emerge ?
and the power 8 is lookin just normal

It's not a normal power 8 I think, but yes, it has more unique features on the lower powers.

Quote
I just realized that I hijacked this thread! Sorry everyone!

Don't worry, that absbulb is very interesting too :)


Title: Re: Mandelbulb Variant
Post by: Kali on February 09, 2012, 11:38:15 PM
but the method you described would not lead to new results, because converting it back to cartesian and then again to polar, hmm, there might be going on some folding because of those hairy balls ? think so ... i mean it lies in the angles, have you a number example for what the ( between ) results are with and without your method ?

If I'm not wrong, when changing theta and then getting the new coordinates, phi is affected and this is why the result is different.

I also have another ideas for trying, but I hadn't do the math, just a visualization of the transforms...
I need to review some more trigonometry in order to achieve it  :banginghead:



Title: Re: Mandelbulb Variant
Post by: DarkBeam on February 09, 2012, 11:44:57 PM
no need to review, just type it in wolframalpha
example try simplify(sin(2*atan(y/x))
only be careful some funcs are not expanded correctly


Title: Re: Mandelbulb Variant
Post by: Kali on February 21, 2012, 03:05:29 PM
Another way of getting some weird but interesting results, is using different scaling factors for both angles and the radius. It also works better with lower powers. In the following image is a pow 2 mandelbulb with one of the angles multiplied by 4 and the other by 3 (power x 2, and power x 1.5). Also the radius is scaled by half.

(http://img214.imageshack.us/img214/6139/mandelbulb3.jpg)

I attached the Fragmentarium file. AF1, AF2, and RF parameters are the scaling factors.



Title: Re: Mandelbulb Variant
Post by: Kali on February 21, 2012, 04:16:59 PM
Another example...

(http://img36.imageshack.us/img36/8058/kbulb1.jpg)


Title: Re: Mandelbulb Variant
Post by: KRAFTWERK on February 21, 2012, 04:33:43 PM
All these images looks very interesting Kali!
Following this thread from now on.  O0


Title: Re: Mandelbulb Variant
Post by: M Benesi on February 25, 2012, 10:23:17 PM
  Some of those look like my old power2 formula that constrains signs in specific ways.

https://picasaweb.google.com/103496528720991269557/NewComparisonShots#    (was new many moons ago)

  Was actually thinking of letting Jesse and Darkbeam know about the cosine specific function that can be used to modify specific REAL portion of cosine signs (signs as in +/-) in fractals without resulting in discontinuity.  Used it in a couple old formulas (mag vs. xyz and "3d mandelbrot attempt")...  anyways.

  Edited to add this image of a 1,1,1 Julia of that type.  Nothing great, click on image to enlarge if you want.
(https://lh5.googleusercontent.com/-E9Jz7H0ZjZQ/T0sDRRbEK3I/AAAAAAAABWg/dny-0GCjycA/s640/where%2520to%2520put%2520this%2520julia.jpg) (https://lh5.googleusercontent.com/-E9Jz7H0ZjZQ/T0sDRRbEK3I/AAAAAAAABWg/dny-0GCjycA/s0/where%2520to%2520put%2520this%2520julia.jpg)