END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. March 28, 2024, 04:08:52 PM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: Swirlbrot  (Read 2623 times)
0 Members and 1 Guest are viewing this topic.
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« on: December 10, 2012, 08:11:15 AM »

Try swirlbrot by kram1032 and gravitational waves as discussed in buddhabrot thread. Simplest version is:
z=(exp(flip(cabs(z)+atan2(z)) ) *z )^@power  +c

It looks like rotated LKM's rotated mandelbrot, throught becouse of uneasy julia shapes you probably would want to use power 3 version instead of usual 2. No pics, too tired of buddhabrots;)

Logged

fractal catalisator
kram1032
Fractal Senior
******
Posts: 1863


« Reply #1 on: December 10, 2012, 09:29:11 AM »

The generic idea would be to do:
z=r e^{i \phi }\to f\left(r e^{i \phi (r)}\right)
or:
x=r \cos (\phi (r)) \to f_x(r \cos (\phi (r)))<br />y=r \sin (\phi (r)) \to f_y(r \sin (\phi (r)))

Where \phi(r) is a function of r.
In the most obvious case, you'd simply use f(z)=z^n+c and \phi(r)=\phi+r.
« Last Edit: December 11, 2012, 08:58:44 AM by kram1032 » Logged
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #2 on: December 11, 2012, 08:02:21 AM »

Here it is. Mset with power 2 a julia set with power 2 and 3.


* Gravit_Swirlbrot1.jpg (24.78 KB, 320x240 - viewed 826 times.)

* Gravit_Swirlbrot2.jpg (25.62 KB, 320x240 - viewed 771 times.)

* Gravit_Swirlbrot_julia1.jpg (28.96 KB, 320x240 - viewed 807 times.)

* Gravit_Swirlbrot_julia_power3.jpg (35.22 KB, 320x240 - viewed 799 times.)
Logged

fractal catalisator
kram1032
Fractal Senior
******
Posts: 1863


« Reply #3 on: December 11, 2012, 09:01:36 AM »

So the last one is power 3. What about the second Julia?
Those are quite beautiful smiley
It's interesting to me to see that the swirl transform actually increases symmetry, somewhat stretching the three biggest bulb to at least apparently be the same size.

Maybe, by animating the two frequencies (\nu_\phi and \nu_r), you could visualize how this symmetry comes about and, potentially, even find rotated versions of the original MSet if you just keep going...


z=r e^{i \phi }\to \left(r e^{i(\nu_\phi\phi + \nu_r r)}\right)^n+c
« Last Edit: December 11, 2012, 09:08:46 AM by kram1032 » Logged
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #4 on: December 11, 2012, 01:47:02 PM »

By animating would be too time consuming;) I was thinking about introducing this to Ultra Fractal and Chaos Pro database.
 All other m and j sets are of power 2.

This one  somewhat looks like rised in additional power 2. And it's very simmilar to LKM's rotated mandelbrot and alsou z=z^2+c; z=z*z/|z| , just that rotated mandelbrot realy aren't rotated, but this one is slightly rotated around coordinate start;)
So there seems to be some good mathamatical background behind. It can't look simmilar just by accident.

