diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/tug04/newexperimental.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/tug04/newexperimental.mp | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/tug04/newexperimental.mp b/Master/texmf-dist/doc/metapost/featpost/example/tug04/newexperimental.mp new file mode 100644 index 00000000000..bfacd32ae1f --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/tug04/newexperimental.mp @@ -0,0 +1,157 @@ +% newexperimental.mp +% L. Nobre G. +% 2004 + +%input featpost3D; +%input featpost2D; + +%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. |