Logo by Sockratease - Contribute your own Logo!
News: Check out the originating "3d Mandelbulb" thread here
 
*
Welcome, Guest. Please login or register. June 24, 2017, 10:51:45 PM


Login with username, password and session length




 
  Search  

  Slideshow  
Floorfold BoxSerpentine LabyrinthElven Shield II
Serpentine Labyrinth
Previous Image | Next Image
Description: This image was created with the Fractal Science Kit fractal generator. See http://www.fractalsciencekit.com/tutorial/examples/examples.htm for details.

It is based on information given by penny5775 at:
    http://penny5775.deviantart.com/art/Mobius-Dragon-Script-104021373
    http://penny5775.deviantart.com/art/Mobius-Design-Pack-104115613

Stats:
Total Favorities: 1 View Who Favorited
Filesize: 372.4kB
Height: 700 Width: 1050
Discussion Topic: View Topic
Keywords: fractal art abstract chaos attractor IFS symmetry dragon mobius circles kleinian Apollonian gasket 
Posted by: Ross Hilbert March 11, 2011, 07:50:30 PM


Image Linking Codes
BB Code
Direct Link
Html Link
0 Members and 1 Guest are viewing this picture.
  Slideshow  

Comments (8) rss
Ross Hilbert
Fractal Phenom
******
Posts: 469



View Profile WWW
December 24, 2011, 01:47:31 AM
Hi bib,

I didn't base this fractal on the other one you referenced.

I used the code given below with the options set as follows:
Order: 12
Pattern: 1
PatternWeight: 1
HorizontalWeight: 0.25
VerticalWeight: 0.12
LineWeight: 0.05
Power: 16
Weight: 0.98

Ross

Code:


comment:
 
  This program generates a Mobius Dragon IFS.
 
  2 options are available to control the pattern: 'Order' and
  'Pattern'. Order is an integer that ranges from 1 to 12 and
  controls the complexity of the pattern. Pattern is an integer
  that ranges 1 to 3 and is used to vary the pattern.
 
  You can speed up the display and improve the results by adding
  a symmetry transformation to match the symmetry inherent in the
  attractor.
 
  I recommend using the 'Color Map - Index' controller with this equation
  so that you can control the index/color mapping. The index values range
  from 0 to 2 as follows:
 
    0 pattern attractor 1
    1 pattern attractor 2
    2 vertical shift attractor
 
  you will need to use the controller's Attractor Opacity property
  to favor index 2 since the weight for the pattern attractors
  is so much larger.
 
  This program is based in part on information given by penny5775 at:
    http://penny5775.deviantart.com/art/Mobius-Dragon-Script-104021373
    http://penny5775.deviantart.com/art/Mobius-Design-Pack-104115613
 
global:
 
  Complex shift[] = \
    Complex(0.4995, 0.6772), \
    Complex(0.3195, 0.3668), \
    Complex(0.2252, 0.2512), \
    Complex(0.1648, 0.1939), \
    Complex(0.1223, 0.1589), \
    Complex(0.0909, 0.1339), \
    Complex(0.06741, 0.11389), \
    Complex(0.0502, 0.0969), \
    Complex(0.0378, 0.0828), \
    Complex(0.02898, 0.071), \
    Complex(0.0226, 0.0613), \
    Complex(0.01784, 0.05323)
   
  Complex dy1[] = \
    2.3228, \
    2.6332, \
    2.7488, \
    2.8061, \
    2.8411, \
    2.8661, \
    2.8861, \
    2.9031, \
    2.9172, \
    2.9290, \
    2.9387, \
    2.9468
   
  Complex dy2[] = \
    2.7381, \
    3.0482, \
    3.1636, \
    3.2206, \
    3.2558, \
    3.2807, \
    3.3006, \
    3.3180, \
    3.3319, \
    3.3437, \
    3.3535, \
    3.3616
   
  Complex dy3[] = \
    2.6460, \
    3.2668, \
    3.5, \
    3.6, \
    3.66, \
    3.71, \
    3.75, \
    3.78, \
    3.8, \
    3.81, \
    3.82, \
    3.83
 
  const Complex d = shift[Order-1]
 
  switch (Pattern) {
    case 1: dx = d.x : dy = dy1[Order-1]
    case 2: dx = d.x : dy = dy2[Order-1]
    case 3: dx = 0   : dy = dy3[Order-1]
  }
  const Mobius m = Mobius.Multiply(Mobius(1, 0, -1i, 1), Mobius(1, Conj(d), 0, 1))
  const Affine s[] = \
    Affine(-1, 0, 0, -1, -d.x, d.y), \
    Affine(1, 0, 0, 1, -1, 0), \
    Affine(1, 0, 0, 1, 1, 0), \
    Affine(1, 0, 0, 1, -dx, -dy)
   
  const Complex pLine[] = 1, d.y-1 ' vertical position of 2 horizontal lines
  const Complex indexLUT[10000]
  const Complex count = 5 ' number of transformations
  const Complex p[] = PatternWeight, PatternWeight, HorizontalWeight, HorizontalWeight, VerticalWeight, LineWeight, LineWeight
  const Complex k[] = 0, 1, -1, -1, 2, -1, -1
  Math.NormalizeWeights(p[], Array.Dim1(p[]))
  Math.GenerateIndexLookupTable(p[], Array.Dim1(p[]), indexLUT[])
  powerChain = 0
  Debug.Print("Mobius Dragon IFS, Y coordinate of top/bottom lines: +/- {0}", 1-d.y/2)
 
