!<arch>
al1.i           384732867   91    2805  100644  4900      `
.IS
...libfile arc
triangle {
var a, b, c;
a = (-1,0);
b = (1,0);
c = (0,1);
conn a to b to c to a;
bdlist = a, ^(-1,1), c, b;
}
.IE

.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque interior;
}
'version 18' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque exterior;
}
'version 19' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque interior;
}
'version 20' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque exterior;
}
'version 21' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque interior;
}
'version 22' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque exterior;
}
'version 23' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque interior;
}
'version 24' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque exterior;
}
'version 25' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque interior;
}
'version 26' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque exterior;
}
'version 27' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque interior;
}
'version 28' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque exterior;
}
'version 29' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 30' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 31' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 32' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 33' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 34' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 35' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 36' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 37' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque interior;
}
'version 38' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque exterior;
}
'version 39' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque interior;
}
'version 40' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque exterior;
}
'version 41' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque interior;
}
'version 42' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque exterior;
}
'version 43' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque interior;
}
'version 44' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque exterior;
}
'version 45' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque interior;
}
'version 46' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque exterior;
}
'version 47' at (0,-4);
}
.IE
al2.i           384732870   91    2805  100644  4908      `
.IS
...libfile arc
triangle {
var a, b, c;
a = (-1,0);
b = (0,1);
c = (1,0);
conn a to b to c to a;
bdlist = a, ^(-1,1), b, ^(1,1), c;
}
.IE

.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque interior;
}
'version 18' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque exterior;
}
'version 19' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque interior;
}
'version 20' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque exterior;
}
'version 21' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque interior;
}
'version 22' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque exterior;
}
'version 23' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque interior;
}
'version 24' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque exterior;
}
'version 25' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque interior;
}
'version 26' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque exterior;
}
'version 27' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque interior;
}
'version 28' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque exterior;
}
'version 29' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 30' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 31' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 32' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 33' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 34' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 35' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 36' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 37' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque interior;
}
'version 38' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque exterior;
}
'version 39' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque interior;
}
'version 40' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque exterior;
}
'version 41' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque interior;
}
'version 42' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque exterior;
}
'version 43' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque interior;
}
'version 44' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque exterior;
}
'version 45' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque interior;
}
'version 46' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque exterior;
}
'version 47' at (0,-4);
}
.IE
al3.i           384732876   91    2805  100644  4902      `
.IS
triangle {
var a, b, c;
a = (-1,0);
b = (1,0);
c = (0,1);
conn a to b to c to a;
bdlist = a, ^(0,-1), b, ^(1,1), c, ^(-1,1);
}
.IE

.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque interior;
}
'version 18' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque exterior;
}
'version 19' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque interior;
}
'version 20' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque exterior;
}
'version 21' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque interior;
}
'version 22' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque exterior;
}
'version 23' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque interior;
}
'version 24' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque exterior;
}
'version 25' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque interior;
}
'version 26' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque exterior;
}
'version 27' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque interior;
}
'version 28' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque exterior;
}
'version 29' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 30' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 31' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 32' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 33' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 34' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 35' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 36' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 37' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque interior;
}
'version 38' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque exterior;
}
'version 39' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque interior;
}
'version 40' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque exterior;
}
'version 41' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque interior;
}
'version 42' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque exterior;
}
'version 43' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque interior;
}
'version 44' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque exterior;
}
'version 45' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque interior;
}
'version 46' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque exterior;
}
'version 47' at (0,-4);
}
.IE
arcs.i          384732879   91    2805  100644  813       `
arcs
.nf
.IS
...radians
...libfile a
main{
a1:put arc{start = 6; midway = (5,-1); end = 4;};
a2:put arc{start = (1,-3); midang = 3.14159/2; end = (0,-4);im(center) = -3;};
a3:put arc{center = (4.5,-3); radius = 1.2; startang = 2; endang = 3;};
a4:put arc{center = (3,-6); start = (4,-5); endang = 0; midang = 3.14159;};
put b1: arc {center = 0; radius = 0.25; startang = 1; midang = 0.5; endang = 0;};
put b2: arc {center = 0; radius = 0.5; startang = 1; midang = 0; endang = 0.5;};
put b3: arc {center = 0; radius = 0.75; startang = 0.5; midang = 1; endang = 0;};
put b4: arc {center = 0; radius = 1; startang = 0; midang = 1; endang = 0.5;};
put b5: arc {center = 0; radius = 1.25; startang = 0.5; midang = 0; endang = 1;};
put b6: arc {center = 0; radius = 1.5; startang = 0; midang = 0.5; endang = 1;};
}
.IE

