My study was inspired by amazing works by Pasternak

STEP 1: Basic tutorial
structuresynth.sourceforge.net…
A short tutorial explaining the basics of the software, such as shapes, rules and transformations. At this point, I was able to create a nice little box. Even 3 boxes
//Creates a huge grey box to work as base for the fractal.
//Not really needed but whatever
{z -0.1 s 5 5 0.1 color grey}box
//those 2 commands create the small red boxes
{x 0.25 y 0.25 s 0.48 0.48 0.1}box
{x -0.25 y 0.25 s 0.48 0.48 0.1}box
Here they are

STEP 2: Creating rules
While the boxes are pretty neat and I was very proud of them, something more fractal looking would be desirable. My target was to fill a big square with smaller squares following the pattern below:

This requires a bit of maths. Lets assume that the origin - (0,0) - is located in the center of the big square, and its side has length 1. The upper half of the tile is easy - we can just create 2 boxes (actually the code I posted in step 1). Now we scale them down, move them down and right, and then create another scaled down copy and move it down and left:

For the scaling and moving down, we will need two rules.
//draws the grey "base" box
{x 0 y 0 z -0.1 s 5 5 0.1 color grey}box
//executes rule 1
r1
//defines rule 1, with 7 iterations
rule r1 md 7 {
{ x 0.25 y -0.25 s 0.5 0.5 1 rz 0} r1
{ x -0.25 y -0.25 s 0.5 0.5 1 rz 0} r1
base}
//creates the base for the tile
//2 boxes
rule base {
{x 0.25 y 0.25 s 0.45 0.45 0.1}box
{x -0.25 y 0.25 s 0.45 0.45 0.1}box}
Rule Base just creates the two upper boxes. Rule 1 creates 2 copies of Rule Base, shifted down and scaled to 50%.
Also, Rule 1 is recursive and is applied not only on the Base, but also on itself.
STEP 3: Adding randomstuff
To be honest, the previous step could be made in apo too.
Anyways, I wanted to add some randomness to the square. For example, different coloured boxes
For this, I just created a second version of the Base rule, with different coloring. Structure Synth selects one of them randomly (you can set weights too):
{x 0 y 0 z -0.1 s 5 5 0.1 color grey}box
r1
rule r1 md 7 {
{ x 0.25 y -0.25 s 0.5 0.5 1 rz 0} r1
{ x -0.25 y -0.25 s 0.5 0.5 1 rz 0} r1
base}
//version 1 of base
rule base {
{x 0.25 y 0.25 s 0.45 0.45 0.1}box
{x -0.25 y 0.25 s 0.45 0.45 0.1}box}
//version 2 of base
rule base {
{x 0.25 y 0.25 s 0.45 0.45 0.1}box
{x -0.25 y 0.25 s 0.45 0.45 0.1 color white}box}
For different seeds, the code above resulted in things like:
:origin()/pre00/92fa/th/pre/f/2015/020/3/d/color_1_by_tatasz-d8eqlo4.jpg)
STEP 4: Something a bit crazier
Actually, boooooring. Interesting as learning experience, but at this point the dummy here was quite eager to create something more exciting.
So I mixed up some different tiles, and added some height changes between steps:
{color white} r1
{x 0 y 0 z -0.05 s 5 5 0.1 color grey}box
rule r1 md 4 {
{ x -0.25 y 0.25 s 0.5 0.5 0.5 rz 180} r1
{ x 0.25 y -0.25 s 0.5 0.5 0.5 rz 0} r1
{ x -0.25 y -0.25 s 0.5 0.5 1.2 rz 90} r1
base}
rule r1 md 5 {
{ x -0.25 y 0.25 s 0.5 0.5 1.1 rz 0} r1
{ x 0.25 y -0.25 s 0.5 0.5 0.5 rz 90} r1
{ x -0.25 y -0.25 s 0.5 0.5 1.3 rz 90} r1
base}
rule base {
{x 0.25 y 0.25 s 0.48 0.48 0.1}box}

