summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp245
1 files changed, 245 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp b/Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp
new file mode 100644
index 00000000000..f47ca02d4dc
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/galvanometro-inducao.mp
@@ -0,0 +1,245 @@
+% galvanometro-inducao.mp
+% Pedro Sebastiao
+% 2008
+
+input featpost3Dplus2D;
+
+% bash: export TEX=latex
+% tcsh: setenv TEX latex
+
+verbatimtex
+\documentclass{article}
+\usepackage{beton,concmath,ccfonts}
+\begin{document}
+etex
+
+beginfig(1);
+ color orig, axxc, ayyc, azzc,hum,hdois,pnove,pdez;
+ color field, nalfa, ngamma, alfacnt, gammacnt, nazy, nax,pum,pdois,ptres,pquatro,pcinco,pseis,psete,poito,zpos,zppos,gammacnt;
+ path alfa, gamma, circ;
+ numeric nalfad, theta, radius, gammang, xxsize, yysize, zzsize, phi,teta;
+ numeric xxpos, yypos, zzpos, fieldpos, deltarad, deltapos,inc,resize,sum,sdois;
+ numeric thetarad, thetapos, nalfapos, ngammapos,aux,alpha,ia,iz;
+ numeric etalpharad, etalphapos, alphapos, gammapos;
+ picture xxlabel, yylabel, zzlabel, fieldlabel, alphalabel;
+ picture rlabel, ngammalabel, etalphalabel, philabel;
+ picture gammalabel, thetalabel;
+
+ f := (2,2.5,2.0);
+ % f := (2,2,20.0);
+ Spread := 100;
+ xxsize = 1.1;
+ xxpos = 6;
+ yysize = 1.1;
+ yypos = 6;
+ zzsize = 1;
+ zzpos = 4;
+ field = (0.7,0,0.3);
+ fieldpos = 2;
+ deltarad = 0.45;
+ deltapos = 3;
+ nalfad = 1.0;
+ theta = 25;
+ thetarad = 0.3;
+ thetapos = 2;
+ nalfapos = 7;
+ gammang = 65;
+ ngammapos = 7;
+ etalpharad = 0.4;
+ etalphapos = 2;
+ alphapos = 6;
+ gammapos = 0;
+ radius =0.5;
+ alpha := 60;
+
+ xxlabel = btex $x$ etex;
+ yylabel = btex $y$ etex;
+ zzlabel = btex $z$ etex;
+ alphalabel = btex $2\alpha$ etex;
+ fieldlabel = btex $\mathbf{B}$ etex;
+ thetalabel = btex $\theta$ etex;
+ rlabel = btex $r$ etex;
+ ngammalabel = btex $\vec{n}_\gamma$ etex;
+ etalphalabel= btex $\eta_\alpha$ etex;
+ philabel = btex $\phi$ etex;
+ gammalabel = btex $\gamma$ etex;
+ orig = (0,0,0);
+ axxc = (xxsize,0,0);
+ ayyc = (0,yysize,0);
+ azzc = (0,0,zzsize);
+ hum = 0.9*azzc;
+ hdois = -0.9*azzc;
+ resize:=0.85;
+
+
+ pum := (resize*cosd(alpha),resize*sind(alpha),0.9);
+ pdois := (-resize*cosd(alpha),resize*sind(alpha),0.9);
+ ptres :=(resize*cosd(alpha),resize*sind(alpha),-0.9);
+ pquatro :=(-resize*cosd(alpha),resize*sind(alpha),-0.9);
+ draw rp(pum)..rp(ptres);
+ draw rp(pdois)..rp(pquatro);
+ pcinco := (resize*cosd(alpha),resize*sind(-alpha),0.9);
+ pseis := (-resize*cosd(alpha),resize*sind(-alpha),0.9);
+ psete :=(resize*cosd(alpha),resize*sind(-alpha),-0.9);
+ poito :=(-resize*cosd(alpha),resize*sind(-alpha),-0.9);
+ draw rp(pcinco)..rp(psete);
+ draw rp(pseis)..rp(poito);
+
+ anglinen( pum, pdois, hum, resize, alphalabel, 4 );
+ anglinen( ptres, pquatro, -hum, resize, "", deltapos );
+ anglinen( pcinco, pseis, hum, resize, "", deltapos );
+ anglinen( psete, poito, -hum, resize, "", deltapos );
+
+ draw rp(hum)..rp(pdois) dashed evenly;
+ draw rp(hum)..rp(pcinco) dashed evenly;
+
+ alpha:=60;
+ resize:=0.80;
+
+ pickup pencircle scaled 3;
+
+ pum := (resize*cosd(alpha),resize*sind(alpha),0.9);
+ pdois := (-resize*cosd(alpha),-resize*sind(alpha),0.9);
+ ptres :=(resize*cosd(alpha+180),-resize*sind(alpha),-0.9);
+ pquatro :=(resize*cosd(alpha),resize*sind(alpha),-0.9);
+ draw rp(pum)..rp(pdois);
+ draw rp(pdois)..rp(ptres);
+ draw rp(ptres)..rp(pquatro);
+ draw rp(pquatro)..rp(pum);
+
+ pickup pencircle scaled 1.5;
+ resize:=0.85;
+
+ for ia=60 step 10 until (120):
+ for iz=-0.0 step 1.4 until (0.71):
+ pum := (resize*cosd(ia),resize*sind(ia),iz);
+ pdois := (cosd(ia),sind(ia), iz);
+ ptres := (resize*cosd(ia+180),resize*sind(ia+180),iz);
+ pquatro := (cosd(ia+180),sind(ia+180), iz);
+ drawarrow rp(pum)..rp(pdois) withcolor red;
+ draw rp(pdois)..rp(pdois+(0,yysize,0)) withcolor red;
+ drawarrow rp(pquatro)..rp(ptres) withcolor red;
+ draw rp(pquatro-(0,yysize,0))..rp(pquatro) withcolor red;
+ hdois:=pum;
+ pcinco := (0.5*resize*cosd(ia),0.5*resize*sind(ia),iz);
+ pseis := (0.5*resize*cosd(360-ia),0.5*resize*sind(360-ia),iz);
+ pdez := (resize*cosd(360-ia),resize*sind(360-ia),iz);
+ for i=0 step 0.01 until 1:
+ poito := ((1-i)**3)*pum+3*i*((1-i)**2)*pcinco+3*(i**2)*(1-i)*pseis+(i**3)*pdez;
+ draw rp(hdois)..rp(poito) withcolor red;
+ hdois:=poito;
+ endfor
+ endfor
+ endfor
+
+ for ia=40 step 10 until (50):
+ for iz=-0.0 step 1.4 until (0.71):
+ pum := (resize*cosd(ia),resize*sind(ia),iz);
+ pdois := (cosd(ia),sind(ia), iz);
+ ptres := (resize*cosd(ia+180),resize*sind(ia+180),iz);
+ pquatro := (cosd(ia+180),sind(ia+180), iz);
+ drawarrow rp(pum)..rp(pdois) withcolor black;
+ draw rp(pdois)..rp(pdois+(0,yysize,0)) withcolor black;
+ drawarrow rp(pquatro)..rp(ptres) withcolor black;
+ draw rp(pquatro-(0,yysize,0))..rp(pquatro) withcolor black;
+ hdois:=pum;
+ pcinco := (0.5*resize*cosd(ia),0.5*resize*sind(ia),iz);
+ pseis := (0.5*resize*cosd(360-ia),0.5*resize*sind(360-ia),iz);
+ pdez := (resize*cosd(360-ia),resize*sind(360-ia),iz);
+ for i=0 step 0.01 until 1:
+ poito := ((1-i)**3)*pum+3*i*((1-i)**2)*pcinco+3*(i**2)*(1-i)*pseis+(i**3)*pdez;
+ draw rp(hdois)..rp(poito) withcolor black;
+ hdois:=poito;
+ endfor
+ endfor
+ endfor
+ for ia=130 step 10 until (140):
+ for iz=-0.0 step 1.4 until (0.71):
+ pum := (resize*cosd(ia),resize*sind(ia),iz);
+ pdois := (cosd(ia),sind(ia), iz);
+ ptres := (resize*cosd(ia+180),resize*sind(ia+180),iz);
+ pquatro := (cosd(ia+180),sind(ia+180), iz);
+ drawarrow rp(pum)..rp(pdois) withcolor black;
+ draw rp(pdois)..rp(pdois+(0,yysize,0)) withcolor black;
+ drawarrow rp(pquatro)..rp(ptres) withcolor black;
+ draw rp(pquatro-(0,yysize,0))..rp(pquatro) withcolor black;
+ hdois:=pum;
+ pcinco := (0.5*resize*cosd(ia),0.5*resize*sind(ia),iz);
+ pseis := (0.5*resize*cosd(360-ia),0.5*resize*sind(360-ia),iz);
+ pdez := (resize*cosd(360-ia),resize*sind(360-ia),iz);
+ for i=0 step 0.01 until 1:
+ poito := ((1-i)**3)*pum+3*i*((1-i)**2)*pcinco+3*(i**2)*(1-i)*pseis+(i**3)*pdez;
+ draw rp(hdois)..rp(poito) withcolor black;
+ hdois:=poito;
+ endfor
+ endfor
+ endfor
+
+
+ ia=60;
+ iz = 0.7;
+ pnove := (resize*cosd(ia),resize*sind(ia),iz);
+ pdez := (resize*cosd(360-ia),resize*sind(360-ia),iz);
+ pcinco := (0.5*resize*cosd(ia),0.5*resize*sind(ia),iz);
+ pseis := (0.5*resize*cosd(360-ia),0.5*resize*sind(360-ia),iz);
+ pickup pencircle scaled 5.5;
+% draw rp(pdois);
+% draw rp(pquatro);
+% draw rp(pnove);
+% draw rp(pdez);
+
+ pickup pencircle scaled 0.5;
+
+ draw rigorouscircle( (0,0,0), (0,0,1), 1) dashed evenly;
+ resize:=1;
+ alpha := 60;
+
+ iz:=0.0;
+ pum := (resize*cosd(alpha),resize*sind(alpha),iz);
+ pdois := (-resize*cosd(alpha),resize*sind(alpha),iz);
+ ptres :=(resize*cosd(alpha),resize*sind(alpha),-iz);
+ pquatro :=(-resize*cosd(alpha),resize*sind(alpha),-iz);
+ pcinco := (resize*cosd(alpha),resize*sind(-alpha),iz);
+ pseis := (-resize*cosd(alpha),resize*sind(-alpha),iz);
+ psete :=(resize*cosd(alpha),resize*sind(-alpha),-iz);
+ poito :=(-resize*cosd(alpha),resize*sind(-alpha),-iz);
+
+ anglinen( pum, pdois, hum-(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( ptres, pquatro, -hum+(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( pcinco, pseis, hum-(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( psete, poito, -hum+(0.9-iz)*azzc, resize, "", deltapos );
+
+ resize:=0.85;
+ alpha := 60;
+ pickup pencircle scaled 0.5;
+ iz:=0.0;
+ pum := (resize*cosd(alpha),resize*sind(alpha),iz);
+ pdois := (-resize*cosd(alpha),resize*sind(alpha),iz);
+ ptres :=(resize*cosd(alpha),resize*sind(alpha),-iz);
+ pquatro :=(-resize*cosd(alpha),resize*sind(alpha),-iz);
+ pcinco := (resize*cosd(alpha),resize*sind(-alpha),iz);
+ pseis := (-resize*cosd(alpha),resize*sind(-alpha),iz);
+ psete :=(resize*cosd(alpha),resize*sind(-alpha),-iz);
+ poito :=(-resize*cosd(alpha),resize*sind(-alpha),-iz);
+
+ anglinen( pum, pdois, hum-(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( ptres, pquatro, -hum+(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( pcinco, pseis, hum-(0.9-iz)*azzc, resize, "", deltapos );
+ anglinen( psete, poito, -hum+(0.9-iz)*azzc, resize, "", deltapos );
+
+
+ pickup pencircle scaled 1;
+ drawarrow rp(-azzc)..rp(1.3*azzc);
+% drawarrow rp(-axxc)..rp(axxc);
+% drawarrow rp(-ayyc)..rp(ayyc);
+ pickup pencircle scaled 1.5;
+% draw rp(alfacnt);
+% draw rp(gammacnt);
+% produce_auto_scale;
+endfig;
+
+verbatimtex
+\end{document}
+etex
+
+end;