arrow.i         384732880   91    2805  100644  445       `
arrow
.nf
.IS
...radians
box arrow{var start, end, headvec, head;
headvec = end + head*(start - end)/abs(start - end);
conn start to end;
conn end to end + cis(3.14159/8)*(headvec - end);
conn end to end + cis(-3.14159/8)*(headvec - end);
}

box main{
put arrow{head = 0.25;start = 0; end = (1,-1);};
put arrow{head = 0.5; start = (0,-2); end = (1,-1.2);};
put arrow{head = 0.2; start = (2,-2); end = (0.1,-2.3);};
}
.IE
.IS
...forget arrow
.IE

boxes.i         384732881   91    2805  100644  581       `
.IS
...libfile rect
main {
	conn (-2,-2) to (2,2);
	put rect {
		sw = (-1,-1);
		ht = 1.5;
		wd = 1/2;
		opaque interior;
	};
}
.IE
.IS
...libfile rect
main {
	conn (2,2) to (-2,-2);
	put rect {
		sw = (-1,-1);
		ht = 1.5;
		wd = 1/2;
		opaque exterior;
	};
}
.IE
.IS
...libfile rect
main {
 conn (-2,-1) to (2,-1);
	conn -2 to 2;
	conn (-2,1) to (2,1);
	put rect {
		sw = (-1,-1);
		ht = 1.5;
		wd = 1/2;
		opaque interior;
	};
}
.IE
.IS
...libfile rect
...width 0.5
main {
	conn (-1,-2) to (-1,2);
	put rect {
		sw = (-1,-1);
		ht = 1.5;
		wd = 1/2;
		opaque interior;
	};
}
.IE

boxgrid.i       384732881   91    2805  100644  710       `
boxgrid
.nf
.IS
...minx -1.5
...maxy 1.5
...maxx 1.5
...miny -1.5
gridline {
	var a,b;
	var neg, pos;
	conn 0.5*(a+b) - neg to 0.5*(a+b) + pos;
}
rect {
	var ne, nw, sw, se;
	var ht, wd;
	var cen;
	se = sw + wd;
	ne = nw + wd;
	ne = se + (0,1)*ht;
	bdlist = ne, nw, sw, se;
	cen = 0.5*(ne+sw);
}
main{
	conn (0,-1) to (0,1) using 5 gridline {neg = 1; pos = 1;} <a,b>;
	conn (-1,0) to (1,0) using 5 gridline {neg = (0,1); pos = (0,1);} <a,b>;
	put rect{
		ht = wd = 0.5;
		cen = (0,-0.5);
		opaque;
	};
	put rect{
		ht = wd = 0.5;
		cen = (0,0.5);
		opaque;
	};
	put rect{
		ht = wd = 0.5;
		cen = 0.5;
		opaque;
	};
	put rect{
		ht = wd = 0.5;
		cen = -0.5;
		opaque;
	};
}
.IE
.IS
...forget rect gridline
.IE
bud.i           384732883   91    2805  100644  4506      `
.IS
triangle
{
var a, b, c, d, e;
a = 0;
b = c/2;
c = (0,2);
d = (-1,1);
e = (0.5,0.5);
bdlist = a, ^e, b, c, ^d;
}
.IE
.IS
main {
conn -1 to 1;
'version 0' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn -1 to 1;
'version 1' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 2' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 3' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 4' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 5' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 6' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 7' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 8' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 9' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 10' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 11' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,1);
'version 12' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,1);
'version 13' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to (0,-1);
'version 14' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to (0,-1);
'version 15' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 16' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 17' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 18' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 19' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 20' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 21' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 22' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 23' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 0 to (0,2);
'version 24' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 0 to (0,2);
'version 25' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to 0;
'version 26' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to 0;
'version 27' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-2,1) to (1,1);
'version 28' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-2,1) to (1,1);
'version 29' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,1) to (-2,1);
'version 30' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,1) to (-2,1);
'version 31' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 32' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 33' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 34' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 35' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 36' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 37' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 38' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 39' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 40' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 41' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 42' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 43' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 44' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 45' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 46' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 47' at -2;
put triangle {
opaque exterior;
}
}
.IE
buda.i          384732887   91    2805  100644  1818      `
.IS
...libfile circle
triangle
{
var a, b, c, d, e;
a = 0;
b = c/2;
c = (0,2);
d = (-1,1);
e = (0.5,0.5);
bdlist = a, ^e, b, c, ^d;
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (0,-.5);
}
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (0,-.5);
}
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,-.5);
}
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,-.5);
}
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,1);
}
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,1);
}
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,1);
}
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,1);
}
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (-.5,1.5);
}
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (-.5,1.5);
}
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
camel.i         384732889   91    2805  100644  4767      `
.IS
camel
{
var a, b, c, d, e, f;
a = (0,-1);
b = (-0.5,-0.5);
c = 0;
d = (-1,1);
e = (0,2);
f = (1,1);
bdlist = a, b, c, d, e, f;
}
.IE
.IS
main {
conn -1 to 1;
'version 0' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn -1 to 1;
'version 1' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 2' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 3' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-2) to (0,3);
'version 4' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-2) to (0,3);
'version 5' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-2);
'version 6' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-2);
'version 7' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 8' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 9' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 10' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 11' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 12' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 13' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 14' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 15' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 16' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 17' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 18' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 19' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 20' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 21' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 22' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 23' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-2,1) to (2,1);
'version 24' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-2,1) to (2,1);
'version 25' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (2,1) to (-2,1);
'version 26' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (2,1) to (-2,1);
'version 27' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (2,1);
'version 28' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (2,1);
'version 29' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (2,1) to (-1,1);
'version 30' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (2,1) to (-1,1);
'version 31' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 32' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 33' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 34' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 35' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 36' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 37' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 38' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 39' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 40' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 41' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 42' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 43' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 44' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 45' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 46' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 47' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (-2,-2) to (2,-2);
'version 48' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (-2,-2) to (2,-2);
'version 49' at -2;
put camel {
opaque exterior;
}
}
.IE
.IS
main {
conn (2,-2) to (-2,-2);
'version 50' at -2;
put camel {
opaque interior;
}
}
.IE
.IS
main {
conn (2,-2) to (-2,-2);
'version 51' at -2;
put camel {
opaque exterior;
}
}
.IE