STEP 5: replace the boring boxes with something cool
And Finally i figured out how to replace fixed shapes - the boxes in the example above - by some random crazy things. You just make a rule (or couple) to use instead of using directly the base shape:
{color white} r1
{x 0 y 0 z -0.05 s 5 5 0.1 color grey}box
//rule 1, fills the square
rule r1 md 4{
{ x -0.25 y 0.25 s 0.5 0.5 0.75 rz 180} r1
{ x 0.25 y -0.25 s 0.5 0.5 1 rz 0} r1
{ x -0.25 y -0.25 s 0.5 0.5 1 rz 90} r1
tower}
rule r1 md 5 {
{ x -0.25 y 0.25 s 0.5 0.5 1 rz 0} r1
{ x 0.25 y -0.25 s 0.5 0.5 0.75 rz 90} r1
{ x -0.25 y -0.25 s 0.5 0.5 1 rz 90} r1
tower}
//this rule creates the spires
rule tower w 1{
{z 0.01 rz 3 s 0.8}tower
base}
rule tower w 1{
{z 0.01 rz 3 s 1.01}tower
base}
rule tower w 1{
{z 0.01 rz 3 s 1.02}tower
base}
rule tower w 1{
{z 0.01 rz 3 s 0.95}tower
base}
rule tower w 0.5{}
//baseshape for the spires
rule base {
{x 0.25 y 0.25 s 0.45 0.45 0.01 sat 0.3}box}

STEP 6: And keep learning
Still exploring the stuff now, some mazy and non fractal things as:


- sorry if this reads like a commercial but it's just because a while ago I really did like to play with Structure Synth
It even has a renderer of its own. Can look like this: schmiegel.deviantart.com/art/S…
Looks nice with structures that have their color applied depending on the recursion level (e.g.: more visible in Examples/Tutorials/Primitives.es).
These structures even can be exported using a Template (located in the Misc folder) for 3D renderers like Povray or the Sunflow renderer which is a part of the J-Wildfire bundle (if you don't want to grab the standalone
Sunflow uses a simple text file to describe the scene. With a decent text editor you can use find and replace to modify the materials descriptions of the Structure Synth export so that you can turn flat spheres or cubes to glass and create things like (oups, it's quite repetitive):
schmiegel.deviantart.com/art/M…
schmiegel.deviantart.com/art/t…
schmiegel.deviantart.com/art/M…
or
schmiegel.deviantart.com/art/G…
If that's not enough you can export as Wavefront obj file that can be ingested by any professional or semi professional or amateur 3D render application and textured or post processed there so that you could have results like:
schmiegel.deviantart.com/art/B…
schmiegel.deviantart.com/art/S…
If you're still reading you might check out schmiegel.deviantart.com/art/O…, end of line 4 to the beginning of line 7. Most of the thumbs are taken from Structure Synth renders.
Sorry for wasting your time
Side note: trying to make 3D meshes from fractals is fundamentally a bad idea. Recursively instancing objects, like Structure Synth does, works just fine, but it's also not how you render non-linear IFS.
You'll loose most of the detail when turning a fractal into a mesh but it's still a nice way of creating complex and unique shapes. You even could try to turn your favorite fractal into a real touchable 3D print this way.
I've been trying to render glass and mirror stuff, but i always get some really weird lightning (for example, the top part is entirely black like here dl.dropboxusercontent.com/u/12…) and i fail to set up illumination and stuff to make it look nice
wonder if you have any suggestions
trace-depths {
diff 4
refl 6
refr 12
}
And the second & more likely guess would be that the floor plane is intersecting with the object. Sunflow unfortunately is very picky with intersections and transparency ... so also the intersecting cubes might not turn out too bright ...
Good luck - great structure btw!
I just had a glimpse at J-Wildfire as I like the mutation machine and the dancing fractal feature. Just by chance I found Sunflow in the package.
Actually it's the couple Structure Synth + Sunflow that I want to promote
Not sure if you could maybe write a short explanation for dumb dummies?
On my machine it works using the following menus:
Third menu entry from right:
File | Scene | Image -> Save Image ...
The file format is .png - you'll need to append the .png extension/suffix to the file name of you render.
Hope that helps
thank you
Thank you! I will definitely use this when I have time to dive into 3D fractaling
its pretty fun... requires some geometry notion, but nothing too insane (for the random maze, for example, i was just placing around the pieces till got what i wanted)
gogogo trytrytry
Btw, just testing the learning report stuff... We could try something like this if we and C-91 decide organizing some classes maybe...
Do you have to purchase it after one trial ?
I downloaded SSynth three times but it only worked once each time.
When I reopen it says it can't read/find the Examples folder.
Well I expect it's a little bug.
I don't really mind as I wouldn't have used it really.
not sure if i have it installed here...
lots of fun tehe