Code:
rotated-mandelbrot { ; Kerry Mitchell 06oct2002
;
; Rotates the z variable in the standard Mandelbrot
; calculation each iteration.
;
; Use the 'rotation type' parameter to rotate before or
; after raising z to the desired power, or both before and
; after.  The '+before, -after' setting rotates the opposite
; way after raising z to the power.
;
; The rotation angle is the 'rotation factor' times the angle
; of the pixel or z.  The 'constant' setting in 'rotation type'
; makes the rotational angle a constant 'rotation factor'
; degrees.
;
init:
  c=#pixel
  z=c+@manparam
  float t=0.0
  float trad=@rotfac*#pi/180
  rot=(0,0)
loop:
;
; set up the rotation angle
;
  if(@angletype==1)          ; pixel
    t=@rotfac*atan2(#pixel)
  elseif(@angletype==2)      ; z
    t=@rotfac*atan2(z)
  else                       ; constant
    t=trad
  endif
  rot=cos(t)+flip(sin(t))
;
; iterate z, taking into account the rotation type
;
  if(@rottype==1)            ; before
    z=z*rot
    z=z^@power+c
  elseif(@rottype==2)        ; after
    z=z^@power+c
    if(@angletype==2)
      t=@rotfac*atan2(z)
      rot=cos(t)+flip(sin(t))
    endif
    z=z*rot
  elseif(@rottype==3)        ; before & after
    z=z*rot
    z=z^@power+c
    if(@angletype==2)
      t=@rotfac*atan2(z)
      rot=cos(t)+flip(sin(t))
    endif
    z=z*rot
  elseif(@rottype==4)        ; +before, -after
    z=z*rot
    z=z^@power+c
    if(@angletype==2)
      t=@rotfac*atan2(z)
      rot=cos(t)+flip(sin(t))
    endif
    z=z/rot
  else                       ; none
    z=z^@power+c
  endif
bailout:
  |z|<@bailout
default:
  title="Rotated Mandelbrot"
  periodicity=0
  param manparam
    caption="perturbation"
    default=(0,0)
  endparam
  param power
    caption="power"
    default=(2,0)
  endparam
  float param bailout
    caption="bailout"
    default=1000.0
  endparam
  param rottype
    caption="rotation type"
    default=1
    enum="none" "before iterating" "after iterating" \
      "before & after" "+before, -after"
    hint="How z is rotated each iteration."
  endparam
  float param rotfac
    caption="rotation factor"
    default=1.0
    enabled=@rottype!="none"
    hint="If 'angle type' is 'constant', then this is the \
      rotation angle in degrees. Otherwise, it is the factor \
      that multiples the pixel or z angle to make the rotation \
      angle."
  endparam
  param angletype
    caption="angle type"
    default=2
    enum="constant" "pixel" "z"
    enabled=@rottype!="none"
    hint="Use 'constant' to specify a constant angle in degrees. \
      Otherwise, the rotation is based on the angle of the pixel \
      or the angle of z."
  endparam
switch:
  type="rotated-julia"
  julparam=#pixel
  bailout=bailout
  power=power
  rottype=rottype
  rotfac=rotfac
  angletype=angletype
}
« Last Edit: December 11, 2012, 02:08:31 PM by Alef » Logged

fractal catalisator
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #5 on: December 11, 2012, 09:39:32 PM »

Reminded me of one of my fractint formulas that produced this:



Yours are great.
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
kram1032
Fractal Senior
******
Posts: 1863


« Reply #6 on: December 11, 2012, 09:43:23 PM »

neat. What formula does that?
Logged
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #7 on: December 11, 2012, 09:56:41 PM »

Code:
simon0070-D {
  if (ismand)
    p = pixel
    z = pixel
  else
    p = p1
    z = pixel
  endif
  z = (1/z)/(z*z):
  z = z * z + p
  |z| < 4
}

Parameters are as follows:

Code:
Swirl              {
                     ;  Fractint Version 2099 Patchlevel 8
  reset=2099 type=formula formulafile=simon.frm
  formulaname=simon0070-D ismand=n passes=1
  center-mag=-2.13163e-014/1.06581e-014/0.06643282/0.75
  params=-1.7805108952668485/2.7597098893445381e-006 float=y
  maxiter=512 fillcolor=0 inside=0 periodicity=0
  colors=0003be4no5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>za\
  XzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05\
  C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3\
  >_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5z\
  zzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA\
  2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM05C<3>4no5zzzz\
  z<3>zaXzVPuSL<3>_E5UA0PA2<3>56A05C1GM<3>5zzzzz<3>zaXzVPuSL<3>_E5UA0PA2<4\
  >05C1GM2SW
  }
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
Alef
Fractal Supremo
*****
Posts: 1174



WWW
« Reply #8 on: December 13, 2012, 09:14:45 AM »

Is this a z = (1/z)* 1/(z*z) ? Cos 1/(z/(z*z))= (z*z) /z= z

This works in interesting way:
z=exp(flip( @frequency*cabs(z)+@spin*atan2(z)) ) *z
z=z^2+c

UF operator flip switches real and imaginary parts, so it's like *i. In normal way:
z=z*e^i(frequency*cabs(z)+spin*atan2(z))

Frequency is how mutch this is rotated around. Each 0.5 of spin works like additional power (simmetry), exept that it generates more stalked fractal. Probably it have something to do with radians. -2 spin and frequency =0 generates tricorn fractal.

Julias are especialy cool, like pictures on washing powders. I want this to upload to Ultra Fractal and Chaos Pro databases. What's your name to include in credits? Or should I put just "Variation by Kram1032"?


* spinbrot_spin05_frequ0.jpg (54.83 KB, 224x359 - viewed 791 times.)

* swirlbrot_spin05_frequ025.jpg (59.82 KB, 284x357 - viewed 792 times.)

* spinbrot_julia_spin05_frequ1.jpg (53.41 KB, 320x315 - viewed 814 times.)
« Last Edit: December 13, 2012, 09:16:22 AM by Alef » Logged

fractal catalisator
kram1032
Fractal Senior
******
Posts: 1863


« Reply #9 on: December 13, 2012, 11:54:02 AM »

Code:
z = (1/z)/(z*z):
z = z * z + p
Huh... if I'm reading that right, it would do
z=\frac{1}{z^3}<br />z=z^2+p
So essentially, it would do \frac{1}{z}+p which, if I recall, does not yield what you have there...

Alef, yeah, just go with kram1032, I guess smiley Really nice stuff.
Logged
simon.snake
Fractal Bachius
*
Posts: 640


Experienced Fractal eXtreme plugin crasher!


simon.fez SimonSideBurns
« Reply #10 on: December 13, 2012, 07:38:45 PM »

Probably my colour scheme has something to do with it, and if you look at the parameters, it shows that this is a julia (ismand=n).

Does that help?
Logged

To anyone viewing my posts and finding missing/broken links to a website called www.needanother.co.uk, I still own the domain but recently cancelled my server (saving £30/month) so even though the domain address exists, it points nowhere.  I hope to one day sort something out but for now - sorry!
Ryan D
Alien
***
Posts: 36


WWW
« Reply #11 on: December 14, 2012, 03:56:37 PM »

Code:
z = (1/z)/(z*z):
z = z * z + p
Huh... if I'm reading that right, it would do
z=\frac{1}{z^3}<br />z=z^2+p
So essentially, it would do \frac{1}{z}+p which, if I recall, does not yield what you have there...

In a Fractint formula, everything before the full colon (":") is an initial condition.  Everything after the colon is iterated in the escape-time loop.  So, the iteration loop executes only the z^2 + p portion.  (Also, the final statement in a Fractint formula is the bailout condition.)

Ryan
Logged
kram1032
Fractal Senior
******
Posts: 1863


« Reply #12 on: December 14, 2012, 07:30:29 PM »

Ah, I see... The plane is initiated at \frac{1}{z^3} and from there just iterated like the normal MSet.
That makes sense.
It's like those experiments where you'd do one thing up to iteration i and after that iterate differently, in this case with i=1.
« Last Edit: December 13, 2014, 12:15:03 AM by kram1032 » Logged
TheRedshiftRider
Fractalist Chemist
Global Moderator
Fractal Iambus
******
Posts: 854



WWW
« Reply #13 on: November 04, 2014, 07:05:43 PM »

For images I make I mostly use a different program, but it has a similar way of making images like this. The whole function is different but the effects look allmost the same. This function is called mandelgrass.
Logged

Motivation is like a salt, once it has been dissolved it can react with things it comes into contact with to form something interesting. nerd
Pages: [1]   Go Down
  Print  
 
Jump to:  


Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.307 seconds with 22 queries. (Pretty URLs adds 0.013s, 2q)