circles.i       384732891   91    2805  100644  441       `
circles
.nf
.IS
...radians
...libfile c
main{
c1:put circle{radius = 0.5; center = (4,-2);};
c2:put circle{center = 3; z1 = 2;};
c3:put circle{center = 4; z2 = (3,1);};
c4:put circle{center = 2; z3 = (1.4,1.6);};
c5:put circle{z1 = 2.4; z2 = 1.7; z3 = (2.3,2.3);};
c6:put circle{z1 = (2,3); z2 = (4,6); re(center) = 3;};
c7:put circle{z1 = (3,2); z3 = (6,4); im(center) = 3;};
c8:put circle{z2 = (1,-1); z3 = (-1,1); im(center) = 0;};
}
.IE

clean           384732892   91    2805  100755  16        `
rm *.diff *.new
fan.i           384732892   91    2805  100644  195       `
fan
.nf
.IS
fan{
var x;
var b;
conn x to y0;
conn x to y1;
conn x to y2;
}
main{
var y0,y1,y2;
y0 = (2,2);
y1 = y0 + 1;
y2 = y1 + 1;
conn 2 to 5 using 3 fan {} <x,b>;
}
.IE
.IS
...forget fan
.IE

horn.i          384732893   91    2805  100644  4500      `
.IS
triangle
{
var a, b, c, d, e;
a = 0;
b = c/2;
c = (0,2);
d = (-1,1);
e = d/2;
bdlist = a, ^e, b, c, ^d;
}
.IE
.IS
main {
conn -1 to 1;
'version 0' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn -1 to 1;
'version 1' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 2' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 1 to -1;
'version 3' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 4' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,3);
'version 5' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 6' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,3) to (0,-1);
'version 7' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 8' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,2);
'version 9' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 10' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (0,-1);
'version 11' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,1);
'version 12' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,1);
'version 13' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to (0,-1);
'version 14' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to (0,-1);
'version 15' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 16' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,-1) to (0,.5);
'version 17' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 18' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,.5) to (0,-1);
'version 19' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 20' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 0 to (0,1);
'version 21' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 22' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to 0;
'version 23' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn 0 to (0,2);
'version 24' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn 0 to (0,2);
'version 25' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to 0;
'version 26' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to 0;
'version 27' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-2,1) to (1,1);
'version 28' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-2,1) to (1,1);
'version 29' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,1) to (-2,1);
'version 30' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,1) to (-2,1);
'version 31' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 32' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (1,1);
'version 33' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 34' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,1) to (-1,1);
'version 35' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 36' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,1) to (0,1);
'version 37' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 38' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,1) to (-1,1);
'version 39' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 40' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (1,2);
'version 41' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 42' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (1,2) to (-1,2);
'version 43' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 44' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (-1,2) to (0,2);
'version 45' at -2;
put triangle {
opaque exterior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 46' at -2;
put triangle {
opaque interior;
}
}
.IE
.IS
main {
conn (0,2) to (-1,2);
'version 47' at -2;
put triangle {
opaque exterior;
}
}
.IE
horna.i         384732898   91    2805  100644  1812      `
.IS
...libfile circle
triangle
{
var a, b, c, d, e;
a = 0;
b = c/2;
c = (0,2);
d = (-1,1);
e = d/2;
bdlist = a, ^e, b, c, ^d;
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (0,-.5);
}
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (0,-.5);
}
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,-.5);
}
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,-.5);
}
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,1);
}
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,1);
}
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,1);
}
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,1);
}
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (-.5,1.5);
}
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (-.5,1.5);
}
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
norm.i          384732899   91    2805  100644  403       `
norm
.nf
.IS
...minx -1.5
...maxy 1.5
...maxx 1.5
...miny -1.5
...libfile hole
gridline {
	var a,b;
	var neg, pos;
	conn 0.5*(a+b) - neg to 0.5*(a+b) + pos;
}
main{
	conn (1,0) to (1,-1) using 10 gridline {neg = 1; pos = 0;} <a,b>;
	conn (0,-1) to (1,-1) using 10 gridline {neg = 0; pos = (0,1);} <a,b>;
	put hole{
		radius = 1;
		center = (0,0);
		opaque exterior;
	};
}
.IE
.IS
...forget gridline
.IE