iterate:
 
  if (powerChain = 0) {
    powerChain = IIf(Random.Number() < Weight, 0, Random.Integer(Power))
    index = Math.GenerateIndex(indexLUT[])
    idx = k[index]
   
    if (idx >= 0) {
      attractorIndex = idx
    }
  } else {
    powerChain -= 1
  }
  z.y += d.y/2
 
  if (index < count) {
    if (index = 0) {
      z = Mobius.TransformPoint(m, z)
    } else {
      z = Affine.TransformPoint(s[index-1], z)
    }
  } else {
    z.y = pLine[index-count]
    powerChain = 0
  }
  z.y -= d.y/2
 
properties:
 
  divider {
    caption = "General Options"
  }
  option Order {
    type = IntegerEnum(1,12)
    caption = "Order"
    details = "Order of complexity of pattern"
    default = 9
  }
  option Pattern {
    type = IntegerEnum(1,3)
    caption = "Pattern"
    details = "Used to vary the pattern"
    default = 1
  }
  divider {
    caption = "Weights"
  }
  option PatternWeight {
    type = Float
    caption = "Pattern"
    details = "Weight applied to pattern transform"
    default = 1
  }
  option HorizontalWeight {
    type = Float
    caption = "Horiz Shift"
    details = "Weight applied to horizonal shift"
    default = 0.25
  }
  option VerticalWeight {
    type = Float
    caption = "Vertical Shift"
    details = "Weight applied to vertical shift"
    default = 0.12
  }
  option LineWeight {
    type = Float
    caption = "Line Weight"
    details = "Weight applied to line generation"
    default = 0.05
  }
  divider {
    caption = "Power Options"
  }
  option Power {
    type = Integer
    caption = "Power"
    details = "Maximum length of generator power chain"
    default = 16
    range = [1,32]
  }
  option Weight {
    type = Float
    caption = "Base Weight"
    details = "Weight applied to base transformations (0-1)"
    default = 0.98
    range = [0,1]
  }
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


View Profile WWW
December 24, 2011, 01:28:13 AM
I am curious to see how this one would turn out in 3D. What did you do to get these spirals if you started from this one? http://www.fractalforums.com/index.php?action=gallery;sa=view;id=2222
Ross Hilbert
Fractal Phenom
******
Posts: 469



View Profile WWW
July 03, 2011, 07:31:43 PM
Thanks Erisian, Thanks Kam, Yeah when I first saw an example of this style, I was instantly hooked.
kameelian
Iterator
*
Posts: 181



View Profile
June 30, 2011, 06:17:45 PM
I really like this one - and some of the derivatives you've done. It was one of the first ones that caught my eye (ifnot THE first) when I first came to this site.

It has a kind of middle eastern watchmaker's feel to it for me.

cheers
Kam
Guest
March 14, 2011, 11:25:24 PM
Totally stunning!  love
Ross Hilbert
Fractal Phenom
******
Posts: 469



View Profile WWW
March 14, 2011, 06:37:24 PM
Thanks guys!
Guest
March 11, 2011, 08:01:53 PM
Yeah, awesoem... wink
dainbramage
Iterator
*
Posts: 154



View Profile
March 11, 2011, 07:57:58 PM
Awesoem image Ross!  cheesy

Return to Gallery

Powered by SMF Gallery Pro

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.474 seconds with 38 queries. (Pretty URLs adds 0.01s, 1q)