startshape familytree
rule familytree 0.5{
wait_bm_nr { } line2 {x -1 s 0.6} line2 {x -2 s 0.6} female1 {x -3.1} line2 {r 90 y -1 x -1.6} BASTARD_children {x -1.6 y -2 b 0.7 s 0.9}
}
rule BASTARD_children {
bm_nr { }
}
rule wait_bm_nr {
wait_bm_nr { }
} rule wait_bm_nr 0.001{
bm_nr { }
}
rule familytree {
bm_nr { }
}
rule bm_nr {
male2 { } female1 {x 1.15} line2 {r 90 y -1 x 0.6} children {x 0.6 y -2}
}
rule children { two_children { } } rule children { three_children { } } rule children { five_children { } } rule children { child_eitherway { } }
rule two_children {
line2 { } line {r 90 x -0.993 y -0.5} line {r 90 x 0.993 y -0.5} child {x 1 y -1} child {x -1 y -1 flip 90}
}
rule three_children {
line2 {x -1} line2 {x 1} line {r 90 x -1.993 y -0.5} line {r 90 x 1.993 y -0.5} line {r 90 x 0 y -0.5} child {x 2 y -1} child {x -2 y -1 flip 90} child_eitherway {x 0 y -1}
}
rule five_children 0.5 {
line2 {x -1} line2 {x 1} line {r 90 x -1.993 y -0.5} line {r 90 x 1.993 y -0.5} line {r 90 x -1 y -0.5} line {r 90 x 0 y -0.5} line {r 90 x 1 y -0.5} child {x 2 y -1 s 0.6} child {x 1 y -1 s 0.6} child {x -2 y -1 flip 90 s 0.6} child {x -1 y -1 flip 90 s 0.6} child_eitherway {x 0 y -1 s 0.6}
}
rule child {
bm_nr {s 0.7}
}
// DEATH! rule child 0.2 { female2 {s 0.8}} rule child 0.2 { male2 {s 0.8 }}
rule child_eitherway { child { } } rule child_eitherway { child {flip 90 } }
######################
rule male1 {
SQUARE { } SQUARE {s 0.9 b 1}
}
rule male2 {
SQUARE {s 1.9} man {s 0.1 b 1 } }
rule female1 {
CIRCLE {b 0.4 } CIRCLE {s 0.9 b 0.8}
}
rule female2 { female1 { } }
rule line {SQUARE {s 1 0.02} }
rule line2 {
line {x -0.5} line {x 0.5}
}
#############################
rule man {
segment {rotate 90} CIRCLE {s 5 y 6.5} double_rotated_segment { r -120} double_rotated_segment {y 4.2 s 0.8} double_rotated_segment {r -60 } double_rotated_segment {y 4.2 r 180 s 0.8}
}
rule pupil 0.1 {
CIRCLE {x 0.1 y 0.1}
} rule pupil {
pupil {r 45}
} rule pupil {
pupil {r -45}
}
rule segment {
CIRCLE {} SQUARE {x 0.5} SQUARE {x 1.5} SQUARE {x 2.5} SQUARE {x 3.5} CIRCLE {x 4}
}
rule rotated_segment {
rotated_segment {r -9 }
} rule rotated_segment {
rotated_segment {r 10 }
} rule rotated_segment 0.3 {
segment { }
}
rule double_rotated_segment {
double_rotated_segment {r 9}
}
rule double_rotated_segment {
double_rotated_segment {r -10}
}
rule double_rotated_segment 0.3 {
segment { } rotated_segment {x 4}
}