opqcirc.i       384732900   91    2805  100644  259       `
opqcirc
.nf
.IS
...libfile circle
main{
	conn -3 to 3;
	put circle {
		center = 0;
		radius = 0.5;
	};
	put circle {
		center = 0.5;
		radius = 1;
	};
	put circle {
		center = 3;
		radius = 1;
	};
	put circle {
		center = 0;
		radius = 1;
		opaque;
	};
}
.IE

pa.i            384732902   91    2805  100644  2680      `
.IS
...libfile arc
triangle {
var a, b, c;
a = (-1,0);
b = (0,1);
c = (1,0);
bdlist = a, b, c;
}
.IE

.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .25;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .25;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .5;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .5;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .75;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .75;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 2;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 2;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .5;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .5;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .25;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = .25;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1;
center = 2;
}
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1;
center = 2;
}
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1.5;
center = 2;
}
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 0;
endang = 180;
radius = 1.5;
center = 2;
}
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
pa2.i           384732907   91    2805  100644  2680      `
.IS
...libfile arc
triangle {
var a, b, c;
a = (-1,0);
b = (0,1);
c = (1,0);
bdlist = a, b, c;
}
.IE

.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .25;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .25;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .5;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .5;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .75;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .75;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 2;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 2;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .5;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .5;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .25;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = .25;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1;
center = 2;
}
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1;
center = 2;
}
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1.5;
center = 2;
}
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
put arc {
startang = 180;
endang = 0;
radius = 1.5;
center = 2;
}
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
pc.i            384732909   91    2805  100644  2233      `
.IS
...libfile circle
triangle {
var a, b, c;
a = (-1,0);
b = (0,1);
c = (1,0);
bdlist = a, b, c;
}
.IE

.IS
main {
put circle {
radius = .25;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .75;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 2;
center = (0,.5);
}
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 2;
center = (0,.5);
}
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .5;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (1,1);
}
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = .25;
center = (1,1);
}
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = 2;
}
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1;
center = 2;
}
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1.5;
center = 2;
}
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
put circle {
radius = 1.5;
center = 2;
}
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE

