**Wacław Franciszek Sierpiński**was a polish Math-magician - aka Grand Master of set theory, Senior Warlock of number theory, dude who liked fractals - and school teacher.

He is best know for "Sierpinski's

his

his

and his

**triangle" (in**3D its called Sierpiński tetrahedron)his

**carpet - also related to****Sierpiński Sponge or Menger's Sponge when in 3D.**his

**arrowhead****curve**and his

**pentagon O_O**

**He also got to be on a coin, which is pretty cool.**

These beauties are known as

**iterated function systems**or

**IFS**, and we will be looking at how we can build some self-similar fractals using Softimage

**ICE**in this post.

***All these IFS have fixed Attractors.***

Some fractal Terminology...

#
__Iterated Function System__:

#
*A finite set of contraction maps for , 2, ..., , each with a contractivity factor , which map a compact metric space onto itself. It is the basis for fractal image
compression techniques.
*

#
__Self-similarity__:

#
*An object is said to be self-similar if it looks "roughly" the same on any scale.*

#
__Attractor__:

#
*Each consists of affine transformations
involving
rotations, translation and scaling by a constant ratio, where
applicable. It can also be divined as the smallest unit which itself
cannot be decomposed into two or more attractors.*

#
__ L____-Systems__:

*A Lindenmayer system, also known as an L-system, is a string writing system that can be used to generate fractals with dimensions between 1 and 2.*

**Sierpinski's triangle**

To create this fractal you need the following things:

1. repeat on counter node

2. clone point node

3. basic kind of loop

**Just a note, this is a really render and ram intensive way of doing any fractal, but it is cool if you just want to get your head around the math of L-Systems**

In

__Image A__you will see that I have two parts to my setup. Part one is adding a single point to a pointcloud, and part two which I call the I.F.S is where that point gets cloned and repeated for the fractal. This is the basic setup for all four of Sierpinski's fractals shown above.

__Image A__

__Image B__

*- Attractor NODE*__Image C -__

*IFS_Triangle NODE**click on image to make bigger* |

__What the Log node -__

__Image D -__does is translate the new triangles so that they fit inside the original triangle. We do this with the help of the point ID's and a select case node, run by a loop.

__Image D__

*- log 3 NODE**click on image to make bigger*
Image C1 - Translate local points NODE |

__Image E__

*- Loop Value Fractals NODE**click on image to make bigger* |

In Image F you can see the ram usage and render time if your on an Iteration step of 12 with 531 441 triangles in your scene. I'm totally looking into ways of speeding this up. My poor laptop can't really handle this much ram going to a render.

__Image F__

*click on image to make bigger* |

Sierpinski's Triangle

Sierpinski's Tetrahedron

**Sierpinski's Carpet**

Once you've mastered the Triangle feel free to try and make his carpet as well.

__Image AA__and

__AB__shows the log and scale for that. Start with a Box with a scale of 10 and then fit 8 new boxes to the side facing the X translation.

__Image AA__

*click on image to make bigger*Note the difference in the scale being 0.667 instead of 0.5 like with the triangle |

__Image AB__

*click on image to make bigger*This one is even worse on the ram side but really nice looking. Image AC |

*click on image to make bigger*Sierpinski's CarpetSierpinski's Sponge |

**Sierpinski's Arrowhead**

The arrowhead is really interesting because you don't just work with the center point position like you did with the triangle and the carpet, you now work with the starting point 0, 0 - the root of the cylinder - and the end position 0, 1 - the tip of the cylinder, like with the triangle you will have a Log of 3 here, but now you also have to deal with the orientation of the cylinders.

Start with a single cylinder that is rotated to lay horizontally with a scale of 5, 10, 1. Now just build Image BA and BB into the IFS node.

__Image BA__

*click on image to make bigger* |

The scale for this one is also 0.5 just like the triangle.

__Image BB__

*click on image to make bigger* |

__This one becomes really heavy after 12 iterations couldn't even render it...__

__Image BC__

*click on image to make bigger* |

*Sierpinski's Arrowhead*

**Sierpinski's Pentagon**To make the beautiful pentagon you will need to make a pentagon and the use the instance shape node to add it to your point in your pointcloud. This one is a weird one... It has a log with 5 clones and a scale of 0.618 but it also has an offset of sorts.

__Image CA__

*click on image to make bigger* |

The offset comes in with the 5 sides of the pentagon being in strange places : / See

__Image CB__for the strangeness.

__Image CB__

*click on image to make bigger* |

All of them seem to come in at around 2 to 4 min a frame with anything from 600mb to 1700mb of ram usage.

__Image CC__

*click on image to make bigger* |

*Sierpinski's Pentagon*

**End :D**