rule "Free Triangle (1)"

quality 1

mappoints
(0, 0);
(1, 0) { 1.0, 0, 1.0 };

maplines
(1, 2) del;

newpoints
(0.5, 0.866) { 0.5 X2 } { };

newlines
(1, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.7) { 0.5 X2 } { };
(0.5, 1.5) { 0.5 X2 } { };
(-0.5, 0.7) { 0.5 X2 } { };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.866) { 0.5 X2 } { };
(0.5, 0.866) { 0.5 X2 } { };
(0.5, 0.866) { 0.5 X2 } { };


elements
(1, 2, 3);

endrule


rule "Free Triangle (5)"

quality 5

mappoints
(0, 0);
(1, 0) { 1.0, 0, 1.0 };

maplines
(1, 2) del;

newpoints
(0.5, 0.5) { 0.5 X2 } { };

newlines
(1, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.7) { 1 X2 } { };
(0, 0.7) { } { };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.5) { 0.5 X2 } { };
(0.5, 0.5) { 0.5 X2 } { };


elements
(1, 2, 3);

endrule




rule "Free Triangle (10)"

quality 10

mappoints
(0, 0);
(1, 0) { 1.0, 0, 1.0 };

maplines
(1, 2) del;

newpoints
(0.5, 0.3) { 0.5 X2 } { };

newlines
(1, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.5) { 1 X2 } { };
(0, 0.5) { } { };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.3) { 0.5 X2 } { };
(0.5, 0.3) { 0.5 X2 } { };


elements
(1, 2, 3);

endrule




rule "Free Triangle (20)"

quality 20

mappoints
(0, 0);
(1, 0) { 1.0, 0, 1.0 };

maplines
(1, 2) del;

newpoints
(0.5, 0.1) { 0.5 X2 } { };

newlines
(1, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1, 0.2) { 1 X2 } { };
(0, 0.2) { } { };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.1) { 0.5 X2 } { };
(0.5, 0.1) { 0.5 X2 } { };


elements
(1, 2, 3);

endrule









rule "Right 60 (1)"

quality 1

mappoints
(0, 0);
(1, 0) { 0.5, 0, 1.0 };
(0.5, 0.866) { 0.6, 0, 0.8 };

maplines
(1, 2) del;
(2, 3) del;

newpoints

newlines
(1, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(-0.125, 0.6495) { -0.5 X2, 0.75 X3 } { -0.5 Y2, 0.75 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(0.25, 0.433) { 0.5 X3 } { 0.5 Y3 };

elements
(1, 2, 3);

endrule



rule "Left 60 (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(0.5, 0.866);

maplines
(1, 2) del;
(3, 1) del;

newpoints

newlines
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.125, 0.6495) { 0.75 X2, 0.75 X3 } { 0.75 Y3 };
(0.5, 0.866) { 1 X3 } { 1 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.75, 0.433) { 0.5 X2, 0.5 X3 } { 0.5 Y2, 0.5 Y3 };
(0.5, 0.866) { 1 X3 } { 1 Y3 };

elements
(1, 2, 3);

endrule




rule "Right 120 (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(1.5, 0.866);

maplines
(1, 2) del;
(2, 3) del;

newpoints
(0.5, 0.866) { 1 X3, -1 X2 } { 1 Y3 };

newlines
(1, 4);
(4, 3);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.866) { 1 X3 } { 1 Y3 };
(1, 1.732) { -2 X2, 2 X3 } { 2 Y3 };
(0, 1.732) { -3 X2, 2 X3 } { 2 Y3 };
(-0.5, 0.866) { -2 X2, 1 X3 } {1 Y3 };

elements
(1, 2, 4);
(2, 3, 4);

endrule




rule "Left 120 (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(-0.5, 0.866);

maplines
(1, 2) del;
(3, 1) del;

newpoints
(0.5, 0.866) { 1 X3, 1 X2 } { 1 Y3 };

newlines
(3, 4);
(4, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.866) { 2 X2, 1 X3 } { 1 Y3 };
(1, 1.732) { 2 X2, 2 X3 } { 2 Y3 };
(0, 1.732) { 1 X2, 2 X3 } { 2 Y3 };
(-0.5, 0.866) { 1 X3 } {1 Y3 };

elements
(1, 2, 4);
(1, 4, 3);

endrule




rule "Left Right 120 (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(-0.5, 0.866);
(1.5, 0.866);

maplines
(1, 2) del;
(3, 1) del;
(2, 4) del;

newpoints
(0.5, 0.866) { 0.5 X3, 0.5 X4 } { 0.5 Y3, 0.5 Y4 };

newlines
(3, 5);
(5, 4);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.5, 0.866) { 1 X4 } { 1 Y4 };
(1, 1.299) { -0.5 X2, 0.375 X3, 1.125 X4 } { -0.5 Y2, 0.375 Y3, 1.125 Y4 };
(0, 1.299) { 1.125 X3, 0.375 X4 } { 1.125 Y3, 0.375 Y4 };
(-0.5, 0.866) { 1 X3 } { 1 Y3 };

elements
(1, 2, 5);
(3, 1, 5);
(2, 4, 5);

endrule


rule "Fill Triangle"

quality 1

mappoints
(0, 0);
(1, 0);
(0.5, 0.866);

maplines
(1, 2) del;
(2, 3) del;
(3, 1) del;

newpoints

newlines

freearea
(0, 0);
(1, 0) { 1 X2 } { 1 Y2 };
(0.5, 0.866) { 1 X3 } { 1 Y3 };

elements
(1, 2, 3);

endrule




rule "Vis A Vis (1)"

quality 1

mappoints
(0, 0);
(1, 0);
(0.5, 0.866);

maplines
(1, 2) del;

newpoints

newlines
(1, 3);
(3, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { };
(1.2, 0.693) { 0.8 X2, 0.8 X3 } { 0.8 Y2, 0.8 Y3 };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(-0.2, 0.693) { -0.6 X2, 0.8 X3 } { -0.6 Y2, 0.8 Y3 };

freearea2
(0, 0);
(1, 0) { 1 X2 } { };
(0.75, 0.433) { 0.5 X2, 0.5 X3 } { 0.5 Y2, 0.5 Y3 };
(0.5, 0.866) { 1 X3 } { 1 Y3 };
(0.25, 0.433) { 0.5 X3 } { 0.5 Y3 };

elements
(1, 2, 3);

endrule






rule "2 h Vis A Vis (1)"

quality 3

mappoints
(0, 0);
(1, 0);
(1, 1.732);
(0, 1.732);

maplines
(1, 2) del;
(3, 4) del;

newpoints
(0.5, 0.866) { 0.25 X2, 0.25 X3, 0.25 X4 } { 0.25 Y2, 0.25 Y3, 0.25 Y4 };

newlines
(1, 5);
(5, 4);
(3, 5);
(5, 2);

freearea
(0, 0);
(1, 0) { 1 X2 } { 1 Y2 };
(1.5, 0.866) { 0.75 X2, 0.75 X3, -0.25 X4 } { 0.75 Y2, 0.75 Y3, -0.25 Y4 };
(1, 1.732) { 1 X3 } { 1 Y3 };
(0, 1.732) { 1 X4 } { 1 Y4 };
(-0.5, 0.866) { 0.75 X4, -0.25 X2, -0.25 X3 } { 0.75 Y4, -0.25 Y3 };

elements
(1, 2, 5);
(3, 4, 5);

endrule