summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp156
1 files changed, 156 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp b/Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp
new file mode 100644
index 00000000000..50e83637022
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/newexperimental.mp
@@ -0,0 +1,156 @@
+% newexperimental.mp
+% L. Nobre G.
+% 2004
+
+input featpost3Dplus2D;
+
+%verbatimtex
+%\documentclass{article}
+%\usepackage{beton}
+%\usepackage{concmath}
+%\usepackage{ccfonts}
+%\begin{document}
+%etex
+
+verbatimtex
+\documentclass{article}
+\usepackage{palatino}
+\begin{document}
+etex
+
+f := (4.5,-6,5);
+%f := (-4.5,-6,5);
+
+beginfig(1);
+ numeric len[], ray[];
+ color axe[], pos[], fix[], lab[];
+ color reflabpos, reflabpoi, lincolor;
+ picture txt[], dashpatt;
+ numeric inclang, aberang, sampang, stepang;
+ numeric squside, sqlevel, ul, outermagpos;
+ numeric innerray, polesep, fracone, fracsam;
+ numeric labelscale;
+ path tmpath, aupath, copath;
+
+ pickup pencircle scaled 1.2pt;
+ dashpatt = evenly scaled 3;
+ inclang = 150;
+ aberang = 17;
+ sampang = 30;
+ stepang = 20;
+ ul = 0.1;
+ labelscale = 5;
+ outermagpos = 30ul;
+ squside = outermagpos;
+ sqlevel = -20ul;
+ polesep = 15ul;
+ fracone = 0.33;
+ fracsam = 0.86;
+ ray1 = 10ul;
+ ray2 = 6ul;
+ ray3 = 8ul;
+ ray4 = 1.5ul;
+ ray5 = 4ul;
+ ray6 = 3ul;
+ ray7 = 3.5ul;
+ ray8 = 2ul;
+ len3 = 7ul;
+ len4 = 20ul;
+ len5 = 3ul;
+ len7 = 3.5ul;
+ len8 = 7ul;
+ lincolor = 0.5background;
+
+ reflabpos = ( -squside, 0, -sqlevel );
+ reflabpoi = ( -squside, squside, -sqlevel );
+ V1 := (squside,squside,-sqlevel);
+ V2 := (-squside,squside,-sqlevel);
+ V3 := (-squside,-squside,-sqlevel);
+ V4 := (squside,-squside,-sqlevel);
+% makeface1(1,2,3,4);
+% draw_all_test( false );
+
+ len1 = (1-fracone)*(outermagpos-ray5-polesep);
+ pos1 = (-outermagpos,0,0);
+ len2 = fracone*(outermagpos-ray5-polesep);
+ pos2 = (len1-outermagpos,0,0);
+ lab2 = reflabpos;
+ txt2 = thelabel.top( btex magnet etex scaled labelscale, rp( lab2 ) );
+ fix2 = (-outermagpos+0.5len1,0,ray1);
+ axe3 = ( 0, cosd( inclang ), sind( inclang ) );
+ pos3 = -( len3 + len4 + len5 )*axe3;
+ lab3 = (1-fracone)*reflabpoi+fracone*V1;
+ txt3 = thelabel.rt( btex rotor etex scaled labelscale, rp( lab3 ) );
+ axe4 = axe3;
+ pos4 = -( len4 + len5 )*axe4;
+ fix3 = pos4+fracsam*ray3*(0,cosd( inclang -90 ),sind( inclang -90 ));
+ axe5 = axe3;
+ pos5 = -( len5 )*axe5;
+ lab5 = (1-fracone)*reflabpoi+fracone*V2;
+ txt5 = thelabel.rt( btex sample etex scaled labelscale, rp(lab5) );
+ fix5 = fracsam*ray5*(0,cosd( inclang -90 ),sind( inclang -90 ));
+
+ V5 := fracsam*ray5*( sind( sampang ),
+ cosd( sampang )*cosd( inclang -90 ),
+ cosd( sampang )*sind( inclang -90 ) );
+ V6 := fracsam*ray5*( -sind( sampang ),
+ cosd( sampang )*cosd( inclang -90 ),
+ cosd( sampang )*sind( inclang -90 ) );
+ V8 := fracsam*ray5*( sind( sampang ),
+ -cosd( sampang )*cosd( inclang -90 ),
+ -cosd( sampang )*sind( inclang -90 ) );
+ V7 := fracsam*ray5*( -sind( sampang ),
+ -cosd( sampang )*cosd( inclang -90 ),
+ -cosd( sampang )*sind( inclang -90 ) );
+ axe6 = ( 0, cosd( inclang+aberang ), sind( inclang+aberang ) );
+ pos6 = ray1*axe6;
+ len6 = len4;
+ axe7 = ( 0, cosd( inclang-aberang ), sind( inclang-aberang ) );
+ pos7 = ( ray1 + 0.5len6 )*axe7;
+ lab6 = fracone*reflabpos+(1-fracone)*V3;
+ txt6=thelabel.lft(btex camera etex scaled labelscale,rp(lab6));
+ fix6 = pos6+len6*axe6;
+ pos8 = pos7+len7*axe7;
+ axe8 = axe7;
+ lab8 = (1-fracone)*reflabpos+fracone*V3;
+ txt8 = thelabel.lft( btex lamp etex scaled labelscale, rp( lab8 ) );
+ fix8 = pos8+len8*axe8;
+ len9 = len2;
+ pos9 = (ray5+polesep,0,0);
+ ray9 = ray2;
+ ray10 = ray1;
+ pos10 = pos9+len9*(1,0,0);
+ len10 = len1;
+
+ getready( "rigorousdisc( 0, true, pos1, ray1, len1*(1,0,0) )", pos1 );
+ getready( "whatisthis(pos2,ray1*green,ray1*blue,conorm((-ray5-polesep,0,0)-pos2),ray2/ray1)", pos2 );
+ getready( "rigorousdisc( 0, true, pos3, ray3, len3*axe3 )", pos3 );
+ getready( "rigorousdisc( 0, true, pos4, ray4, len4*axe4 )", pos4 );
+ getready( "rigorousdisc( 0, true, pos5, ray5, len5*axe5 )", pos5 );
+ getready( "draw rp(V5)--rp(V6)--rp(V7)--rp(V8)--cycle", black );
+ getready( "draw rp(pos6)--rp((0,0,0))--rp(pos7) dashed dashpatt",0.5*pos6);
+ getready( "rigorousdisc( 0, true, pos6, ray6, len6*axe6 )", pos6 );
+ getready( "whatisthis(pos7,ray7*red,-ray7*ncrossprod(red,axe7),conorm(pos8-pos7),ray8/ray7)", pos7 );
+ getready( "rigorousdisc( 0, true, pos8, ray8, len8*axe8 );", pos8 );
+ getready( "whatisthis(pos9,ray9*green,ray9*blue,conorm(pos10-pos9),ray10/ray9)", pos9 );
+ getready( "rigorousdisc( 0, true, pos10, ray10, len10*(1,0,0) )", pos10 );
+ doitnow;
+ draw llcorner txt2--lrcorner txt2--rp(fix2) withcolor lincolor;
+ draw lrcorner txt3--llcorner txt3--rp(fix3) withcolor lincolor;
+ draw lrcorner txt5--llcorner txt5--rp(fix5) withcolor lincolor;
+ draw llcorner txt6--lrcorner txt6--rp(fix6) withcolor lincolor;
+ draw llcorner txt8--lrcorner txt8--rp(fix8) withcolor lincolor;
+ draw txt2;
+ draw txt3;
+ draw txt5;
+ draw txt6;
+ draw txt8;
+
+ produce_auto_scale;
+endfig;
+
+verbatimtex
+\end{document}
+etex
+
+end.