summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp134
1 files changed, 134 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp b/Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp
new file mode 100644
index 00000000000..182c6e4120e
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/nulldefectanglexample.mp
@@ -0,0 +1,134 @@
+% nulldefectanglexample.mp
+% L. Nobre G.
+% 2012
+
+input featpost3Dplus2D;
+
+prologues := 1;
+
+beginfig(1);
+ color po[];
+ numeric ta, tb;
+ pen stroke;
+ stroke = pencircle scaled 3pt;
+ ta = sind(36)/cosd(36);
+ tb = sind(18)/cosd(18);
+ po1 = (1,ta,0);
+ po2 = (-1,ta,0);
+ po3 = (-1,tb,0);
+ po4 = (-1,-ta,0);
+ po5 = (0,-ta,0);
+ po6 = (1,-ta,0);
+ po7 = (1,0,0);
+ path frame;
+ frame = rp(po1)--rp(po2)--rp(po4)--rp(po6)--cycle;
+ unfill frame;
+ drawoptions( withpen stroke );
+ draw frame;
+ drawoptions( dashed evenly );
+ draw rp(black)--rp(po1);
+ draw rp(black)--rp(po3);
+ draw rp(black)--rp(po5);
+ draw rp(black)--rp(po7);
+endfig;
+
+beginfig(2);
+ numeric parang, refdista, refdistb, auxa, auxb;
+ parang = 55;
+ refdista = conorm(po1-po3);
+ refdistb = 1 ++ ta;
+ auxa = (ta-tb)*sind(18);
+ auxb = (ta-tb)*cosd(18);
+ po7 := (cosd(parang),0,-sind(parang));
+ po6 := po7+po5;
+ po1 := improvertex( black, refdistb, po7, ta, po3, refdista, po1 );
+ po8 = po3+N(po3)*auxa;
+ po2 := po8+auxb*ncrossprod(po3,ccrossprod(po1,po3));
+ drawoptions( withpen stroke );
+ path a, b, c, d;
+ a = rp(black)--rp(po3)--rp(po4)--rp(po5)--cycle;
+ b = rp(black)--rp(po5)--rp(po6)--rp(po7)--cycle;
+ c = rp(black)--rp(po7)--rp(po1)--cycle;
+ d = rp(black)--rp(po1)--rp(po2)--rp(po3)--cycle;
+ unfill a; draw a;
+ unfill b; draw b;
+ unfill c; draw c;
+ unfill d; draw d;
+endfig;
+
+beginfig(3);
+ numeric a, b, c, i, j;
+ a = 0.5;
+ b = 0.5*sqrt(3);
+ V1 := (b,-a,a);
+ V2 := (2*b,-a,0);
+ V3 := (b,a,a);
+ V4 := (2*b,a,0);
+ V5 := (b,a,0);
+ V6 := (0,1,0);
+ c = 6;
+ for j=1 upto 2:
+ for i=1 upto 6:
+ c := incr(c);
+ V[c] := rotvecaroundanother( j*120, V[i], blue );
+ endfor;
+ endfor;
+ makeface1(1,3,7,9,13,15);
+ makeface2(1,2,4,3);
+ makeface3(3,4,5);
+ makeface4(3,5,6,7);
+ makeface5(7,6,8);
+ makeface6(7,8,10,9);
+ makeface7(9,10,11);
+ makeface8(9,11,12,13);
+ makeface9(13,12,14);
+ makeface10(13,14,16,15);
+ makeface11(15,16,17);
+ makeface12(15,17,18,1);
+ makeface13(1,18,2);
+ f := (5,0.9,9);
+ draw_invisible( false, false, white, black );
+endfig;
+
+beginfig(4);
+ numeric bsang, dista, distb, distc, distd, verdi, hordi, si, co;
+ color cauxa, cauxb, cauxd;
+ bsang = 15;
+ cauxa = (-1-sind(22),-1-cosd(22),1);
+ cauxb = (-1-cosd(22),-1-sind(22),1);
+ cauxd = (1+cosd(15),sind(15)-1,1);
+ V1 := (-1,1,1);
+ V2 := (-1,-1,1);
+ distc = conorm(V2-cauxb);
+ V3 := (1,-1,1);
+ dista = conorm(cauxa-V3);
+ V4 := (1,1,1);
+ distd = conorm(V4-cauxd);
+ V6 := (-1-cosd(bsang)*cosd(22),1+sind(22),1-sind(bsang)*cosd(22));
+ V7 := (-1-cosd(bsang)*cosd(22),-1-sind(22),1-sind(bsang)*cosd(22));
+ distb = conorm(cauxa-cauxb);
+ V8 := improvertex( V3, dista, V7, distb, V2, distc, cauxb-(0,0,0.5) );
+ V5 := (X(V8),-Y(V8),Z(V8));
+ verdi = 1-Z(V8);
+ hordi = Y(V8)+1;
+ si = verdi/(verdi++hordi);
+ co = hordi/(verdi++hordi);
+ V9 := (1+0.5*sqrt(2),-1+0.5*sqrt(2)*co,1-0.5*sqrt(2)*si);
+ V10 := improvertex( V9, 1, V3, 1, V4, distd, (1,-1,0) );
+ V11 := (X(V10),-Y(V10),Z(V10));
+ V12 := (X(V9),-Y(V9),Z(V9));
+ NF := 0;
+ makeface1(1,2,3,4);
+ makeface2(1,5,6);
+ makeface3(1,2,7,6);
+ makeface4(2,7,8);
+ makeface5(2,3,9,8);
+ makeface6(3,9,10);
+ makeface7(3,4,11,10);
+ makeface8(4,11,12);
+ makeface9(1,5,12,4);
+ f := (9,2,5);
+ draw_invisible( false, false, white, black );
+endfig;
+
+end. \ No newline at end of file