pen.i           384732910   91    2805  100644  603       `
pen
.nf
.IS
box wavy{
    /* perp is a unit vector normal
       to (end - start) */
    var start, end,
        ht, perp, pt1, pt2;
    pt1 = start + (end - start)/4 + ht*perp;
    pt2 = start + 3/4*(end - start) - ht*perp;
    perp = (0,1)*(end - start)/abs(diff);
	var diff;
	diff = end - start;
    conn start to pt1;
    conn pt1 to pt2;
    conn pt2 to end;
    }

box main{
    var a,b,c,d;
    a = (0.0,-4.5);
    b = a + 1;
    c = b + (1,1);
    d = c + 1;
    conn a to b;
    conn b to c using 5*int(abs(b-c)) wavy {ht = 0.05;} <start,end>;
    conn c to d;
    }
.IE
.IS
...forget wavy
.IE

pents.i         384732911   91    2805  100644  722       `
pents
.nf
.IS
...degrees
box pentagon
{
	var pt1, pt2, pt3, pt4, pt5;
	var radius, center;
	pt1 = center + radius;
	pt2 = center + cis (72)*radius;
	pt3 = center + cis (144)*radius;
	pt4 = center + cis (-144)*radius;
	pt5 = center + cis (-72)*radius;
	conn pt1 to pt2;
	conn pt2 to pt3;
	conn pt3 to pt4;
	conn pt4 to pt5;
	conn pt5 to pt1;
	bdlist = 1.1[center, pt1],
		1.1[center, pt2],
		1.1[center, pt3],
		1.1[center, pt4],
		1.1[center, pt5]
	;
}
main
{
	put P1:pentagon{center = (1,0); radius = (0,0.25);};
	put P2:pentagon{pt3 = P1.pt4; radius = (0,0.5);opaque;};
	put P3:pentagon{pt3 = P2.pt4; radius = (0,0.75);opaque;};
	put P4:pentagon{pt3 = P3.pt4; radius = (0,1.0);opaque;};
}
.IE
.IS
...forget pentagon
.IE
pl.i            384732913   91    2805  100644  4876      `
.IS
triangle {
var a, b, c;
a = (-1,0);
b = (1,0);
c = (0,1);
conn a to b to c to a;
bdlist = a, b, c;
}
.IE

.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque interior;
}
'version 0' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (2,0);
put triangle {
opaque exterior;
}
'version 1' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque interior;
}
'version 2' at (0,-4);
}
.IE
.IS
main {
conn (2,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 3' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque interior;
}
'version 4' at (0,-4);
}
.IE
.IS
main {
conn (-2,0) to (1,0);
put triangle {
opaque exterior;
}
'version 5' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque interior;
}
'version 6' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-2,0);
put triangle {
opaque exterior;
}
'version 7' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque interior;
}
'version 8' at (0,-4);
}
.IE
.IS
main {
conn (-1,0) to (1,0);
put triangle {
opaque exterior;
}
'version 9' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque interior;
}
'version 10' at (0,-4);
}
.IE
.IS
main {
conn (1,0) to (-1,0);
put triangle {
opaque exterior;
}
'version 11' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque interior;
}
'version 12' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,-1);
put triangle {
opaque exterior;
}
'version 13' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque interior;
}
'version 14' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,2);
put triangle {
opaque exterior;
}
'version 15' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque interior;
}
'version 16' at (0,-4);
}
.IE
.IS
main {
conn (0,2) to (0,0);
put triangle {
opaque exterior;
}
'version 17' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque interior;
}
'version 18' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,2);
put triangle {
opaque exterior;
}
'version 19' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque interior;
}
'version 20' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,0);
put triangle {
opaque exterior;
}
'version 21' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque interior;
}
'version 22' at (0,-4);
}
.IE
.IS
main {
conn (0,0) to (0,1);
put triangle {
opaque exterior;
}
'version 23' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque interior;
}
'version 24' at (0,-4);
}
.IE
.IS
main {
conn (0,1) to (0,-1);
put triangle {
opaque exterior;
}
'version 25' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque interior;
}
'version 26' at (0,-4);
}
.IE
.IS
main {
conn (0,-1) to (0,1);
put triangle {
opaque exterior;
}
'version 27' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque interior;
}
'version 28' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (1,0.5);
put triangle {
opaque exterior;
}
'version 29' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 30' at (0,-4);
}
.IE
.IS
main {
conn (1,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 31' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 32' at (0,-4);
}
.IE
.IS
main {
conn (-1,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 33' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque interior;
}
'version 34' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-1,0.5);
put triangle {
opaque exterior;
}
'version 35' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque interior;
}
'version 36' at (0,-4);
}
.IE
.IS
main {
conn (-0.5,0.5) to (0.5,0.5);
put triangle {
opaque exterior;
}
'version 37' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque interior;
}
'version 38' at (0,-4);
}
.IE
.IS
main {
conn (0.5,0.5) to (-0.5,0.5);
put triangle {
opaque exterior;
}
'version 39' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque interior;
}
'version 40' at (0,-4);
}
.IE
.IS
main {
conn (3,-1) to (-3,-1);
put triangle {
opaque exterior;
}
'version 41' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque interior;
}
'version 42' at (0,-4);
}
.IE
.IS
main {
conn (-3,-1) to (3,-1);
put triangle {
opaque exterior;
}
'version 43' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque interior;
}
'version 44' at (0,-4);
}
.IE
.IS
main {
conn (-0.25,0.25) to (0.25,0.25);
put triangle {
opaque exterior;
}
'version 45' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque interior;
}
'version 46' at (0,-4);
}
.IE
.IS
main {
conn (0.25,0.25) to (-0.25,0.25);
put triangle {
opaque exterior;
}
'version 47' at (0,-4);
}
.IE
rect.i          384732917   91    2805  100644  506       `
rect
.nf
.IS
box rectangle{
    var se, sw,
        ne, nw,
        width, height;
    se = sw + width;
    nw = sw + (0,1)*height;
    ne = nw + width;
    conn sw to se;
    conn se to ne;
    conn ne to nw;
    conn nw to sw;
    }

