Syntopia
New Feature: Minsize and Maxsize
Structure Synth terminates the recursion if the number of objects is greater than the given threshold ('set maxobjects ...') or if the recursion depth becomes greater than the maximum depth ('set maxdepth ...'). It is also possible to set a maxdepth for an individual rule ('rule R1 maxdepth 5').
I've added two new rules for controlling the termination.
'set minsize {size}' and 'set maxsize {size}' allows you to specify how large or small a given object can be before terminating. The 'size' parameter refers to the length of the diagonal of a unit cube in the current local state. (The initial coordinate frame goes from (0,0,0) to (1,1,1) and hence has a diagonal length of sqrt(3)~1.7). It is possible to specify both a mix and a min size. The termination criteria only stops the current branch - if other branches are still within a valid range, the will be continued.
This is very useful for preventing Structure Synth from creating boxes which cannot be seen anyway or from growing without bounds.
The image shows the same structure at three different minimum size tresholds.
Example script (requires a post-version 0.9 of Structure Synth!):
set minsize 0.8 // or 0.4, or 0.2
set maxdepth 600
set background #333
{ h 30 sat 0.2 h -67 b 0.8 } spiral
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 1 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue -1 rz -90 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 0 rz 90 s 0.995 b 0.995 } spiral
}
rule spiral w 3 {
{ rz 5 s 1 1 1 } spiral
{ ry 4 h 3 s 1 1 1 } spiral
}
rule box2 {
{ s 1 5 1 } box
}
rule box2 {
{ s 5 1 1 } box
}
rule box2 {
}
New Feature: Minsize and Maxsize
Structure Synth terminates the recursion if the number of objects is greater than the given threshold ('set maxobjects ...') or if the recursion depth becomes greater than the maximum depth ('set maxdepth ...'). It is also possible to set a maxdepth for an individual rule ('rule R1 maxdepth 5').
I've added two new rules for controlling the termination.
'set minsize {size}' and 'set maxsize {size}' allows you to specify how large or small a given object can be before terminating. The 'size' parameter refers to the length of the diagonal of a unit cube in the current local state. (The initial coordinate frame goes from (0,0,0) to (1,1,1) and hence has a diagonal length of sqrt(3)~1.7). It is possible to specify both a mix and a min size. The termination criteria only stops the current branch - if other branches are still within a valid range, the will be continued.
This is very useful for preventing Structure Synth from creating boxes which cannot be seen anyway or from growing without bounds.
The image shows the same structure at three different minimum size tresholds.
Example script (requires a post-version 0.9 of Structure Synth!):
set minsize 0.8 // or 0.4, or 0.2
set maxdepth 600
set background #333
{ h 30 sat 0.2 h -67 b 0.8 } spiral
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 1 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue -1 rz -90 s 0.995 b 0.999 } spiral
}
rule spiral w 100 {
box2
{ y 0.4 rx 90 hue 0 rz 90 s 0.995 b 0.995 } spiral
}
rule spiral w 3 {
{ rz 5 s 1 1 1 } spiral
{ ry 4 h 3 s 1 1 1 } spiral
}
rule box2 {
{ s 1 5 1 } box
}
rule box2 {
{ s 5 1 1 } box
}
rule box2 {
}