summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example/smC.mp
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/smC.mp')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/smC.mp153
1 files changed, 153 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/smC.mp b/Master/texmf-dist/doc/metapost/featpost/example/smC.mp
new file mode 100644
index 00000000000..f82b120c17f
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/smC.mp
@@ -0,0 +1,153 @@
+% smC.mp
+% P. J. Sebastiao
+
+input featpost3Dplus2D;
+
+% bash: export TEX=latex
+% tcsh: setenv TEX latex
+
+verbatimtex \documentclass{article} \usepackage{beton} \usepackage{concmath} \usepackage{ccfonts} \begin{document} etex
+
+beginfig(1);
+ color orig, axxc, ayyc, azzc;
+ color field, nalfa, ngamma[], alfacnt, gammacnt, nazy, nax;
+ path alfa, gamma;
+ numeric nalfad, theta, radius, gammang, xxsize, yysize, zzsize;
+ numeric xxpos, yypos, zzpos, fieldpos, deltarad, deltapos;
+ numeric thetarad, thetapos, nalfapos, ngammapos,veccpos;
+ numeric etalpharad, etalphapos, alphapos, gammapos;
+ picture xxlabel, yylabel, zzlabel, fieldlabel, deltalabel, xxcalabel,yycalabel;
+ picture nalfalabel, ngammalabel, etalphalabel, alphalabel;
+ picture gammalabel, thetalabel,vecclabel;
+
+ f := (3,4,2);
+ Spread := 100;
+ xxsize := 0.8;
+ xxpos := 6;
+ yysize := 0.8;
+ yypos := 6;
+ zzsize := 1.3;
+ zzpos := 4;
+ field := (0.7,0.3,0.3);
+ fieldpos := 2;
+ deltarad := 0.45;
+ deltapos := 3;
+ nalfad := 1.0;
+ theta := 25;
+ thetarad := 0.3;
+ thetapos := 2;
+ nalfapos := 7;
+ gammang := 160;
+ ngammapos := 7;
+ etalpharad := 0.4;
+ etalphapos := 4;
+ alphapos := 6;
+ gammapos := 6;
+ veccpos := 3;
+
+ xxcalabel = btex $x_{\mbox{\protect \scriptsize layer}}$ etex;
+ yycalabel = btex $y_{\mbox{\protect \scriptsize layer}}$ etex;
+ xxlabel = btex $x_{\mbox{\protect \scriptsize cone}}$ etex;
+ yylabel = btex $y_{\mbox{\protect \scriptsize cone}}$ etex;
+ zzlabel = btex $z_{\mbox{\protect \scriptsize cone}}$ etex;
+ deltalabel = btex $\Delta$ etex;
+ fieldlabel = btex $\mathbf{B}$ etex;
+ thetalabel = btex $\theta$ etex;
+ nalfalabel = btex $\mathbf{n}_\alpha$ etex;
+ ngammalabel = btex $\mathbf{n}_\gamma$ etex;
+ etalphalabel= btex $\eta_\alpha$ etex;
+ alphalabel = btex $\alpha$ etex;
+ gammalabel = btex $\gamma$ etex;
+ vecclabel = btex $\mathbf{c}$ etex;
+ orig = (0,0,0);
+ axxc = (xxsize,0,0);
+ ayyc = (0,yysize,0);
+ azzc = (0,0,zzsize);
+ nalfa = (0,sind(theta),cosd(theta));
+ alfacnt = (0,0,nalfad*cosd(theta));
+ radius = nalfad*sind(theta);
+ alfa = rigorouscircle( alfacnt, (0,0,1), radius );
+ gammacnt = cosd(theta)*cosd(theta)*nalfa;
+ radius := cosd(theta)*sind(theta);
+ gamma = rigorouscircle( gammacnt, nalfa, radius );
+
+ for i=0 step 40 until 0:
+ nazy := radius*sind(gammang+i)*ncrossprod( nalfa, axxc );
+ nax := radius*cosd(gammang+i)*ncrossprod( ayyc, nalfa );
+ ngamma[i] := gammacnt+nax+nazy;
+ drawarrow rp(orig)..rp(ngamma[i]);
+ endfor;
+
+ draw alfa dashed evenly;
+
+ drawarrow rp(orig)..rp(axxc);
+ drawarrow rp(orig)..rp(ayyc);
+ drawarrow rp(orig)..rp(azzc);
+ drawarrow rp(orig)..rp(field);
+ drawarrow rp(orig)..rp(nalfa);
+% draw subpath (3.05,1.05) of alfa;
+% drawarrow subpath (4,3) of alfa;
+% draw subpath (0,1.3) of gamma;
+% draw subpath (7.5,8) of gamma;
+% drawarrow subpath (1,2) of gamma;
+ anglinen( field, azzc, orig, deltarad, deltalabel, deltapos );
+ anglinen( azzc, nalfa, orig, thetarad, thetalabel, thetapos );
+ anglinen( ngamma0, field, orig, etalpharad, etalphalabel, etalphapos );
+ labeln( xxlabel, rp(axxc), xxpos );
+ labeln( yylabel, rp(ayyc), yypos );
+ labeln( zzlabel, rp(azzc), zzpos );
+ labeln( fieldlabel, rp(field), fieldpos );
+ labeln( nalfalabel, rp(nalfa), nalfapos );
+ labeln( ngammalabel, rp(ngamma0), ngammapos );
+ labeln( alphalabel, point 1.8 of alfa, alphapos );
+ labeln( gammalabel, point 8 of gamma, gammapos );
+ labeln( yycalabel, rp(gammacnt+1.3*radius*(-1,0,0)), 0);
+ labeln( xxcalabel, rp(gammacnt+1.3*radius*(0,1,-sind(theta))), 0);
+ pickup pencircle scaled 1.5;
+ draw rp(alfacnt);
+ draw rp(gammacnt);
+ pickup pencircle scaled 0.5;
+
+ path arco, recta_um, recta_dois, recta_xlayer, path_ngamma;
+ pickup pencircle scaled 0.5;
+ recta_um = rp(alfacnt)--rp(alfacnt+1.11*radius*(1,0,0));
+ recta_dois = rp(alfacnt)--rp(alfacnt+1.11*radius*(0,1,0));
+ draw recta_um;
+ draw recta_dois;
+
+ pickup pencircle scaled 1;
+ arco = (alfa cutbefore recta_dois) cutafter recta_um;
+ draw arco;
+
+
+ pickup pencircle scaled 0.5;
+ drawarrow rp(gammacnt)--rp(gammacnt+1.3*radius*(-1,0,0));
+
+ path_ngamma = rp(gammacnt)--rp(ngamma0)--rp((0,0,0));
+ draw path_ngamma;
+%%% c vector
+ drawarrow rp(gammacnt)--rp(ngamma0);
+
+ recta_xlayer = rp(gammacnt)--rp(gammacnt+1.3*radius*(0,1,-sind(theta)));
+ drawarrow recta_xlayer;
+
+ pickup pencircle scaled 1;
+
+ arco := (gamma cutbefore recta_xlayer) cutafter path_ngamma;
+ draw gamma;
+ undraw arco;
+
+ pickup pencircle scaled 0.5;
+ draw gamma dashed evenly;
+
+
+% draw subpath (0,0.9) of gamma;
+% draw subpath (7.6,8) of gamma;
+% draw subpath (1.5,8) of gamma;
+ draw subpath (3.2,1.2) of alfa;
+ labeln( vecclabel, rp(ngamma0), veccpos);
+endfig;
+
+verbatimtex \end{document} etex
+
+end;