box main{
    A:put rectangle{
	height = 1.75;
	width = 1.25;
	sw = (4.1, -1.5);
	};
    B:put rectangle{
	height = 1;
	width = 1.5;
	sw = (4,-1);
	opaque ;
	bdlist = sw, nw, ne, se;
	};
    spline A.nw to B.nw to A.ne to B.ne to A.sw to B.sw to A.se to B.se;
    }
.IE
regress         384732924   91    2805  100755  206       `
set -x
for i in al1 al2 al3 arcs arrow boxes boxgrid bud buda camel circles fan horn horna norm opqcirc pa pa2 pc pen pents pl rect rotsq tree
do
../a.out $i.i >$i.new
diff $i.new $i.out | tee $i.diff
done
rotsq.i         384732926   91    2805  100644  313       `
rotsq
.nf
.IS
box square{var ne, nw, se, sw;
ne = nw + size;
se = sw + size;
ne = se + (0,1)*size;
conn ne to se;
conn se to sw;
conn sw to nw;
conn nw to ne;
}

box main{var anchor;
anchor = (1.5,-3);
put square{var size;nw=anchor;size = (1,1);conn (nw + ne)/2 to 0.5*(sw + se);};
}
.IE
.IS
...forget square
.IE

tree.i          384732927   91    2805  100644  883       `
tree
.nf
.IS
box treenode
{
var ne, nw, sw, se,
    hook, lchild, rchild, cen;
ne = nw + width;
se = sw + width;
ne = se + (0,1)*height;
hook = (ne + nw)/2;
cen = (ne + sw)/2;
lchild = (sw + cen)/2;
rchild = (se + cen)/2;
conn ne to nw;
conn nw to sw;
conn sw to se;
conn se to ne;
conn (nw + sw)/2 to (ne + se)/2;
conn cen to (sw + se)/2;
}

box tree
{
var height, width;
height = ht/2;
width = 2*wd/3;
put node0:treenode{hook=root;};
put node1:treenode{hook=node0.hook-(0,1)*ht-wd;};
put node2:treenode{hook=node0.hook-(0,1)*ht+wd;};
put node3:treenode{hook=node2.hook-(0,1)*ht-wd;};
put node4:treenode{hook=node2.hook-(0,1)*ht+wd;};
conn node0.lchild to node1.hook;
conn node0.rchild to node2.hook;
conn node2.lchild to node3.hook;
conn node2.rchild to node4.hook;
}

box main
{
put T:tree{var root, ht, wd;
root = (1,-3);
ht = 1;
wd = 1;
};
}
.IE
.IS
...forget treenode tree
.IE

