summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/metapost/featpost/example
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example')
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/38.mp42
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/A131.mp222
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/SlowDownNowBitmapScanned.mp172
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/allfigs.mp68
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/bichaepolicia.mp370
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/casadopessoal.mp18
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/circlespeedprofile.mp43
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/conoscopy.mp224
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/equilibriodetorques.mp47
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/fieldlinesnormapaperwork.mp41
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/fis3prex7.mp138
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/geomsrinath.mp57
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/globe.mp32
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/helix.mp27
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/interdigitrodes.mp24
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/intersectprolatespheroid.mp27
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/iplaca.mp45
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/jdbug.mp26
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/keplernewtonfeynman.mp76
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/lgc2refractionEdited.mp86
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/loglogpaper.mp44
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/micostufas.mp41
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/milimetricpaper.mp6
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/naotocanacalote.mp58
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/nemdirector.mp24
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/radiativeforcing.mp243
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/raiodoscirculos.mp70
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/resistcircuit.mp2
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/reuleaux.mp34
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/roadincline.mp2
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/simplecenterofmass.mp127
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/simplelens.mp114
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/simplependulum.mp51
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/sniperlogo.mp38
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/spaceinvader.mp210
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/splineperspective.mp255
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/splineperspectives.mp272
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/srinathpolineni.mp223
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/tdcircarrow.mp29
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/telheiro.mp96
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/toro4transit.mp202
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/torus.mp79
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/trebuchet.mp32
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/treecarbonedited.mp2128
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/tropicalglobe.mp90
-rw-r--r--Master/texmf-dist/doc/metapost/featpost/example/ultraimprovertex.mp39
46 files changed, 6031 insertions, 263 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/38.mp b/Master/texmf-dist/doc/metapost/featpost/example/38.mp
index ff5e4e6c518..c4501db2c70 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/38.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/38.mp
@@ -1,7 +1,6 @@
-
-
-prologues:=2;
-
+% 38.mp
+% J. Dinis
+% 2004
def rp(expr p, r)=
(p + (r * (.5+uniformdeviate 0.5),0) rotated (uniformdeviate 360))
@@ -22,7 +21,6 @@ vardef eight(expr r) =
.. a{dir 15})
enddef;
-
vardef three(expr r) =
save a;
path a;
@@ -36,27 +34,21 @@ def scaledto(expr p, wd)=
enddef;
-
-
beginfig(1);
-
-color c;
-numeric n,e;
-
-pickup pencircle scaled 1pt;
-n := 96;
-for i=n step -2 until 0:
- e := 1 / (i+1);
- pickup pencircle scaled (e * pt);
- for j=1 upto (i+1):
- c := (i/n)[.75blue,white];
- draw eight(i/n) scaled 100 shifted (140,0) withcolor c;
- draw three(i/n) scaled 100 shifted (0,0) withcolor c;
- endfor;
-endfor;
-
-currentpicture := scaledto(currentpicture, 24cm);
-
+ color c;
+ numeric n,e;
+ pickup pencircle scaled 1pt;
+ n := 33;
+ for i=n step -2 until 0:
+ e := 1 / (i+1);
+ pickup pencircle scaled (e * pt);
+ for j=1 upto (i+1):
+ c := (i/n)[.75blue,white];
+ draw eight(i/n) scaled 100 shifted (140,0) withcolor c;
+ draw three(i/n) scaled 100 shifted (0,0) withcolor c;
+ endfor;
+ endfor;
+ currentpicture := scaledto(currentpicture, 24cm);
endfig;
end
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/A131.mp b/Master/texmf-dist/doc/metapost/featpost/example/A131.mp
new file mode 100644
index 00000000000..fd803cc472e
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/A131.mp
@@ -0,0 +1,222 @@
+% A131.mp
+% P. J. Sebastiao
+% 2012
+
+input featpost3Dplus2D;
+
+prologues:=3;
+
+verbatimtex
+ \documentclass{article}
+ \usepackage{amsmath,amssymb}
+ \begin{document}
+etex
+
+beginfig(1);
+ color orig, axxc, ayyc, azzc,ngorig, ngorigb;
+ color field, nalfa, ngamma[], alfacnt, gammacnt, nazy, nax,nalfaz, alfacntb, gammacntb,ngammab[],nazyb, naxb;
+ path alfa, gamma, alfab, gammab;
+ numeric nalfad, theta, radius, gradius, gammang, xxsize, yysize, zzsize, thetb, radiusb;
+ 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, phimlabel, phiMlabel;
+ picture nalfalabel, ngammalabel, etalphalabel, alphalabel;
+ picture gammalabel, thetalabel,vecclabel, thetalabelb, corelabel;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%ShiftV := origin;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+ f := (3,4,2);
+ Spread := 100;
+ xxsize := 0.8;
+ xxpos := 6;
+ yysize := 0.8;
+ yypos := 6;
+ zzsize := 1.3;
+ zzpos := 4;
+ field := (0.56,0.3,0.5);
+ fieldpos := 2;
+ deltarad := 0.45;
+ deltapos := 3;
+ nalfad := 0.8;
+ theta := 25;
+ thetb := 18;
+ thetarad := 0.3;
+ thetapos := 2;
+ nalfapos := 7;
+ gammang := -20;
+ ngammapos := 4;
+ 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} M}$ etex;
+ yylabel = btex $y_{\mbox{\protect \scriptsize M}}$ etex;
+ zzlabel = btex $z_{\mbox{\protect \scriptsize M}}$ etex;
+ corelabel = btex $\mbox{core}$ etex;
+ deltalabel = btex $\beta$ etex;
+ fieldlabel = btex $\mathbf{n}$ etex;
+ thetalabel = btex $\theta_1$ etex;
+ thetalabelb = btex $\theta_2$ etex;
+ nalfalabel = btex $\mathbf{n}_\alpha$ etex;
+ ngammalabel = btex $\mathbf{ch}$ etex;
+ etalphalabel= btex $\eta_\alpha$ etex;
+ alphalabel = btex $\alpha$ etex;
+ phimlabel = btex $-\phi_{\mbox{\protect \scriptsize 0}}/2$ etex;
+ phiMlabel = btex $\phi_{\mbox{\protect \scriptsize 0}}/2$ 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 = (-nalfad*sind(theta)*cosd(90),nalfad*sind(theta)*sind(90),nalfad*cosd(theta));
+ nalfaz = (-nalfad*sind(thetb)*cosd(90),nalfad*sind(thetb)*sind(90),-nalfad*cosd(thetb));
+ alfacnt = (0,0,nalfad*cosd(theta));
+ alfacntb = (0,0,-nalfad*cosd(thetb));
+ radius = nalfad*sind(theta);
+ radiusb = nalfad*sind(thetb);
+ gradius = 0.5*radius;
+ alfa = rigorouscircle( alfacnt, (0,0,1), radius );
+ alfab = rigorouscircle( alfacntb, (0,0,1), radiusb );
+ ngorig = orig+nalfa;
+ ngorigb = orig+nalfaz;
+ gammacnt = cosd(theta)*cosd(theta)*nalfa+0.75*nalfa;
+ gammacntb = cosd(theta)*cosd(theta)*nalfaz+0.75*nalfaz;
+ radius := cosd(theta)*sind(theta);
+ gamma = rigorouscircle( gammacnt, nalfa, gradius );
+ gammab = rigorouscircle( gammacntb, nalfaz, gradius );
+
+ pickup pencircle scaled 1;
+
+ for i=0 step 40 until 0:
+ nazy := gradius*sind(gammang+i)*ncrossprod( nalfa, axxc );
+ nax := gradius*cosd(gammang+i)*ncrossprod( ayyc, nalfa );
+ ngamma[i] := gammacnt+nax+nazy;
+ draw rp(ngorig)..rp(ngamma[i]);
+ nazyb := gradius*sind(gammang+i)*ncrossprod( nalfaz, axxc );
+ naxb := gradius*cosd(gammang+i)*ncrossprod( ayyc, nalfaz );
+ ngammab[i] := gammacntb+naxb+nazyb;
+ draw rp(ngorigb)..rp(ngammab[i]);
+ endfor;
+
+ pickup pencircle scaled 0.5;
+
+ draw alfa dashed evenly;
+ draw alfab dashed evenly;
+
+ drawarrow rp(orig)..rp(axxc);
+ drawarrow rp(orig)..rp(ayyc);
+ drawarrow rp(-azzc)..rp(azzc);
+ drawarrow rp(orig)..rp(2*field);
+ pickup pencircle scaled 2;
+ draw rp(orig)..rp(nalfa);
+ draw rp(orig)..rp(nalfa);
+ draw rp(orig)..rp(nalfaz);
+ pickup pencircle scaled 0.5;
+ draw rp(nalfa)..rp(gammacnt) dashed evenly;
+ draw rp(nalfaz)..rp(gammacntb) dashed evenly;
+% 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*1.5, thetalabel, thetapos );
+ anglinen( nalfaz, -azzc, orig, thetarad*2, thetalabelb, thetapos );
+% anglinen( nalfa, nalfaz, orig, thetarad*1.25, btex $\Delta$ etex, 5 );
+% anglinen( ngamma0, field, orig, etalpharad, etalphalabel, etalphapos );
+ labeln( xxlabel, rp(axxc), xxpos );
+ labeln( yylabel, rp(ayyc), yypos );
+ labeln( zzlabel, rp(azzc), zzpos );
+ labeln( corelabel, rp(orig+(0.2,-0.1,-0.2)), 1 );
+ labeln( fieldlabel, rp(2*field), fieldpos );
+% labeln( nalfalabel, rp(nalfa), nalfapos );
+ labeln( ngammalabel, rp(ngamma0), ngammapos );
+ labeln( ngammalabel, rp(ngammab0), 1 );
+ labeln( phiMlabel, point 1 of alfa, 7 );
+ labeln( phimlabel, point 4 of alfa, 5 );
+ labeln( phiMlabel, point 0.4 of alfab, 7 );
+ labeln( phimlabel, point 3.5 of alfab,4 );
+% 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;
+ path arcob, recta_umb, recta_doisb ;
+ pickup pencircle scaled 0.5;
+ recta_um = rp(alfacnt)--rp(alfacnt+nalfad*1.4*radius*(1,0,0));
+ recta_dois = rp(alfacnt)--rp(alfacnt+nalfad*1.4*radius*(0,1,0));
+ draw recta_um;
+ draw recta_dois;
+ draw rp(nalfa)..rp((0,nalfad*sind(theta)*sind(90),-nalfad*cosd(thetb))) dashed evenly;
+
+ recta_umb = rp(alfacntb)--rp(alfacntb+nalfad*1.4*radius*(1,0,0));
+ recta_doisb = rp(alfacntb)--rp(alfacntb+nalfad*1.4*radius*(0,1,0));
+ draw recta_umb;
+ draw recta_doisb;
+
+ pickup pencircle scaled 1;
+ arco = (alfa cutbefore recta_dois) cutafter recta_um;
+ draw arco;
+ arcob = (alfab cutbefore recta_doisb) cutafter recta_umb;
+ draw arcob;
+
+
+ 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
+ draw rp(gammacnt)--rp(ngamma0) dashed evenly;
+ draw rp(gammacntb)--rp(ngammab0) dashed evenly;
+
+ recta_xlayer = rp(gammacnt)--rp(gammacnt+1.3*radius*(0,1,-sind(theta)));
+% drawarrow recta_xlayer;
+
+ pickup pencircle scaled 0.5;
+
+ arco := (gamma cutbefore recta_xlayer) cutafter path_ngamma;
+ draw gamma dashed evenly;
+ draw gammab dashed evenly;
+ 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);
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ picture schemepic;
+ schemepic = currentpicture;
+ numeric initang, stampnum, stepang, stampoffset;
+ stampnum = 15;
+ stampoffset = 0.2mm;
+ initang = 180/stampnum;
+ stepang = 2*initang;
+ drawoptions();
+ for i=0 upto (stampnum-1):
+ draw schemepic
+ shifted (stampoffset*dir(initang+i*stepang))
+ withcolor (blue+green);
+ endfor;
+ draw schemepic;
+endfig;
+
+verbatimtex \end{document} etex
+
+end;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/SlowDownNowBitmapScanned.mp b/Master/texmf-dist/doc/metapost/featpost/example/SlowDownNowBitmapScanned.mp
new file mode 100644
index 00000000000..97659a2a3da
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/SlowDownNowBitmapScanned.mp
@@ -0,0 +1,172 @@
+% Converted from PostScript(TM) to MetaPost by pstoedit
+% MetaPost backend contributed by Scott Pakin <scott+ps2ed_AT_pakin.org>
+% pstoedit is Copyright (C) 1993 - 2009 Wolfgang Glunz <wglunz35_AT_pstoedit.net>
+% And edited by L. Nobre G.
+% 2012
+
+% Generate structured PostScript
+prologues := 1;
+
+% Display a given string with its *baseline* at a given location
+% and with a given rotation angle
+vardef showtext(expr origin)(expr angle)(expr string) =
+ draw string infont defaultfont scaled defaultscale
+ rotated angle shifted origin;
+enddef;
+
+% Modified by L. Nobre G's Lex scanner %%%%%%%%%%%
+randomseed := 1010;
+vardef renewcolore =
+ color tmpcolo;
+ tmpcolo = (uniformdeviate(0.8),uniformdeviate(0.8),uniformdeviate(0.8));
+ drawoptions( withcolor tmpcolo withpen pencircle scaled 1mm );
+enddef;
+defaultscale := 0.16;
+beginfig(1);
+ path PreeditedPath[];
+linecap := butt;
+linejoin := mitered;
+ PreeditedPath1 = hide(z1=(57.601601,292.527008))z1..controls hide(z2=(45.687500,288.269989))z2 and hide(z3=(40.769501,273.300995))z3..hide(z4=(46.820301,259.699005))z4
+ ..controls hide(z5=(49.562500,253.535004))z5 and hide(z6=(54.800800,248.065994))z6..hide(z7=(65.898399,239.789001))z7
+ ..controls hide(z8=(84.398399,225.996002))z8 and hide(z9=(85.773399,224.839996))z9..hide(z10=(88.460899,220.800995))z10
+ ..controls hide(z11=(94.179703,212.199005))z11 and hide(z12=(92.484398,201.375000))z12..hide(z13=(84.800797,197.395004))z13
+ ..controls hide(z14=(78.722702,194.250000))z14 and hide(z15=(62.398399,197.897995))z15..hide(z16=(55.800800,203.875000))z16
+ ..controls hide(z17=(53.179699,206.246002))z17 and hide(z18=(52.839802,207.300995))z18..hide(z19=(52.292999,214.800995))z19
+ ..controls hide(z20=(51.601601,224.199005))z20 and hide(z21=(50.812500,225.738007))z21..hide(z22=(46.199200,226.660004))z22
+ ..controls hide(z23=(43.000000,227.300995))z23 and hide(z24=(43.000000,227.300995))z24..hide(z25=(43.000000,220.300995))z25
+ ..controls hide(z26=(43.000000,216.397995))z26 and hide(z27=(42.710899,210.598007))z27..hide(z28=(42.351601,207.199005))z28
+ ..controls hide(z29=(41.699200,201.102005))z29 and hide(z30=(41.699200,201.102005))z30..hide(z31=(46.500000,198.061996))z31
+ ..controls hide(z32=(58.601601,190.401993))z32 and hide(z33=(78.457001,185.854996))z33..hide(z34=(88.398399,188.468994))z34
+ ..controls hide(z35=(100.519997,191.651993))z35 and hide(z36=(104.500000,197.102005))z36..hide(z37=(104.500000,210.500000))z37
+ ..controls hide(z38=(104.500000,224.554993))z38 and hide(z39=(99.300797,231.945007))z39..hide(z40=(80.300797,244.897995))z40
+ ..controls hide(z41=(62.800800,256.828003))z41 and hide(z42=(58.000000,262.554993))z42..hide(z43=(58.000000,271.500000))z43
+ ..controls hide(z44=(58.000000,284.375000))z44 and hide(z45=(69.500000,289.085999))z45..hide(z46=(83.699203,282.027008))z46
+ ..controls hide(z47=(90.601601,278.597992))z47 and hide(z48=(91.558601,277.101990))z48..hide(z49=(92.914101,267.601990))z49
+ ..controls hide(z50=(94.042999,259.699005))z50 and hide(z51=(93.828102,260.027008))z51..hide(z52=(98.398399,259.285004))z52
+ ..controls hide(z53=(102.000000,258.699005))z53 and hide(z54=(102.000000,258.699005))z54..hide(z55=(102.000000,270.398010))z55
+ ..controls hide(z56=(102.000000,282.101990))z56 and hide(z57=(102.000000,282.101990))z57..hide(z58=(92.699203,286.515991))z58
+ ..controls hide(z59=(78.000000,293.492004))z59 and hide(z60=(66.039101,295.542999))z60..cycle;
+ renewcolore;
+ draw PreeditedPath1;
+ % dotlabels.rt(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60);
+ PreeditedPath2 = hide(z61=(117.000000,277.101990))z61..controls hide(z62=(117.000000,274.656006))z62 and hide(z63=(117.601997,274.007996))z63..hide(z64=(120.801003,272.992004))z64
+ ..controls hide(z65=(130.210999,270.003998))z65 and hide(z66=(129.688004,274.101990))z66..hide(z67=(128.367004,214.102005))z67
+ ..controls hide(z68=(127.698997,183.800995))z68 and hide(z69=(127.698997,183.800995))z69..hide(z70=(122.301003,184.397995))z70
+ ..controls hide(z71=(116.898003,185.000000))z71 and hide(z72=(116.898003,185.000000))z72..hide(z73=(117.198997,181.800995))z73
+ ..controls hide(z74=(117.500000,178.602005))z74 and hide(z75=(117.500000,178.602005))z75..hide(z76=(132.500000,174.699005))z76
+ ..controls hide(z77=(147.500000,170.800995))z77 and hide(z78=(147.500000,170.800995))z78..hide(z79=(147.550995,160.147995))z79
+ ..controls hide(z80=(147.578003,154.250000))z80 and hide(z81=(147.914001,148.315994))z81..hide(z82=(148.300995,146.852005))z82
+ ..controls hide(z83=(149.000000,144.199005))z83 and hide(z84=(149.000000,144.199005))z84..hide(z85=(133.699005,148.098007))z85
+ ..controls hide(z86=(115.398003,152.757996))z86 and hide(z87=(116.769997,152.690994))z87..hide(z88=(117.164001,148.897995))z88
+ ..controls hide(z89=(117.448997,146.190994))z89 and hide(z90=(118.101997,145.496002))z90..hide(z91=(121.398003,144.363007))z91
+ ..controls hide(z92=(128.429993,141.953003))z92 and hide(z93=(128.000000,144.897995))z93..hide(z94=(128.000000,99.101601))z94
+ ..controls hide(z95=(128.000000,71.199203))z95 and hide(z96=(127.652000,57.050800))z96..hide(z97=(126.948997,56.351601))z97
+ ..controls hide(z98=(126.305000,55.703098))z98 and hide(z99=(124.398003,55.570301))z99..hide(z100=(122.000000,56.000000))z100
+ ..controls hide(z101=(117.500000,56.808601))z101 and hide(z102=(117.000000,56.539101))z102..hide(z103=(117.000000,53.300800))z103
+ ..controls hide(z104=(117.000000,50.203098))z104 and hide(z105=(117.801003,49.906200))z105..hide(z106=(141.800995,44.039101))z106
+ ..controls hide(z107=(166.199005,38.074200))z107 and hide(z108=(172.479996,37.285198))z108..hide(z109=(180.000000,39.253899))z109
+ ..controls hide(z110=(196.117004,43.468800))z110 and hide(z111=(203.895004,55.199200))z111..hide(z112=(204.757996,76.601601))z112
+ ..controls hide(z113=(205.199005,87.601601))z113 and hide(z114=(205.199005,87.601601))z114..hide(z115=(210.397995,87.675797))z115
+ ..controls hide(z116=(248.628998,88.222702))z116 and hide(z117=(261.343994,143.602005))z117..hide(z118=(232.104996,182.199005))z118
+ ..controls hide(z119=(212.792999,207.699005))z119 and hide(z120=(179.664001,214.824005))z120..hide(z121=(161.102005,197.473007))z121
+ ..controls hide(z122=(156.397995,193.082001))z122 and hide(z123=(150.000000,182.602005))z123..hide(z124=(150.000000,179.300995))z124
+ ..controls hide(z125=(150.000000,178.156006))z125 and hide(z126=(149.250000,177.940994))z126..hide(z127=(146.852005,178.397995))z127
+ ..controls hide(z128=(145.147995,178.723007))z128 and hide(z129=(143.309006,179.000000))z129..hide(z130=(142.852005,179.000000))z130
+ ..controls hide(z131=(142.378998,179.000000))z131 and hide(z132=(142.000000,198.397995))z132..hide(z133=(142.000000,222.602005))z133
+ ..controls hide(z134=(142.000000,266.199005))z134 and hide(z135=(142.000000,266.199005))z135..hide(z136=(147.000000,265.851990))z136
+ ..controls hide(z137=(152.000000,265.500000))z137 and hide(z138=(152.000000,265.500000))z138..hide(z139=(152.000000,268.648010))z139
+ ..controls hide(z140=(152.000000,271.800995))z140 and hide(z141=(152.000000,271.800995))z141..hide(z142=(135.500000,275.902008))z142
+ ..controls hide(z143=(116.000000,280.750000))z143 and hide(z144=(117.000000,280.683990))z144..cycle;
+ % renewcolore;
+ draw PreeditedPath2;
+ % dotlabels.rt(61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144);
+ PreeditedPath3 = hide(z145=(204.102005,194.261993))z145..controls hide(z146=(214.804993,189.000000))z146 and hide(z147=(222.988007,178.699005))z147..hide(z148=(227.667999,164.602005))z148
+ ..controls hide(z149=(231.121002,154.199005))z149 and hide(z150=(231.766006,127.625000))z150..hide(z151=(228.800995,118.000000))z151
+ ..controls hide(z152=(225.195007,106.301003))z152 and hide(z153=(217.477005,98.738297))z153..hide(z154=(207.800995,97.425797))z154
+ ..controls hide(z155=(203.199005,96.800797))z155 and hide(z156=(203.199005,96.800797))z156..hide(z157=(201.953003,100.698997))z157
+ ..controls hide(z158=(197.054993,116.000000))z158 and hide(z159=(182.945007,131.500000))z159..hide(z160=(168.397995,137.565994))z160
+ ..controls hide(z161=(164.628998,139.136993))z161 and hide(z162=(164.000000,141.800995))z162..hide(z163=(164.000000,156.199005))z163
+ ..controls hide(z164=(164.000000,167.483994))z164 and hide(z165=(163.397995,167.059006))z165..hide(z166=(175.000000,164.000000))z166
+ ..controls hide(z167=(186.848007,160.875000))z167 and hide(z168=(186.000000,160.000000))z168..hide(z169=(186.000000,175.397995))z169
+ ..controls hide(z170=(186.000000,188.897995))z170 and hide(z171=(186.000000,188.897995))z171..hide(z172=(182.300995,189.917999))z172
+ ..controls hide(z173=(177.727005,191.175995))z173 and hide(z174=(178.089996,191.699005))z174..hide(z175=(176.585999,181.602005))z175
+ ..controls hide(z176=(175.085999,171.500000))z176 and hide(z177=(175.151993,171.589996))z177..hide(z178=(170.000000,172.464996))z178
+ ..controls hide(z179=(165.104996,173.296997))z179 and hide(z180=(164.977005,174.397995))z180..hide(z181=(168.848007,182.500000))z181
+ ..controls hide(z182=(171.809006,188.699005))z182 and hide(z183=(175.343994,192.617004))z183..hide(z184=(180.500000,195.417999))z184
+ ..controls hide(z185=(184.988007,197.854996))z185 and hide(z186=(198.102005,197.210999))z186..cycle;
+ % renewcolore;
+ draw PreeditedPath3;
+ % dotlabels.rt(145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186);
+ PreeditedPath4 = hide(z187=(148.602005,136.957001))z187..controls hide(z188=(149.867004,136.500000))z188 and hide(z189=(151.401993,134.300995))z189..hide(z190=(152.468994,131.397995))z190
+ ..controls hide(z191=(157.781006,117.000000))z191 and hide(z192=(171.020004,101.311996))z192..hide(z193=(183.199005,94.984398))z193
+ ..controls hide(z194=(191.574005,90.636703))z194 and hide(z195=(192.438004,87.699203))z195..hide(z196=(189.960999,72.000000))z196
+ ..controls hide(z197=(186.473007,49.898399))z197 and hide(z198=(175.300995,43.445301))z198..hide(z199=(150.397995,49.148399))z199
+ ..controls hide(z200=(141.000000,51.300800))z200 and hide(z201=(141.000000,51.300800))z201..hide(z202=(141.000000,95.199203))z202
+ ..controls hide(z203=(141.000000,143.699005))z203 and hide(z204=(140.315994,139.945007))z204..cycle;
+ % renewcolore;
+ draw PreeditedPath4;
+ % dotlabels.rt(187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204);
+ PreeditedPath5 = hide(z205=(175.897995,123.491997))z205..controls hide(z206=(181.897995,117.765999))z206 and hide(z207=(188.440994,106.558998))z207..hide(z208=(187.746002,103.198997))z208
+ ..controls hide(z209=(187.125000,100.219002))z209 and hide(z210=(174.957001,113.398003))z210..hide(z211=(171.218994,121.101997))z211
+ ..controls hide(z212=(166.311996,131.199005))z212 and hide(z213=(167.300995,131.703003))z213..cycle;
+ % renewcolore;
+ draw PreeditedPath5;
+ % dotlabels.rt(205,206,207,208,209,210,211,212,213);
+ PreeditedPath6 = hide(z214=(343.000000,246.199005))z214..controls hide(z215=(343.000000,243.886993))z215 and hide(z216=(343.750000,243.145004))z216..hide(z217=(348.250000,241.000000))z217
+ ..controls hide(z218=(353.500000,238.500000))z218 and hide(z219=(353.500000,238.500000))z219..hide(z220=(353.500000,196.000000))z220
+ ..controls hide(z221=(353.500000,153.500000))z221 and hide(z222=(353.500000,153.500000))z222..hide(z223=(348.250000,153.699005))z223
+ ..controls hide(z224=(343.050995,153.897995))z224 and hide(z225=(343.000000,153.867004))z225..hide(z226=(343.000000,150.647995))z226
+ ..controls hide(z227=(343.000000,147.410004))z227 and hide(z228=(343.050995,147.386993))z228..hide(z229=(356.750000,144.050995))z229
+ ..controls hide(z230=(364.351990,142.199005))z230 and hide(z231=(371.058990,140.500000))z231..hide(z232=(371.750000,140.250000))z232
+ ..controls hide(z233=(372.582001,139.949005))z233 and hide(z234=(373.000000,140.949005))z234..hide(z235=(373.000000,143.250000))z235
+ ..controls hide(z236=(373.000000,146.363007))z236 and hide(z237=(372.601990,146.832001))z237..hide(z238=(368.898010,148.042999))z238
+ ..controls hide(z239=(361.847992,150.352005))z239 and hide(z240=(361.996002,149.397995))z240..hide(z241=(362.261993,190.897995))z241
+ ..controls hide(z242=(362.500000,228.102005))z242 and hide(z243=(362.500000,228.102005))z243..hide(z244=(389.332001,178.602005))z244
+ ..controls hide(z245=(418.277008,125.198997))z245 and hide(z246=(417.039001,127.000000))z246..hide(z247=(424.800995,127.000000))z247
+ ..controls hide(z248=(425.742004,127.000000))z248 and hide(z249=(426.000000,136.699005))z249..hide(z250=(426.000000,172.397995))z250
+ ..controls hide(z251=(426.000000,223.000000))z251 and hide(z252=(425.667999,220.750000))z252..hide(z253=(433.000000,219.617004))z253
+ ..controls hide(z254=(437.000000,219.000000))z254 and hide(z255=(437.000000,219.000000))z255..hide(z256=(437.000000,222.300995))z256
+ ..controls hide(z257=(437.000000,225.602005))z257 and hide(z258=(437.000000,225.602005))z258..hide(z259=(422.601990,229.296997))z259
+ ..controls hide(z260=(405.500000,233.684006))z260 and hide(z261=(407.000000,233.625000))z261..hide(z262=(407.000000,229.897995))z262
+ ..controls hide(z263=(407.000000,227.328003))z263 and hide(z264=(407.601990,226.645004))z264..hide(z265=(411.199005,225.104996))z265
+ ..controls hide(z266=(418.312012,222.065994))z266 and hide(z267=(418.011993,223.897995))z267..hide(z268=(417.742004,185.300995))z268
+ ..controls hide(z269=(417.500000,150.300995))z269 and hide(z270=(417.500000,150.300995))z270..hide(z271=(393.750000,194.397995))z271
+ ..controls hide(z272=(380.664001,218.699005))z272 and hide(z273=(370.000000,239.397995))z273..hide(z274=(370.000000,240.500000))z274
+ ..controls hide(z275=(370.000000,242.214996))z275 and hide(z276=(368.199005,242.960999))z276..hide(z277=(357.300995,245.746002))z277
+ ..controls hide(z278=(342.101990,249.628998))z278 and hide(z279=(343.000000,249.602005))z279..cycle;
+ % renewcolore;
+ draw PreeditedPath6;
+ % dotlabels.rt(214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279);
+ PreeditedPath7 = hide(z280=(254.000000,185.000000))z280..controls hide(z281=(254.000000,182.395004))z281 and hide(z282=(254.647995,181.671997))z282..hide(z283=(258.949005,179.500000))z283
+ ..controls hide(z284=(263.050995,177.429993))z284 and hide(z285=(264.074005,176.348007))z285..hide(z286=(264.921997,173.199005))z286
+ ..controls hide(z287=(265.996002,169.199005))z287 and hide(z288=(290.000000,68.988297))z288..hide(z289=(290.000000,68.500000))z289
+ ..controls hide(z290=(290.000000,67.898399))z290 and hide(z291=(300.101990,65.804703))z291..hide(z292=(300.601990,66.300797))z292
+ ..controls hide(z293=(300.875000,66.574203))z293 and hide(z294=(306.707001,84.898399))z294..hide(z295=(313.582001,107.101997))z295
+ ..controls hide(z296=(324.546997,142.500000))z296 and hide(z297=(326.929993,149.710999))z297..hide(z298=(327.070007,147.897995))z298
+ ..controls hide(z299=(327.085999,147.679993))z299 and hide(z300=(332.843994,126.101997))z300..hide(z301=(339.851990,100.000000))z301
+ ..controls hide(z302=(352.601990,52.500000))z302 and hide(z303=(352.601990,52.500000))z303..hide(z304=(357.800995,51.101601))z304
+ ..controls hide(z305=(360.699005,50.320301))z305 and hide(z306=(363.156006,49.875000))z306..hide(z307=(363.351990,50.101601))z307
+ ..controls hide(z308=(363.687988,50.476601))z308 and hide(z309=(388.000000,143.602005))z309..hide(z310=(388.000000,144.500000))z310
+ ..controls hide(z311=(388.000000,144.772995))z311 and hide(z312=(390.500000,145.000000))z312..hide(z313=(393.500000,145.000000))z313
+ ..controls hide(z314=(399.000000,145.000000))z314 and hide(z315=(399.000000,145.000000))z315..hide(z316=(399.000000,148.500000))z316
+ ..controls hide(z317=(399.000000,152.335999))z317 and hide(z318=(400.898010,151.522995))z318..hide(z319=(379.300995,156.940994))z319
+ ..controls hide(z320=(372.601990,158.621002))z320 and hide(z321=(366.828003,160.000000))z321..hide(z322=(366.500000,160.000000))z322
+ ..controls hide(z323=(366.167999,160.000000))z323 and hide(z324=(366.035004,158.550995))z324..hide(z325=(366.199005,156.750000))z325
+ ..controls hide(z326=(366.464996,153.867004))z326 and hide(z327=(367.148010,153.188004))z327..hide(z328=(372.250000,150.750000))z328
+ ..controls hide(z329=(376.351990,148.789001))z329 and hide(z330=(378.000000,147.425995))z330..hide(z331=(378.000000,146.000000))z331
+ ..controls hide(z332=(378.000000,143.897995))z332 and hide(z333=(361.582001,79.898399))z333..hide(z334=(360.199005,76.601601))z334
+ ..controls hide(z335=(359.449005,74.816399))z335 and hide(z336=(358.167999,79.300797))z336..hide(z337=(339.093994,150.500000))z337
+ ..controls hide(z338=(334.300995,168.397995))z338 and hide(z339=(334.300995,168.397995))z339..hide(z340=(329.398010,169.699005))z340
+ ..controls hide(z341=(326.699005,170.417999))z341 and hide(z342=(324.230011,171.000000))z342..hide(z343=(323.898010,171.000000))z343
+ ..controls hide(z344=(323.570007,171.000000))z344 and hide(z345=(317.734009,153.250000))z345..hide(z346=(310.898010,131.449005))z346
+ ..controls hide(z347=(302.433990,104.448997))z347 and hide(z348=(298.261993,92.472702))z348..hide(z349=(297.750000,93.699203))z349
+ ..controls hide(z350=(296.457001,96.800797))z350 and hide(z351=(279.000000,169.613007))z351..hide(z352=(279.000000,171.897995))z352
+ ..controls hide(z353=(279.000000,174.000000))z353 and hide(z354=(279.250000,174.070007))z354..hide(z355=(284.550995,173.449005))z355
+ ..controls hide(z356=(290.050995,172.804993))z356 and hide(z357=(290.097992,172.832001))z357..hide(z358=(289.800995,176.147995))z358
+ ..controls hide(z359=(289.500000,179.500000))z359 and hide(z360=(289.500000,179.500000))z360..hide(z361=(273.500000,183.738007))z361
+ ..controls hide(z362=(254.000000,188.897995))z362 and hide(z363=(254.000000,188.897995))z363..cycle;
+ % renewcolore;
+ draw PreeditedPath7;
+ % dotlabels.rt(280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363);
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/allfigs.mp b/Master/texmf-dist/doc/metapost/featpost/example/allfigs.mp
deleted file mode 100644
index bd214e2323e..00000000000
--- a/Master/texmf-dist/doc/metapost/featpost/example/allfigs.mp
+++ /dev/null
@@ -1,68 +0,0 @@
-% allfigs.mp
-% L. Nobre G.
-% 2001
-
-verbatimtex
-\documentclass{article}
-\begin{document}
-etex
-
-beginfig(0);
- numeric u, i, j, s, as, bs, cs, ds;
- pen pena, penb, penc, pend;
- u = 1.5mm;
- s = 7.1u;
- as = 2u;
- bs = 3u;
- cs = 5u;
- ds = 0.8u;
- pena = pencircle scaled as;
- penb = pencircle scaled bs;
- penc = pencircle scaled cs;
- pend = pencircle scaled ds;
- linecap := squared;
- for i=1 upto 4:
- for j=1 upto 3:
- draw ((i-1)*s,(j-1)*s)--
- ((i-1)*s,j*s)--
- (i*s,j*s)--
- (i*s,(j-1)*s)--cycle withcolor 0.7white;
- endfor;
- endfor;
- z1 = (s,3s);
- z2 = (3s,3s);
- z3 = (4s,3s);
- z4 = (0,0);
- z5 = (1s,2s);
- z6 = (2s,2s);
- z7 = (3s,2s);
- z8 = (1s,1s);
- z9 = (2s,1s);
- linecap := rounded;
- pickup pena;
- draw z1;
- draw z2;
- pickup penb;
- draw z3;
- pickup penc;
- draw z4;
- pickup pend;
- for i=5 upto 9:
- draw z[i];
- endfor;
- label.urt(btex 1 kg etex, z1);
- label.urt(btex 1 kg etex, z2);
- label.rt(btex 2 kg etex, z3+(bs/2,0));
- label.urt(btex 8 kg etex, z4+(0,cs/2));
- label.urt(btex A etex, z5);
- label.urt(btex B etex, z6);
- label.urt(btex C etex, z7);
- label.urt(btex D etex, z8);
- label.urt(btex E etex, z9);
-endfig;
-
-verbatimtex
-\end{document}
-etex
-
-end;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/bichaepolicia.mp b/Master/texmf-dist/doc/metapost/featpost/example/bichaepolicia.mp
new file mode 100644
index 00000000000..f74572c7f39
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/bichaepolicia.mp
@@ -0,0 +1,370 @@
+%GNUPLOT Metapost output: Sat Jun 25 13:20:45 2005
+
+
+%% Add \documentclass and \begin{dcoument} for latex
+%% NB you should set the environment variable TEX to the name of your
+%% latex executable (normally latex) inorder for metapost to work
+%% or run
+%% mpost --tex=latex ...
+
+% BEGPRE
+verbatimtex
+\documentclass{article}
+\begin{document}
+etex
+% ENDPRE
+
+warningcheck:=0;
+defaultmpt:=mpt:=4;
+th:=.6;
+%% Have nice sharp joins on our lines
+linecap:=butt;
+linejoin:=mitered;
+
+def scalepen expr n = pickup pencircle scaled (n*th) enddef;
+def ptsize expr n = mpt:=n*defaultmpt enddef;
+
+
+textmag:= 1.000;
+vardef makepic(expr str) =
+ if picture str : str scaled textmag
+ % otherwise a string
+ else: str infont defaultfont scaled (defaultscale*textmag)
+ fi
+enddef;
+
+def infontsize(expr str, size) =
+ infont str scaled (size / fontsize str)
+enddef;
+
+color currentcolor; currentcolor:=black;
+boolean colorlines,dashedlines;
+colorlines:=true;
+dashedlines:=false;
+
+def _wc = withpen currentpen withcolor currentcolor enddef;
+def _ac = addto currentpicture enddef;
+def _sms = scaled mpt shifted enddef;
+% drawing point-types
+def gpdraw (expr n, x, y) =
+ if n<0: _ac contour fullcircle _sms (x,y)
+ elseif (n=1) or (n=3):
+ _ac doublepath ptpath[n] _sms (x,y) _wc;
+ _ac doublepath ptpath[n] rotated 90 _sms (x,y) _wc
+ elseif n<6: _ac doublepath ptpath[n] _sms (x,y) _wc
+ else: _ac contour ptpath[n] _sms (x,y) _wc
+ fi
+enddef;
+
+% the point shapes
+path ptpath[];
+%diamond
+ptpath0 = ptpath6 = (-1/2,0)--(0,-1/2)--(1/2,0)--(0,1/2)--cycle;
+% plus sign
+ptpath1 = (-1/2,0)--(1/2,0);
+% square
+ptpath2 = ptpath7 = (-1/2,-1/2)--(1/2,-1/2)--(1/2,1/2)--(-1/2,1/2)--cycle;
+% cross
+ptpath3 := (-1/2,-1/2)--(1/2,1/2);
+% circle:
+ptpath4 = ptpath8:= fullcircle;
+% triangle
+ptpath5 = ptpath9 := (0,1/2)--(-1/2,-1/2)--(1/2,-1/2)--cycle;
+
+def linetype expr n =
+ currentcolor:= if colorlines : col[n] else: black fi;
+ if n = -1 :
+ drawoptions(withcolor currentcolor withpen (currentpen scaled .5));
+ elseif n < 1 :
+ drawoptions(_wc);
+ else :
+ drawoptions( if dashedlines: dashed lt[n] fi _wc);
+ fi
+enddef;
+
+% dash patterns
+picture lt[];
+lt1=dashpattern(on 2 off 2); % dashes
+lt2=dashpattern(on 2 off 2 on 0.2 off 2); %dash-dot
+lt3=lt1 scaled 1.414;
+lt4=lt2 scaled 1.414;
+lt5=lt1 scaled 2;
+lt6:=lt2 scaled 2;
+lt7=dashpattern(on 0.2 off 2); %dots
+
+color col[],cyan, magenta, yellow;
+cyan=blue+green; magenta=red+blue;yellow=green+red;
+col[-2]:=col[-1]:=col0:=black;
+col1:=red;
+col2:=(.2,.2,1); %blue
+col3:=(1,.66,0); %orange
+col4:=.85*green;
+col5:=.9*magenta;
+col6:=0.85*cyan;
+col7:=.85*yellow;
+
+%placing text
+picture GPtext;
+def put_text(expr pic, x, y, r, j) =
+ GPtext:=makepic(pic);
+ GPtext:=GPtext shifted
+ if j = 1: (-(ulcorner GPtext + llcorner GPtext)/2)
+ elseif j = 2: (-center GPtext)
+ else: (-(urcorner GPtext + lrcorner GPtext)/2)
+ fi
+ rotated if r > 0: 90 else: 0 fi;
+ draw GPtext shifted (x,y)
+enddef;
+
+beginfig(0);
+w:=5.000in;h:=3.000in;
+a:=w/1200.0;b:=h/720.0;
+scalepen 1; ptsize 1.000;linetype -2;
+draw (143.4a,109.8b)--(160.0a,109.8b);
+draw (1146.3a,109.8b)--(1129.7a,109.8b);
+put_text( btex 0 etex, 125.7a, 109.8b, 0, 3);
+draw (143.4a,126.2b)--(151.7a,126.2b);
+draw (1146.3a,126.2b)--(1138.0a,126.2b);
+draw (143.4a,142.6b)--(151.7a,142.6b);
+draw (1146.3a,142.6b)--(1138.0a,142.6b);
+draw (143.4a,159.1b)--(151.7a,159.1b);
+draw (1146.3a,159.1b)--(1138.0a,159.1b);
+draw (143.4a,175.5b)--(151.7a,175.5b);
+draw (1146.3a,175.5b)--(1138.0a,175.5b);
+draw (143.4a,191.9b)--(160.0a,191.9b);
+draw (1146.3a,191.9b)--(1129.7a,191.9b);
+put_text( btex 5 etex, 125.7a, 191.9b, 0, 3);
+draw (143.4a,208.3b)--(151.7a,208.3b);
+draw (1146.3a,208.3b)--(1138.0a,208.3b);
+draw (143.4a,224.8b)--(151.7a,224.8b);
+draw (1146.3a,224.8b)--(1138.0a,224.8b);
+draw (143.4a,241.2b)--(151.7a,241.2b);
+draw (1146.3a,241.2b)--(1138.0a,241.2b);
+draw (143.4a,257.6b)--(151.7a,257.6b);
+draw (1146.3a,257.6b)--(1138.0a,257.6b);
+draw (143.4a,274.0b)--(160.0a,274.0b);
+draw (1146.3a,274.0b)--(1129.7a,274.0b);
+put_text( btex 10 etex, 125.7a, 274.0b, 0, 3);
+draw (143.4a,290.5b)--(151.7a,290.5b);
+draw (1146.3a,290.5b)--(1138.0a,290.5b);
+draw (143.4a,306.9b)--(151.7a,306.9b);
+draw (1146.3a,306.9b)--(1138.0a,306.9b);
+draw (143.4a,323.3b)--(151.7a,323.3b);
+draw (1146.3a,323.3b)--(1138.0a,323.3b);
+draw (143.4a,339.7b)--(151.7a,339.7b);
+draw (1146.3a,339.7b)--(1138.0a,339.7b);
+draw (143.4a,356.1b)--(160.0a,356.1b);
+draw (1146.3a,356.1b)--(1129.7a,356.1b);
+put_text( btex 15 etex, 125.7a, 356.1b, 0, 3);
+draw (143.4a,372.6b)--(151.7a,372.6b);
+draw (1146.3a,372.6b)--(1138.0a,372.6b);
+draw (143.4a,389.0b)--(151.7a,389.0b);
+draw (1146.3a,389.0b)--(1138.0a,389.0b);
+draw (143.4a,405.4b)--(151.7a,405.4b);
+draw (1146.3a,405.4b)--(1138.0a,405.4b);
+draw (143.4a,421.8b)--(151.7a,421.8b);
+draw (1146.3a,421.8b)--(1138.0a,421.8b);
+draw (143.4a,438.3b)--(160.0a,438.3b);
+draw (1146.3a,438.3b)--(1129.7a,438.3b);
+put_text( btex 20 etex, 125.7a, 438.3b, 0, 3);
+draw (143.4a,454.7b)--(151.7a,454.7b);
+draw (1146.3a,454.7b)--(1138.0a,454.7b);
+draw (143.4a,471.1b)--(151.7a,471.1b);
+draw (1146.3a,471.1b)--(1138.0a,471.1b);
+draw (143.4a,487.5b)--(151.7a,487.5b);
+draw (1146.3a,487.5b)--(1138.0a,487.5b);
+draw (143.4a,503.9b)--(151.7a,503.9b);
+draw (1146.3a,503.9b)--(1138.0a,503.9b);
+draw (143.4a,520.4b)--(160.0a,520.4b);
+draw (1146.3a,520.4b)--(1129.7a,520.4b);
+put_text( btex 25 etex, 125.7a, 520.4b, 0, 3);
+draw (143.4a,536.8b)--(151.7a,536.8b);
+draw (1146.3a,536.8b)--(1138.0a,536.8b);
+draw (143.4a,553.2b)--(151.7a,553.2b);
+draw (1146.3a,553.2b)--(1138.0a,553.2b);
+draw (143.4a,569.6b)--(151.7a,569.6b);
+draw (1146.3a,569.6b)--(1138.0a,569.6b);
+draw (143.4a,586.1b)--(151.7a,586.1b);
+draw (1146.3a,586.1b)--(1138.0a,586.1b);
+draw (143.4a,602.5b)--(160.0a,602.5b);
+draw (1146.3a,602.5b)--(1129.7a,602.5b);
+put_text( btex 30 etex, 125.7a, 602.5b, 0, 3);
+draw (143.4a,618.9b)--(151.7a,618.9b);
+draw (1146.3a,618.9b)--(1138.0a,618.9b);
+draw (143.4a,635.3b)--(151.7a,635.3b);
+draw (1146.3a,635.3b)--(1138.0a,635.3b);
+draw (143.4a,651.8b)--(151.7a,651.8b);
+draw (1146.3a,651.8b)--(1138.0a,651.8b);
+draw (143.4a,668.2b)--(151.7a,668.2b);
+draw (1146.3a,668.2b)--(1138.0a,668.2b);
+draw (143.4a,684.6b)--(160.0a,684.6b);
+draw (1146.3a,684.6b)--(1129.7a,684.6b);
+put_text( btex 35 etex, 125.7a, 684.6b, 0, 3);
+draw (143.4a,109.8b)--(143.4a,126.4b);
+draw (143.4a,684.6b)--(143.4a,668.0b);
+put_text( btex 0 etex, 143.4a, 73.2b, 0, 2);
+draw (310.6a,109.8b)--(310.6a,126.4b);
+draw (310.6a,684.6b)--(310.6a,668.0b);
+put_text( btex 0.2 etex, 310.6a, 73.2b, 0, 2);
+draw (477.7a,109.8b)--(477.7a,126.4b);
+draw (477.7a,684.6b)--(477.7a,668.0b);
+put_text( btex 0.4 etex, 477.7a, 73.2b, 0, 2);
+draw (644.9a,109.8b)--(644.9a,126.4b);
+draw (644.9a,684.6b)--(644.9a,668.0b);
+put_text( btex 0.6 etex, 644.9a, 73.2b, 0, 2);
+draw (812.0a,109.8b)--(812.0a,126.4b);
+draw (812.0a,684.6b)--(812.0a,668.0b);
+put_text( btex 0.8 etex, 812.0a, 73.2b, 0, 2);
+draw (979.2a,109.8b)--(979.2a,126.4b);
+draw (979.2a,684.6b)--(979.2a,668.0b);
+put_text( btex 1 etex, 979.2a, 73.2b, 0, 2);
+draw (1146.3a,109.8b)--(1146.3a,126.4b);
+draw (1146.3a,684.6b)--(1146.3a,668.0b);
+put_text( btex 1.2 etex, 1146.3a, 73.2b, 0, 2);
+draw (143.4a,109.8b)--(1146.3a,109.8b)--(1146.3a,684.6b)--(143.4a,684.6b)--(143.4a,109.8b);
+put_text( btex $l$ (km) etex, 36.6a, 397.2b, 1, 2);
+put_text( btex $t/t_V$ etex, 644.8a, 18.3b, 0, 2);
+linetype 0;
+linetype -2;
+put_text( btex frente da bicha etex, 1005.8a, 217.9b, 0, 3);
+linetype 0;
+draw (1023.5a,217.9b)--(1110.9a,217.9b);
+draw (143.4a,274.0b)--(148.4a,276.0b)--(153.5a,278.0b)--(158.5a,280.0b)--(163.6a,282.0b)
+--(168.6a,283.9b)--(173.6a,285.9b)--(178.7a,287.9b)--(183.7a,289.9b)--(188.8a,291.9b)
+--(193.8a,293.8b)--(198.8a,295.8b)--(203.9a,297.8b)--(208.9a,299.8b)--(214.0a,301.8b)
+--(219.0a,303.7b)--(224.0a,305.7b)--(229.1a,307.7b)--(234.1a,309.7b)--(239.2a,311.7b)
+--(244.2a,313.6b)--(249.2a,315.6b)--(254.3a,317.6b)--(259.3a,319.6b)--(264.4a,321.6b)
+--(269.4a,323.5b)--(274.4a,325.5b)--(279.5a,327.5b)--(284.5a,329.5b)--(289.6a,331.5b)
+--(294.6a,333.4b)--(299.6a,335.4b)--(304.7a,337.4b)--(309.7a,339.4b)--(314.7a,341.4b)
+--(319.8a,343.4b)--(324.8a,345.3b)--(329.9a,347.3b)--(334.9a,349.3b)--(339.9a,351.3b)
+--(345.0a,353.3b)--(350.0a,355.2b)--(355.1a,357.2b)--(360.1a,359.2b)--(365.1a,361.2b)
+--(370.2a,363.2b)--(375.2a,365.1b)--(380.3a,367.1b)--(385.3a,369.1b)--(390.3a,371.1b)
+--(395.4a,373.1b)--(400.4a,375.0b)--(405.5a,377.0b)--(410.5a,379.0b)--(415.5a,381.0b)
+--(420.6a,383.0b)--(425.6a,384.9b)--(430.7a,386.9b)--(435.7a,388.9b)--(440.7a,390.9b)
+--(445.8a,392.9b)--(450.8a,394.8b)--(455.9a,396.8b)--(460.9a,398.8b)--(465.9a,400.8b)
+--(471.0a,402.8b)--(476.0a,404.8b)--(481.1a,406.7b)--(486.1a,408.7b)--(491.1a,410.7b)
+--(496.2a,412.7b)--(501.2a,414.7b)--(506.3a,416.6b)--(511.3a,418.6b)--(516.3a,420.6b)
+--(521.4a,422.6b)--(526.4a,424.6b)--(531.5a,426.5b)--(536.5a,428.5b)--(541.5a,430.5b)
+--(546.6a,432.5b)--(551.6a,434.5b)--(556.7a,436.4b)--(561.7a,438.4b)--(566.7a,440.4b)
+--(571.8a,442.4b)--(576.8a,444.4b)--(581.9a,446.3b)--(586.9a,448.3b)--(591.9a,450.3b)
+--(597.0a,452.3b)--(602.0a,454.3b)--(607.1a,456.2b)--(612.1a,458.2b)--(617.1a,460.2b)
+--(622.2a,462.2b)--(627.2a,464.2b)--(632.3a,466.2b)--(637.3a,468.1b)--(642.3a,470.1b)
+--(647.4a,472.1b)--(652.4a,474.1b)--(657.4a,476.1b)--(662.5a,478.0b)--(667.5a,480.0b)
+--(672.6a,482.0b)--(677.6a,484.0b)--(682.6a,486.0b)--(687.7a,487.9b)--(692.7a,489.9b)
+--(697.8a,491.9b)--(702.8a,493.9b)--(707.8a,495.9b)--(712.9a,497.8b)--(717.9a,499.8b)
+--(723.0a,501.8b)--(728.0a,503.8b)--(733.0a,505.8b)--(738.1a,507.7b)--(743.1a,509.7b)
+--(748.2a,511.7b)--(753.2a,513.7b)--(758.2a,515.7b)--(763.3a,517.6b)--(768.3a,519.6b)
+--(773.4a,521.6b)--(778.4a,523.6b)--(783.4a,525.6b)--(788.5a,527.6b)--(793.5a,529.5b)
+--(798.6a,531.5b)--(803.6a,533.5b)--(808.6a,535.5b)--(813.7a,537.5b)--(818.7a,539.4b)
+--(823.8a,541.4b)--(828.8a,543.4b)--(833.8a,545.4b)--(838.9a,547.4b)--(843.9a,549.3b)
+--(849.0a,551.3b)--(854.0a,553.3b)--(859.0a,555.3b)--(864.1a,557.3b)--(869.1a,559.2b)
+--(874.2a,561.2b)--(879.2a,563.2b)--(884.2a,565.2b)--(889.3a,567.2b)--(894.3a,569.1b)
+--(899.4a,571.1b)--(904.4a,573.1b)--(909.4a,575.1b)--(914.5a,577.1b)--(919.5a,579.0b)
+--(924.6a,581.0b)--(929.6a,583.0b)--(934.6a,585.0b)--(939.7a,587.0b)--(944.7a,589.0b)
+--(949.8a,590.9b)--(954.8a,592.9b)--(959.8a,594.9b)--(964.9a,596.9b)--(969.9a,598.9b)
+--(975.0a,600.8b)--(980.0a,602.8b)--(985.0a,604.8b)--(990.1a,606.8b)--(995.1a,608.8b)
+--(1000.1a,610.7b)--(1005.2a,612.7b)--(1010.2a,614.7b)--(1015.3a,616.7b)--(1020.3a,618.7b)
+--(1025.3a,620.6b)--(1030.4a,622.6b)--(1035.4a,624.6b)--(1040.5a,626.6b)--(1045.5a,628.6b)
+--(1050.5a,630.5b)--(1055.6a,632.5b)--(1060.6a,634.5b)--(1065.7a,636.5b)--(1070.7a,638.5b)
+--(1075.7a,640.4b)--(1080.8a,642.4b)--(1085.8a,644.4b)--(1090.9a,646.4b)--(1095.9a,648.4b)
+--(1100.9a,650.4b)--(1106.0a,652.3b)--(1111.0a,654.3b)--(1116.1a,656.3b)--(1121.1a,658.3b)
+--(1126.1a,660.3b)--(1131.2a,662.2b)--(1136.2a,664.2b)--(1141.3a,666.2b)--(1146.3a,668.2b);
+linetype 1;
+linetype -2;
+put_text( btex fim da bicha etex, 1005.8a, 181.3b, 0, 3);
+linetype 1;
+draw (1023.5a,181.3b)--(1110.9a,181.3b);
+draw (143.4a,109.8b)--(148.4a,111.8b)--(153.5a,113.8b)--(158.5a,115.7b)--(163.6a,117.7b)
+--(168.6a,119.7b)--(173.6a,121.7b)--(178.7a,123.7b)--(183.7a,125.6b)--(188.8a,127.6b)
+--(193.8a,129.6b)--(198.8a,131.6b)--(203.9a,133.6b)--(208.9a,135.5b)--(214.0a,137.5b)
+--(219.0a,139.5b)--(224.0a,141.5b)--(229.1a,143.5b)--(234.1a,145.5b)--(239.2a,147.4b)
+--(244.2a,149.4b)--(249.2a,151.4b)--(254.3a,153.4b)--(259.3a,155.4b)--(264.4a,157.3b)
+--(269.4a,159.3b)--(274.4a,161.3b)--(279.5a,163.3b)--(284.5a,165.3b)--(289.6a,167.2b)
+--(294.6a,169.2b)--(299.6a,171.2b)--(304.7a,173.2b)--(309.7a,175.2b)--(314.7a,177.1b)
+--(319.8a,179.1b)--(324.8a,181.1b)--(329.9a,183.1b)--(334.9a,185.1b)--(339.9a,187.0b)
+--(345.0a,189.0b)--(350.0a,191.0b)--(355.1a,193.0b)--(360.1a,195.0b)--(365.1a,196.9b)
+--(370.2a,198.9b)--(375.2a,200.9b)--(380.3a,202.9b)--(385.3a,204.9b)--(390.3a,206.9b)
+--(395.4a,208.8b)--(400.4a,210.8b)--(405.5a,212.8b)--(410.5a,214.8b)--(415.5a,216.8b)
+--(420.6a,218.7b)--(425.6a,220.7b)--(430.7a,222.7b)--(435.7a,224.7b)--(440.7a,226.7b)
+--(445.8a,228.6b)--(450.8a,230.6b)--(455.9a,232.6b)--(460.9a,234.6b)--(465.9a,236.6b)
+--(471.0a,238.5b)--(476.0a,240.5b)--(481.1a,242.5b)--(486.1a,244.5b)--(491.1a,246.5b)
+--(496.2a,248.4b)--(501.2a,250.4b)--(506.3a,252.4b)--(511.3a,254.4b)--(516.3a,256.4b)
+--(521.4a,258.3b)--(526.4a,260.3b)--(531.5a,262.3b)--(536.5a,264.3b)--(541.5a,266.3b)
+--(546.6a,268.3b)--(551.6a,270.2b)--(556.7a,272.2b)--(561.7a,274.2b)--(566.7a,276.2b)
+--(571.8a,278.2b)--(576.8a,280.1b)--(581.9a,282.1b)--(586.9a,284.1b)--(591.9a,286.1b)
+--(597.0a,288.1b)--(602.0a,290.0b)--(607.1a,292.0b)--(612.1a,294.0b)--(617.1a,296.0b)
+--(622.2a,298.0b)--(627.2a,299.9b)--(632.3a,301.9b)--(637.3a,303.9b)--(642.3a,305.9b)
+--(647.4a,307.9b)--(652.4a,309.8b)--(657.4a,311.8b)--(662.5a,313.8b)--(667.5a,315.8b)
+--(672.6a,317.8b)--(677.6a,319.7b)--(682.6a,321.7b)--(687.7a,323.7b)--(692.7a,325.7b)
+--(697.8a,327.7b)--(702.8a,329.7b)--(707.8a,331.6b)--(712.9a,333.6b)--(717.9a,335.6b)
+--(723.0a,337.6b)--(728.0a,339.6b)--(733.0a,341.5b)--(738.1a,343.5b)--(743.1a,345.5b)
+--(748.2a,347.5b)--(753.2a,349.5b)--(758.2a,351.4b)--(763.3a,353.4b)--(768.3a,355.4b)
+--(773.4a,357.4b)--(778.4a,359.4b)--(783.4a,361.3b)--(788.5a,363.3b)--(793.5a,365.3b)
+--(798.6a,367.3b)--(803.6a,369.3b)--(808.6a,371.2b)--(813.7a,373.2b)--(818.7a,375.2b)
+--(823.8a,377.2b)--(828.8a,379.2b)--(833.8a,381.1b)--(838.9a,383.1b)--(843.9a,385.1b)
+--(849.0a,387.1b)--(854.0a,389.1b)--(859.0a,391.1b)--(864.1a,393.0b)--(869.1a,395.0b)
+--(874.2a,397.0b)--(879.2a,399.0b)--(884.2a,401.0b)--(889.3a,402.9b)--(894.3a,404.9b)
+--(899.4a,406.9b)--(904.4a,408.9b)--(909.4a,410.9b)--(914.5a,412.8b)--(919.5a,414.8b)
+--(924.6a,416.8b)--(929.6a,418.8b)--(934.6a,420.8b)--(939.7a,422.7b)--(944.7a,424.7b)
+--(949.8a,426.7b)--(954.8a,428.7b)--(959.8a,430.7b)--(964.9a,432.6b)--(969.9a,434.6b)
+--(975.0a,436.6b)--(980.0a,438.6b)--(985.0a,440.6b)--(990.1a,442.5b)--(995.1a,444.5b)
+--(1000.1a,446.5b)--(1005.2a,448.5b)--(1010.2a,450.5b)--(1015.3a,452.5b)--(1020.3a,454.4b)
+--(1025.3a,456.4b)--(1030.4a,458.4b)--(1035.4a,460.4b)--(1040.5a,462.4b)--(1045.5a,464.3b)
+--(1050.5a,466.3b)--(1055.6a,468.3b)--(1060.6a,470.3b)--(1065.7a,472.3b)--(1070.7a,474.2b)
+--(1075.7a,476.2b)--(1080.8a,478.2b)--(1085.8a,480.2b)--(1090.9a,482.2b)--(1095.9a,484.1b)
+--(1100.9a,486.1b)--(1106.0a,488.1b)--(1111.0a,490.1b)--(1116.1a,492.1b)--(1121.1a,494.0b)
+--(1126.1a,496.0b)--(1131.2a,498.0b)--(1136.2a,500.0b)--(1141.3a,502.0b)--(1146.3a,503.9b);
+linetype 2;
+linetype -2;
+put_text( btex pol\'{\i}cia etex, 1005.8a, 144.7b, 0, 3);
+linetype 2;
+draw (1023.5a,144.7b)--(1110.9a,144.7b);
+draw (143.4a,109.8b)--(148.4a,112.8b)--(153.5a,115.7b)--(158.5a,118.7b)--(163.6a,121.7b)
+--(168.6a,124.7b)--(173.6a,127.6b)--(178.7a,130.6b)--(183.7a,133.6b)--(188.8a,136.5b)
+--(193.8a,139.5b)--(198.8a,142.5b)--(203.9a,145.5b)--(208.9a,148.4b)--(214.0a,151.4b)
+--(219.0a,154.4b)--(224.0a,157.3b)--(229.1a,160.3b)--(234.1a,163.3b)--(239.2a,166.2b)
+--(244.2a,169.2b)--(249.2a,172.2b)--(254.3a,175.2b)--(259.3a,178.1b)--(264.4a,181.1b)
+--(269.4a,184.1b)--(274.4a,187.0b)--(279.5a,190.0b)--(284.5a,193.0b)--(289.6a,196.0b)
+--(294.6a,198.9b)--(299.6a,201.9b)--(304.7a,204.9b)--(309.7a,207.8b)--(314.7a,210.8b)
+--(319.8a,213.8b)--(324.8a,216.8b)--(329.9a,219.7b)--(334.9a,222.7b)--(339.9a,225.7b)
+--(345.0a,228.6b)--(350.0a,231.6b)--(355.1a,234.6b)--(360.1a,237.6b)--(365.1a,240.5b)
+--(370.2a,243.5b)--(375.2a,246.5b)--(380.3a,249.4b)--(385.3a,252.4b)--(390.3a,255.4b)
+--(395.4a,258.3b)--(400.4a,261.3b)--(405.5a,264.3b)--(410.5a,267.3b)--(415.5a,270.2b)
+--(420.6a,273.2b)--(425.6a,276.2b)--(430.7a,279.1b)--(435.7a,282.1b)--(440.7a,285.1b)
+--(445.8a,288.1b)--(450.8a,291.0b)--(455.9a,294.0b)--(460.9a,297.0b)--(465.9a,299.9b)
+--(471.0a,302.9b)--(476.0a,305.9b)--(481.1a,308.9b)--(486.1a,311.8b)--(491.1a,314.8b)
+--(496.2a,317.8b)--(501.2a,320.7b)--(506.3a,323.7b)--(511.3a,326.7b)--(516.3a,329.7b)
+--(521.4a,332.6b)--(526.4a,335.6b)--(531.5a,338.6b)--(536.5a,341.5b)--(541.5a,344.5b)
+--(546.6a,347.5b)--(551.6a,350.4b)--(556.7a,353.4b)--(561.7a,356.4b)--(566.7a,359.4b)
+--(571.8a,362.3b)--(576.8a,365.3b)--(581.9a,368.3b)--(586.9a,371.2b)--(591.9a,374.2b)
+--(597.0a,377.2b)--(602.0a,380.2b)--(607.1a,383.1b)--(612.1a,386.1b)--(617.1a,389.1b)
+--(622.2a,392.0b)--(627.2a,395.0b)--(632.3a,398.0b)--(637.3a,401.0b)--(642.3a,403.9b)
+--(647.4a,406.9b)--(652.4a,409.9b)--(657.4a,412.8b)--(662.5a,415.8b)--(667.5a,418.8b)
+--(672.6a,421.8b)--(677.6a,424.7b)--(682.6a,427.7b)--(687.7a,430.7b)--(692.7a,433.6b)
+--(697.8a,436.6b)--(702.8a,439.6b)--(707.8a,442.5b)--(712.9a,445.5b)--(717.9a,448.5b)
+--(723.0a,451.5b)--(728.0a,454.4b)--(733.0a,457.4b)--(738.1a,460.4b)--(743.1a,463.3b)
+--(748.2a,466.3b)--(753.2a,469.3b)--(758.2a,472.3b)--(763.3a,475.2b)--(768.3a,478.2b)
+--(773.4a,481.2b)--(778.4a,484.1b)--(783.4a,487.1b)--(788.5a,490.1b)--(793.5a,493.1b)
+--(798.6a,496.0b)--(803.6a,499.0b)--(808.6a,502.0b)--(813.7a,504.9b)--(818.7a,507.9b)
+--(823.8a,510.9b)--(828.8a,513.9b)--(833.8a,516.8b)--(838.9a,519.8b)--(843.9a,522.8b)
+--(849.0a,525.7b)--(854.0a,528.7b)--(859.0a,531.7b)--(864.1a,534.6b)--(869.1a,537.6b)
+--(874.2a,540.6b)--(879.2a,543.6b)--(884.2a,546.5b)--(889.3a,549.5b)--(894.3a,552.5b)
+--(899.4a,555.4b)--(904.4a,558.4b)--(909.4a,561.4b)--(914.5a,564.4b)--(919.5a,567.3b)
+--(924.6a,570.3b)--(929.6a,573.3b)--(934.6a,576.2b)--(939.7a,579.2b)--(944.7a,582.2b)
+--(949.8a,585.2b)--(954.8a,588.1b)--(959.8a,591.1b)--(964.9a,594.1b)--(969.9a,597.0b)
+--(975.0a,600.0b)--(980.0a,602.0b)--(985.0a,599.0b)--(990.1a,596.0b)--(995.1a,593.1b)
+--(1000.1a,590.1b)--(1005.2a,587.1b)--(1010.2a,584.2b)--(1015.3a,581.2b)--(1020.3a,578.2b)
+--(1025.3a,575.3b)--(1030.4a,572.3b)--(1035.4a,569.3b)--(1040.5a,566.3b)--(1045.5a,563.4b)
+--(1050.5a,560.4b)--(1055.6a,557.4b)--(1060.6a,554.5b)--(1065.7a,551.5b)--(1070.7a,548.5b)
+--(1075.7a,545.5b)--(1080.8a,542.6b)--(1085.8a,539.6b)--(1090.9a,536.6b)--(1095.9a,533.7b)
+--(1100.9a,530.7b)--(1106.0a,527.7b)--(1111.0a,524.7b)--(1116.1a,521.8b)--(1121.1a,518.8b)
+--(1126.1a,515.8b)--(1131.2a,512.9b)--(1136.2a,509.9b)--(1141.3a,506.9b)--(1146.3a,503.9b);
+linetype -2;
+draw (143.4a,109.8b)--(1146.3a,109.8b)--(1146.3a,684.6b)--(143.4a,684.6b)--(143.4a,109.8b);
+endfig;
+% BEGPOST
+verbatimtex
+ \end{document}
+etex
+% ENDPOST
+end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/casadopessoal.mp b/Master/texmf-dist/doc/metapost/featpost/example/casadopessoal.mp
index 2d596680b29..f6b92420770 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/casadopessoal.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/casadopessoal.mp
@@ -1,6 +1,6 @@
% casadopessoal.mp
% L. Nobre G.
-% 2011
+% 2012
prologues := 1;
@@ -10,15 +10,16 @@ raio = 0.4u;
espa = u-2*raio;
cpc = u;
cc = 2.16u;
-cp =1.6u;
+cp = 1.6u;
-color pgreen, cblue;
+color pgreen, cblue, fgreen;
pgreen = (139,194,52)/255;
cblue = (12,84,130)/255;
+fgreen = (150,200,50)/255;
picture C, P;
def boxpath( expr w, h, r ) =
- ((w,0)---(w,h-r)...(w-r,h)---(r-w,h)...(-w,h-r)---(-w,r-h)...(r-w,-h)---(w-r,-h)...(w,r-h)---cycle)
+ ((w,h-r)...(w-r,h)---(r-w,h)...(-w,h-r)---(-w,r-h)...(r-w,-h)---(w-r,-h)...(w,r-h)---cycle)
enddef;
def boxdraw( expr W, H, R, coox, cooy, col ) =
@@ -50,4 +51,13 @@ beginfig(3);
draw P shifted (raio+0.5*(cc+3*espa),0);
endfig;
+beginfig(4);
+ numeric altur;
+ altur = 2*(cp+espa)+raio;
+ boxdraw(u,cp,raio,-0.5*(cc+espa),0.5*(cp-altur),fgreen);
+ boxdraw(cp,u,raio,0.5*(cp-cc),cp+0.5*(espa-altur),fgreen);
+ boxdraw(u,cp,raio,-0.5*(cc+espa),0.5*(altur-cp)-espa-raio,fgreen);
+ boxdraw(cc,u,raio,0,0.5*(altur-u),fgreen);
+endfig;
+
end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/circlespeedprofile.mp b/Master/texmf-dist/doc/metapost/featpost/example/circlespeedprofile.mp
new file mode 100644
index 00000000000..6c2bc9d78c2
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/circlespeedprofile.mp
@@ -0,0 +1,43 @@
+% circlespeedprofile.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, s, a, ai, as, af, dist, b, ray;
+ pen one;
+ pair poi, ref, tip, cen, contactpoi, toppoi;
+ u = 10cm;
+ s = 0.5;
+ ai = 270;
+ as = -8;
+ af = -90-as;
+ one = pencircle scaled 0.015u;
+ draw (-0.5u*(1+s,1))--(u,-0.5u) withpen one withcolor 0.5white;
+ draw fullcircle scaled u withpen one;
+ contactpoi = (0,-0.5u);
+ toppoi = (0,0.5u);
+ cen = 0.5*(contactpoi+toppoi+(s*u,0));
+ ray = abs( cen-toppoi );
+ draw fullcircle scaled 2ray shifted cen withpen one withcolor red;
+ ref = (0,-0.5u);
+ ahangle := 30;
+ ahlength := 0.03u;
+ for a=ai step as until af:
+ poi := 0.5u*dir(a);
+ dist := abs( poi-ref );
+ tip := poi+s*dist*dir(0.5*a-45);
+ drawarrow poi--tip;
+ endfor;
+ % path prof;
+ % prof = for a=ai step as until af:
+ % hide( poi := 0.5u*dir(a);
+ % dist := abs( poi-ref);
+ % tip := (poi+s*dist*dir(0.5*a-45));
+ % drawarrow poi--tip;)
+ % tip.. endfor cycle;
+ % draw prof withpen one withcolor red;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/conoscopy.mp b/Master/texmf-dist/doc/metapost/featpost/example/conoscopy.mp
new file mode 100644
index 00000000000..880c9a0bc46
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/conoscopy.mp
@@ -0,0 +1,224 @@
+% conoscopy.mp
+% L. Nobre G.
+% 2013
+
+input featpost3Dplus2D;
+
+verbatimtex \documentclass{article}\begin{document} etex
+
+beginfig(1);
+ f := (6,5,5);
+ Spread := 125;
+ numeric maja, raya, angphi, angthe, decl, valy, valz, rectsiz;
+ color majav, aphiv, aphip, majbv, perpv, perpvl;
+ maja = 0.72;
+ raya = 0.5;
+ angphi = 15;
+ angthe = 30;
+ rectsiz = 0.06;
+ majav = (0,0,maja);
+ aphiv = raya*(cosd(angphi),sind(angphi),0);
+ aphip = raya*(sind(angphi),-cosd(angphi),0);
+ majbv = planarrotation( majav, aphip, angthe );
+ perpv = ncrossprod(majbv,aphiv);
+ decl = Z(perpv)/(Y(perpv)++X(perpv));
+ valy = maja*raya/((decl*raya)++maja);
+ valz = valy*decl;
+ if angthe>90: valy:=-valy; fi;
+ perpv := blue*valz-N(aphip)*valy;
+ perpvl = maja*N(perpv);
+ spheroid( black, majav, raya );
+ drawoptions( dashed (withdots scaled 0.25) );
+ cartaxes( 1, 1, 1 );
+ draw rigorouscircle( black, blue, raya );
+ draw rp(black)--rp(-aphiv);
+ draw rp(black)--rp(-majbv);
+ %draw rp(black)--rp(-majav);
+ %draw rp(black)--rp(-aphip);
+ %draw rp(black)--rp(-perpv);
+ draw ellipticpath( black, majbv, aphiv );
+ drawoptions();
+ drawarrow rp((raya,0,0))--rp((1,0,0));
+ drawarrow rp((0,raya,0))--rp((0,1,0));
+ drawarrow rp(majav)--rp((0,0,1));
+ drawoptions( withpen pencircle scaled 1.7pt withcolor 0.65blue );
+ drawarrow rp(black)--rp(aphiv);
+ drawarrow rp(black)--rp(majbv);
+ %draw rp(black)--rp(majav);
+ %drawarrow rp(black)--rp(aphip);
+ drawarrow rp(black)--rp(perpvl);
+ drawoptions( withpen pencircle scaled 1.3pt );
+ draw subpath (-1,15) of ellipticpath( black, majbv, aphiv ) dashed evenly;
+ %draw ellipticpath( black, aphip, majav ) dashed evenly;
+ % draw ellipticpath( black, green, 2*blue ) dashed evenly;
+ drawoptions();
+ squareangline( perpv, aphiv, black, rectsiz);
+ squareangline( perpv, majbv, black, rectsiz);
+ squareangline( majbv, aphiv, black, rectsiz);
+ angline(majav, perpv, black, maja-raya, btex $\theta$ etex)(rt);
+ pickup pencircle scaled 3.6pt;
+ draw rp(-aphiv); %label.bot("aphiv",rp(aphiv));
+ draw rp(-majbv); %label.lft("majbv",rp(majbv));
+ %draw rp(majav); label.rt("majav",rp(majav));
+ %draw rp(-aphip); label.rt("aphip",rp(aphip));
+ draw rp(perpv); %label.rt("perpv",rp(perpvl));
+ label.llft(btex $\vec{n}^{\prime\prime}$ etex,rp(aphiv));
+ label.ulft(btex $\vec{n}^{\prime}$ etex,rp(majbv));
+ label.top(btex $\vec{p}$ etex,rp(perpvl));
+endfig;
+
+beginfig(2);
+ f := (6,4,3);
+ Spread := 125;
+ numeric maja, raya, angphi, angthe, pes;
+ color majav, aphiv, aphip, majbv;
+ path ell;
+ maja = 0.82;
+ raya = 0.5;
+ angphi = -15;
+ angthe = 55;
+ pes = 1.3pt;
+ drawoptions( withpen pencircle scaled pes );
+ majav = (0,0,maja);
+ aphiv = raya*(cosd(angphi),sind(angphi),0);
+ aphip = raya*(sind(angphi),-cosd(angphi),0);
+ majbv = planarrotation( majav, aphip, angthe );
+ spheroid( black, majav, raya );
+ ell = ellipticpath( black, majbv, aphiv );
+ draw subpath (3,20) of ell;
+ drawoptions( withpen pencircle scaled pes dashed (withdots scaled 0.42) );
+ draw rigorouscircle( black, blue, raya );
+ draw rp(aphip)--rp(-aphip);
+ draw rp(aphiv)--rp(-aphiv);
+ draw rp(majbv)--rp(-majbv);
+ draw ell;
+endfig;
+
+beginfig(3); %%%%%%%%%%%%%%%% don't change the parameters... %%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% and forget this (it is wrong). %%%%%%%%%%%%
+ f := (6,4,7);
+ Spread := 125;
+ numeric maja, raya, angphi, angthe, pes, decl;
+ numeric valy, valz, begp, endp, rectsiz;
+ color majav, aphiv, aphip, majbv, majcv, perpv, perqv;
+ path ell, fll, cir;
+ maja = 0.82;
+ raya = 0.5;
+ angphi = 17;
+ angthe = 82;
+ pes = 1.3pt;
+ begp = 14;
+ endp = 18;
+ rectsiz = 0.08;
+ drawoptions( withpen pencircle scaled pes );
+ majav = (0,0,maja);
+ aphiv = raya*(cosd(angphi),sind(angphi),0);
+ aphip = raya*(sind(angphi),-cosd(angphi),0);
+ majbv = planarrotation( majav, aphip, angthe );
+ majcv = planarrotation( majav, -aphip, angthe );
+ perpv = ncrossprod(majbv,aphiv);
+ decl = Z(perpv)/(Y(perpv)++X(perpv));
+ valy = maja*raya/((decl*raya)++maja);
+ valz = valy*decl;
+ if angthe>90: valy:=-valy; fi;
+ perpv := blue*valz-N(aphip)*valy;
+ perqv = (-X(perpv),-Y(perpv),Z(perpv));
+ spheroid( black, majav, raya );
+ squareangline( -majbv, perpv, black, rectsiz);
+ squareangline( -majcv, perqv, black, rectsiz);
+ drawoptions( withpen pencircle scaled 1.095pes );
+ cir = spatialhalfcircle(black, majav, raya, true );
+ undraw subpath (0,0.9*(length cir)) of cir;
+ ell = ellipticpath( black, majbv, aphiv );
+ fll = ellipticpath( black, majcv, aphiv );
+ drawoptions( withpen pencircle scaled pes dashed (withdots scaled 0.42) );
+ draw ellipticpath( black, majav, aphip );
+ draw rp(aphiv)--rp(-aphiv);
+ draw rp(majbv)--rp(-majbv);
+ draw rp(majcv)--rp(-majcv);
+ drawoptions( withpen pencircle scaled 2pes );
+ draw subpath (begp,endp) of fll withcolor blue;
+ draw ell withcolor red;
+ draw subpath (endp-36, begp) of fll withcolor blue;
+ drawarrow rp(black)--rp(perpv) withcolor red;
+ drawarrow rp(black)--rp(perqv) withcolor blue;
+endfig;
+
+beginfig(4);
+ f := (6,4,7);
+ Spread := 40;
+ numeric axa, axb, axc;
+ color d[];
+ axa = 2.618;
+ axb = 1.618;
+ axc = 1.0;
+ d1 = (axa,0,0);
+ d2 = (0,axb,0);
+ d3 = (0,0,axc);
+ draw ellipticpath(black,d1,d2);
+ draw ellipticpath(black,d1,d3);
+ draw ellipticpath(black,d2,d3);
+ drawarrow rp(black)--rp(d1);
+ drawarrow rp(black)--rp(d2);
+ drawarrow rp(black)--rp(d3);
+ draw ellipsoid(black,d1,d2,d3) withpen pencircle scaled 2.5pt withcolor blue;
+endfig;
+
+beginfig(5);
+ f := (4,3,6.5);
+ Spread := 100;
+ numeric axa, axb, axc, vz, vy;
+ color va, vb, d[];
+ axa = 0.505;
+ axb = 0.495;
+ axc = 0.82;
+ d1 = (axa,0,0);
+ d2 = (0,axb,0);
+ d3 = (0,0,axc);
+ vy = axb*(axc+-+axa)/(axc+-+axb);
+ vz = axa+-+vy;
+ va = (0,vy,vz);
+ vb = (0,-vy,vz);
+ drawarrow rp(black)--rp(d2);
+ draw ellipticpath(black,d1,va) withcolor red;
+ draw ellipticpath(black,d1,vb) withcolor green;
+ draw ellipticpath(black,d2,d3) dashed withdots scaled 0.333;
+ draw rp(black)--rp(-d1) dashed withdots scaled 0.333;
+ drawarrow rp(black)--rp(va) withcolor red;
+ drawarrow rp(black)--rp(vb) withcolor green;
+ draw rp(black)--rp(-va) dashed withdots scaled 0.333 withcolor red;
+ draw rp(black)--rp(-vb) dashed withdots scaled 0.333 withcolor green;
+ draw ellipsoid(black,d1,d2,d3) withpen pencircle scaled 2pt withcolor blue;
+ drawarrow rp(black)--rp(d3);
+ drawarrow rp(black)--rp(d1);
+ draw subpath (0,9) of ellipticpath(black,d1,d2);
+ draw subpath (0,9) of ellipticpath(black,d1,d3);
+ draw subpath (0,9) of ellipticpath(black,d2,d3);
+ labeloffset := 1pt;
+ label.lrt(btex $n_\alpha$ etex,rp(d2));
+ label.bot(btex $n_\beta$ etex,rp(d1));
+ label.top(btex $n_\gamma$ etex,rp(d3));
+ label.rt(btex $n_\beta$ etex,rp(va));
+ label.bot(btex $n_\beta$ etex,rp(vb));
+ color perpv, perqv;
+ numeric decl, valy, valz, fact;
+ fact = 1.55;
+ perpv = ncrossprod(d1,va);
+ decl = Z(perpv)/Y(perpv);
+ valy = axc*axb/((decl*axb)++axc);
+ valz = -valy*decl;
+ perpv := blue*valz-green*valy;
+ perqv := blue*valz+green*valy;
+ drawarrow rp(black)--rp(fact*perpv) withcolor red;
+ drawarrow rp(black)--rp(fact*perqv) withcolor green;
+ draw rp(perpv) withpen pencircle scaled 2pt withcolor red;
+ draw rp(perqv) withpen pencircle scaled 2pt withcolor green;
+ label.lft(btex OA etex,rp(fact*perpv));
+ label.rt(btex OA etex,rp(fact*perqv));
+endfig;
+
+
+verbatimtex \end{document} etex
+
+end;
+
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/equilibriodetorques.mp b/Master/texmf-dist/doc/metapost/featpost/example/equilibriodetorques.mp
new file mode 100644
index 00000000000..84530ba329b
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/equilibriodetorques.mp
@@ -0,0 +1,47 @@
+% equilibriodetorques.mp
+% L. Nobre G.
+% 2012
+
+verbatimtex \documentclass{article}\begin{document} etex
+
+beginfig(1);
+ numeric u, longarm, smallarm, senodenom, senonumer, seno, ang, aux;
+ u = 5mm;
+ smallarm = 3u;
+ longarm = 5u;
+ senodenom = 10;
+ senonumer = 8;
+ seno = senonumer/senodenom;
+ ang = angle(1+-+seno,seno);
+ pen mainpen;
+ mainpen = pencircle scaled (0.15u);
+ path barpath, angpath, lenpath;
+ barpath = (longarm,0.25u)--(-smallarm,0.25u)--
+ (-smallarm,-0.25u)--(longarm,-0.25u)--cycle;
+ filldraw barpath withpen mainpen withcolor (0.5white);
+ drawarrow (-smallarm-u,0)--(longarm+u,0) dashed evenly;
+ drawarrow (0,-2u)--(0,3u) dashed evenly;
+ draw origin withpen mainpen;
+ pair a, b, fa, fb;
+ a = (-smallarm,0);
+ b = (longarm,0);
+ angpath = (halfcircle cutafter (origin--dir(ang))) scaled (2.5u) shifted a;
+ draw angpath;
+ fa = a+2.5u*dir(ang);
+ fb = b+up*abs(fa)*seno*smallarm/longarm;
+ drawarrow a--fa withpen mainpen;
+ drawarrow b--fb withpen mainpen;
+ aux = 0.45*(ypart fb);
+ lenpath = (0,aux)--(longarm,aux);
+ drawdblarrow lenpath;
+ label.rt(btex $\theta$ etex, point (0.5*(length angpath)) of angpath );
+ label.lft(btex $\vec{F}_1$ etex, fa);
+ label.rt(btex $\vec{F}_2$ etex, fb);
+ label.llft(btex $Y$ etex, (0,3u));
+ label.llft(btex $X$ etex, (longarm+u,0));
+ label.top(btex $r_2$ etex, point 0.5 of lenpath );
+endfig;
+
+verbatimtex \end{document} etex
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/fieldlinesnormapaperwork.mp b/Master/texmf-dist/doc/metapost/featpost/example/fieldlinesnormapaperwork.mp
index a2451a4607c..fb44cf15e37 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/fieldlinesnormapaperwork.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/fieldlinesnormapaperwork.mp
@@ -1,6 +1,6 @@
% fieldlinesnormapaperwork.mp
% L. Nobre G.
-% 2009
+% 2013
input featpost3Dplus2D;
@@ -10,14 +10,15 @@ Spread := 25;
f := (20,0,0);
color posa, posb, perpd;
-numeric limy, limz, bord;
+numeric limy, limz, bord, reduct;
posa = (0,-4,0); %%%%%%%% allways make Y(posa) < Y(posb) %%%%%%%%%%%
posb = (0,4,0); %%%%%%%%%%%% never make Y(posa) = Y(posb) %%%%%%%%%
perpd = (1,0,0);
limy = 7;
limz = 5;
bord = 2.5;
-
+reduct = 0.18;
+
def vecfunc( expr posit )=
begingroup
save field;
@@ -80,7 +81,7 @@ def vecfunc( expr posit )=
fi;
hf = (hd/bord)**2;
vf = (vd/bord)**2;
- ( N(field*(0.975-hf)*(0.975-vf)+hf*vech+vf*vecv) )
+ ( N(field*(0.975-hf)*(0.975-vf)+(hf*vech+vf*vecv)*reduct) )
endgroup
enddef;
@@ -102,13 +103,13 @@ beginfig(1);
fina = pencircle scaled 1pt;
lena = 80;
numa = 13;
- diffstep = 0.2;
+ diffstep = 0.12;
ray = 0.05;
- drawoptions(withpen grossa);
- for i=1 upto numa-1:
- auxp := (i/numa)[rp(posa),rp(posb)];
- draw auxp;
- endfor;
+ % drawoptions(withpen grossa);
+ % for i=1 upto numa-1:
+ % auxp := (i/numa)[rp(posa),rp(posb)];
+ % draw auxp;
+ % endfor;
drawoptions(withpen fina);
for i=2 step 2 until numa-2:
stp := (i/numa)[posa,posb];
@@ -121,14 +122,18 @@ beginfig(1);
clip currentpicture to bordeline;
draw bordeline;
drawoptions(withpen fina);
- numeric side;
- path aux, electri;
- side = 10mm;
- aux = origin--(side,0)--(side,side)--cycle;
- z0 = 0.667[origin,(side,0.5*side)];
- electri = aux shifted (-z0) rotated (45+angle(rp(posb)-rp(posa)));
- draw electri shifted rp(posb);
- draw electri rotated 180 shifted rp(posa);
+ % numeric side;
+ % path aux, electri;
+ % side = 10mm;
+ % aux = origin--(side,0)--(side,side)--cycle;
+ % z0 = 0.667[origin,(side,0.5*side)];
+ % electri = aux shifted (-z0) rotated (45+angle(rp(posb)-rp(posa)));
+ % draw electri shifted rp(posb);
+ % draw electri rotated 180 shifted rp(posa);
+ path electri;
+ electri = fullcircle scaled 7mm;
+ fill electri shifted rp(posb) withcolor 0.5white;
+ fill electri shifted rp(posa) withcolor 0.5white;
endfig;
end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/fis3prex7.mp b/Master/texmf-dist/doc/metapost/featpost/example/fis3prex7.mp
index 7fb22aad223..09a65219921 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/fis3prex7.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/fis3prex7.mp
@@ -1,10 +1,11 @@
-verbatimtex
-\documentclass{article}
-\usepackage{palatino}
-\usepackage{concmath}
-\usepackage{ccfonts}
-\begin{document}
-etex
+% fis3prex7.mp
+% L. Nobre G.
+% 2012
+
+input featpost3Dplus2D;
+
+verbatimtex \documentclass{article}\usepackage{mathpazo}\begin{document} etex;
+
beginfig(7);
path bobine, bobina, Right, Up, Left, Down;
numeric scal, outeray, inneray, rotange, rotanga, tens, dist;
@@ -41,7 +42,124 @@ beginfig(7);
label( btex N etex, z3 );
label( btex S etex, z4 );
endfig;
-verbatimtex
-\end{document}
-etex
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, m, d;
+ u = 7.5pt;
+ m = 0.09;
+ d = 0.25;
+ f := (3,5,4);
+ Spread := 105;
+ TDAtiplen := 0.1;
+ TDAhalftipbase := 0.04;
+ TDAhalfthick := 0.02;
+ color v[];
+ v1 := (0,0,0);
+ v2 := (1,0,0);
+ v3 := (1,0,1);
+ v4 := (1,1,1);
+ v5 := (1,1,0);
+ v6 := (0,1,0);
+ v7 := (0,1,1);
+ v8 := (0,0,1);
+ v22 := (1+m,-m,d);
+ v23 := (1+m,-m,1-d);
+ v25 := (1-d,1+m,-m);
+ v26 := (d,1+m,-m);
+ v27 := (-m,1-d,1+m);
+ v28 := (-m,d,1+m);
+ path espiracubica;
+ espiracubica = rp(v1)--rp(v2)--rp(v3)--rp(v4)--
+ rp(v5)--rp(v6)--rp(v7)--rp(v8)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ undraw rp(v4)--rp(v5) withpen pencircle scaled 1.9u;
+ draw rp(v3)--rp(v4)--rp(v5)--rp(v6) withpen pencircle scaled u;
+ draw rp(v2)--rp(v5) dashed evenly;
+ draw rp(v4)--rp(v7) dashed evenly;
+ draw rp(v8)--rp(v3) dashed evenly;
+ draw rp(v6)--rp(v1) dashed evenly;
+ tdarrow(v22,v23);
+ tdarrow(v25,v26);
+ tdarrow(v27,v28);
+endfig;
+
+beginfig(2);
+ espiracubica := rp(v1)--rp(v2)--rp(v3)--rp(v4)--rp(v7)--rp(v6)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ draw rp(v8)--rp(v1) dashed evenly;
+ draw rp(v8)--rp(v3) dashed evenly;
+ draw rp(v8)--rp(v7) dashed evenly;
+ draw rp(v5)--rp(v2) dashed evenly;
+ draw rp(v5)--rp(v4) dashed evenly;
+ draw rp(v5)--rp(v6) dashed evenly;
+ tdarrow(v22,v23);
+endfig;
+
+beginfig(3);
+ espiracubica := rp(v1)--rp(v3)--rp(v5)--rp(v7)--cycle;
+ v31 := (d-m,0,d+m);
+ v33 := (1-d-m,0,1-d+m);
+ draw espiracubica withpen pencircle scaled u;
+ draw rp(v8)--rp(v1) dashed evenly;
+ draw rp(v8)--rp(v3) dashed evenly;
+ draw rp(v8)--rp(v7) dashed evenly;
+ draw rp(v5)--rp(v2) dashed evenly;
+ draw rp(v5)--rp(v4) dashed evenly;
+ draw rp(v5)--rp(v6) dashed evenly;
+ draw rp(v1)--rp(v2)--rp(v3)--rp(v4)--rp(v7)--rp(v6)--cycle dashed evenly;
+ tdarrow(v31,v33);
+endfig;
+
+beginfig(4);
+ espiracubica := rp(v1)--rp(v8)--rp(v3)--rp(v2)--rp(v5)--rp(v6)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ draw rp(v8)--rp(v1) dashed evenly;
+ draw rp(v8)--rp(v3) dashed evenly;
+ draw rp(v8)--rp(v7) dashed evenly;
+ draw rp(v5)--rp(v2) dashed evenly;
+ draw rp(v5)--rp(v4) dashed evenly;
+ draw rp(v5)--rp(v6) dashed evenly;
+ draw rp(v1)--rp(v2)--rp(v3)--rp(v4)--rp(v7)--rp(v6)--cycle dashed evenly;
+ tdarrow(v22,v23);
+ tdarrow(v26,v25);
+endfig;
+
+beginfig(5);
+ f := (5,3,4);
+ espiracubica := rp(v1)--rp(v2)--rp(v5)--rp(v3)--
+ rp(v8)--rp(v7)--rp(v4)--rp(v6)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ undraw rp(v3)--rp(v5) withpen pencircle scaled 1.9u;
+ draw rp(v2)--rp(v5)--rp(v3)--rp(v8) withpen pencircle scaled u;
+ draw rp(v2)--rp(v3)--rp(v4)--rp(v5)--rp(v6)--rp(v7) dashed evenly;
+ draw rp(v1)--rp(v8) dashed evenly;
+ tdarrow(v27,v28);
+endfig;
+
+beginfig(6);
+ espiracubica := rp(v1)--rp(v8)--rp(v2)--rp(v3)--
+ rp(v5)--rp(v4)--rp(v6)--rp(v7)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ undraw rp(v3)--rp(v5) withpen pencircle scaled 1.9u;
+ draw rp(v2)--rp(v3)--rp(v5)--rp(v4) withpen pencircle scaled u;
+ draw rp(v1)--rp(v2)--rp(v5)--rp(v6)--cycle dashed evenly;
+ draw rp(v3)--rp(v4)--rp(v7)--rp(v8)--cycle dashed evenly;
+ tdarrow(v22,v23);
+endfig;
+
+beginfig(8);
+ espiracubica := rp(v2)--rp(v3)--rp(v8)--rp(v7)--
+ rp(v5)--cycle;
+ draw espiracubica withpen pencircle scaled u;
+ draw rp(v3)--rp(v4)--rp(v7)--rp(v6)--rp(v1)--rp(v8) dashed evenly;
+ draw rp(v1)--rp(v2) dashed evenly;
+ draw rp(v4)--rp(v5)--rp(v6) dashed evenly;
+ tdarrow(v23,v22);
+ tdarrow(v27,v28);
+endfig;
+
+verbatimtex \end{document} etex
+
end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/geomsrinath.mp b/Master/texmf-dist/doc/metapost/featpost/example/geomsrinath.mp
new file mode 100644
index 00000000000..9e34bbd42b8
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/geomsrinath.mp
@@ -0,0 +1,57 @@
+% geomsrinath.mp
+% L. Nobre G.
+% 2013
+
+input featpost3Dplus2D;
+
+verbatimtex
+ \documentclass{article}
+ \usepackage{palatino,mathpazo}
+ \begin{document}
+etex
+
+beginfig(1);
+ f := 3*(1.7,1.2,0.8);
+ Spread := 125;
+ numeric thetan, phiang, faca, phiray, cray, mar;
+ color origr, nothr, mfxxp, mfxyp, mfyyp, mfzzp, vmagf, mfxyext, ac, bc;
+ thetan = 55;
+ phiang = 65;
+ faca = 1.15;
+ phiray = 0.485;
+ cray = 0.067;
+ origr = (0,0,0);
+ mar = 0.15;
+ vmagf = faca*(cosd(phiang)*cosd(thetan),sind(phiang)*cosd(thetan),sind(thetan));
+ nothr = (0,0,1);
+ bc = (faca-2*mar)*N(vmagf);
+ ac = mar*N(vmagf);
+ mfxxp = (X(vmagf),0,0);
+ mfxyp = (X(vmagf),Y(vmagf),0);
+ mfyyp = (0,Y(vmagf),0);
+ mfzzp = (0,0,Z(vmagf));
+ cartaxes( 0.8, 0.8, 1 );
+ rigorousdisc(0,true,ac,cray,bc);
+ draw rp(origr)--rp(mfxyp)--rp(vmagf)--rp(mfzzp) dashed evenly;
+ draw rp(mfxxp)--rp(mfxyp)--rp(mfyyp) dashed evenly;
+ if conorm(mfxyp)<phiray:
+ mfxyext = phiray*N(mfxyp);
+ draw rp(mfxyext)--rp(mfxyp) dashed evenly;
+ fi;
+ angline(mfxxp,mfxyp,origr,phiray,btex $\phi$ etex,bot);
+ angline(vmagf,nothr,origr,0.5,btex $\theta$ etex,top);
+ pickup pencircle scaled 1.15pt;
+ drawarrow rp(origr)..rp(vmagf);
+ label.rt(btex $\vec{n}$ etex,rp(nothr));
+ label.rt(btex $\hat{a}$ etex,rp(vmagf));
+ pickup pencircle scaled 2.6pt;
+ draw rp(ac);
+ draw rp(ac+bc);
+endfig;
+
+verbatimtex
+\end{document}
+etex
+
+end;
+
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/globe.mp b/Master/texmf-dist/doc/metapost/featpost/example/globe.mp
deleted file mode 100644
index 81aa3440fce..00000000000
--- a/Master/texmf-dist/doc/metapost/featpost/example/globe.mp
+++ /dev/null
@@ -1,32 +0,0 @@
-% globe.mp
-% L. Nobre G.
-% 2003
-
-input featpost3Dplus2D;
-
-beginfig(1);
- color gammacnt;
- numeric newradius, radius, aux, i, numc, foc, lc;
- path conepath, latpath;
- pen thickp;
-
- f := (2,3,4);
- viewcentr := 1.5*(1,1,1);
- Spread := 200;
- Shifts := 300;
- radius = 1;
- numc = 9;
- thickp = pencircle scaled 1mm;
-
- pickup thickp;
- tropicalglobe( numc, black, radius, blue );
- for i=1 upto numc: % longitudes
- aux := (i-1)*180/numc;
- gammacnt := (cosd(aux),sind(aux),0);
- draw spatialhalfcircle(black,gammacnt,radius,true);
- endfor;
-endfig;
-
-end;
-
-
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/helix.mp b/Master/texmf-dist/doc/metapost/featpost/example/helix.mp
new file mode 100644
index 00000000000..bca2e215a85
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/helix.mp
@@ -0,0 +1,27 @@
+% helix.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, w, i, r, s, lim;
+ u = 2in;
+ w = 150;
+ r = 0.5u;
+ s = 1/20;
+ lim = 4;
+ for i=0 step s until lim:
+ draw fullcircle scaled 2r shifted (u*(i,sind(i*w)));
+ endfor;
+ %draw origin--(u*(90/w,1));
+ pair d, p;
+ path slope, decli;
+ d = (-90/w,3.14159/2);
+ p = unitvector((-ypart d,xpart d));
+ slope = ((-u*d)--(u*d)) shifted (-r*p);
+ decli = reverse slope shifted (2*r*p);
+ draw (slope--decli--cycle) shifted (u*180/w,0);
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/interdigitrodes.mp b/Master/texmf-dist/doc/metapost/featpost/example/interdigitrodes.mp
new file mode 100644
index 00000000000..8b4488ba775
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/interdigitrodes.mp
@@ -0,0 +1,24 @@
+% interdigitrodes.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, t, i, j, len;
+ u = 1mm;
+ t = 4u;
+ i = 1u;
+ len = 2*(t+i);
+ path basepath;
+ basepath = ((0,0.5t)---(3len,0.5t)--(3len,-0.5t)---(0,-0.5t)..cycle)
+ shifted (-len,0.5*(t+i));
+ fill basepath;
+ fill basepath shifted (0,len);
+ fill basepath shifted (0,-len);
+ fill basepath shifted (0,-2len);
+ fill (2len,-2len)--(3len,-2len)--(3len,2len)--(2len,2len)--cycle;
+ draw currentpicture rotated 180 withcolor 0.333white;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/intersectprolatespheroid.mp b/Master/texmf-dist/doc/metapost/featpost/example/intersectprolatespheroid.mp
new file mode 100644
index 00000000000..16b1b632f83
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/intersectprolatespheroid.mp
@@ -0,0 +1,27 @@
+% intersectprolatespheroid.mp
+% L. Nobre G.
+% 2013
+
+input featpost3Dplus2D;
+
+beginfig(1);
+ numeric ray, i, Num, zcoord;
+ color startpoi, lindir, outpoi, auxpoi;
+ ray = 0.6;
+ zcoord = 0.75;
+ startpoi = (1.5,1.5,zcoord);
+ lindir = (4,3,0);
+ Num = 12;
+ spheroid( black, blue, ray );
+ drawoptions( dashed (withdots scaled 0.25) );
+ draw rigorouscircle( black, blue, ray );
+ draw rigorouscircle( (0,0,zcoord), blue, ray*(1 +-+ zcoord) );
+ drawoptions();
+ for i=0 upto Num:
+ auxpoi := startpoi+red*i/Num;
+ outpoi := intersectprolatespheroid( black, blue, ray, auxpoi, lindir );
+ draw rp(auxpoi)--rp(outpoi) withpen pencircle scaled 1pt;
+ endfor;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/iplaca.mp b/Master/texmf-dist/doc/metapost/featpost/example/iplaca.mp
new file mode 100644
index 00000000000..1b8148d0115
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/iplaca.mp
@@ -0,0 +1,45 @@
+% iplaca.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+numeric u;
+u = 52mm;
+
+def placaminho( expr yv ) =
+ begingroup
+ pair p[];
+ numeric xh;
+ xh = u-yv;
+ p1 = (xh,yv);
+ p2 = (-xh,yv);
+ p3 = (-xh,-yv);
+ p4 = (0,-yv);
+ p5 = (-yv,0);
+ p6 = (0,yv);
+ p7 = (yv,0);
+ p8 = (xh,-yv);
+ ( p1--p2--p3--p4--p5--p6--p7--p4--p8--cycle )
+ endgroup
+enddef;
+
+beginfig(1);
+ path a, b, c;
+ color g;
+ pen j;
+ j = pencircle scaled 0.02u;
+ g = 0.5white;
+ a = placaminho( 0.15u ) shifted (left*u*1.9);
+ fill a withcolor g;
+ draw a withpen j;
+ b = placaminho( 0.3u );
+ fill b withcolor g;
+ draw b withpen j;
+ c = placaminho( 0.45u ) shifted (right*u*1.7);
+ fill c withcolor g;
+ draw c withpen j;
+endfig;
+
+end.
+ \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/jdbug.mp b/Master/texmf-dist/doc/metapost/featpost/example/jdbug.mp
new file mode 100644
index 00000000000..033fe0248ed
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/jdbug.mp
@@ -0,0 +1,26 @@
+% jdbug.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric N, i, u, c, s;
+ pen thepen;
+ picture lastpic;
+ u = 5mm;
+ thepen = pencircle scaled 0.2u;
+ N = 5;
+ s = 180/N;
+ c = u*cosd(s);
+ draw for i=0 step 2s until 360-2s:
+ (u*dir(i))--(c*dir(i+s))--
+ endfor cycle withpen thepen;
+ lastpic = currentpicture;
+endfig;
+
+beginfig(2);
+ draw lastpic rotated s;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/keplernewtonfeynman.mp b/Master/texmf-dist/doc/metapost/featpost/example/keplernewtonfeynman.mp
new file mode 100644
index 00000000000..e2cf2281f2d
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/keplernewtonfeynman.mp
@@ -0,0 +1,76 @@
+% keplernewtonfeynman.mp
+% L. Nobre G.
+% 2013
+
+%input featpost3Dplus2D;
+
+prologues := 0;
+
+%verbatimtex \documentclass{article}\usepackage{mathpazo}\begin{document} etex
+
+beginfig(1);
+ numeric u, abratio, foc, pang, auxang, refdist, stepang, factor;
+ pair secofod, ocirpoi, midpoi, tpoi, dirplu, dirmin;
+ pen poipen;
+ color mygrey;
+ path thecircle;
+ stepang = 4.3;
+ poipen = pencircle scaled 1mm;
+ mygrey = 0.5*(red+green);
+ u = 1cm;
+ abratio = 0.5*(1+sqrt(5));
+ foc = u*(abratio +-+ 1);
+ refdist = 2*u*abratio;
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ factor = 1.5;
+ secofod = (refdist,0)*factor;
+ secofod := (2foc,0);
+ thecircle = fullcircle scaled 2refdist;
+ %draw fullcircle scaled 2u xscaled abratio shifted (foc,0);
+ draw thecircle;
+ draw secofod withpen poipen;
+ for pang = stepang step stepang until 360:
+ ocirpoi := refdist*dir(pang);
+ midpoi := 0.5[secofod,ocirpoi];
+ auxang := angle(ocirpoi-secofod);
+ dirplu := dir(auxang+90);
+ dirmin := dir(auxang-90);
+ pair tpoi;
+ tpoi = whatever*dir(pang);
+ tpoi = whatever[midpoi,midpoi+dirplu];
+ %draw ocirpoi--secofod withcolor mygrey;
+ draw tpoi withpen poipen withcolor red;
+ drawarrow tpoi--(tpoi+abs(midpoi-secofod)*dirplu/factor);
+ endfor;
+ clip currentpicture to (thecircle scaled (factor**2));
+ draw origin withpen poipen;
+endfig;
+
+verbatimtex \end{document} etex
+
+end.
+
+Newton showed this construction in Book 1, Section 4, Lemma 15, of
+Principia. On March 13, 1964, Feynman resurrected the construction and
+used it in a lecture, "The Motion of Planets Around the Sun". The
+lecture is detailed in a book with audio CD, Feynman's Lost Lecture,
+by David and Judith Goodstein. In the lecture, Feynman used the
+diagram and differential geometry to prove the planetary laws of
+motion.
+In the construction, the green dot is the primary focus of the ellipse
+about which the planet orbits; the blue dot is the secondary
+focus. The black dot is on a circle at a distance in radius equal in
+length to the major axis of an ellipse. A line is drawn from the blue
+dot to the black dot and its perpendicular bisector is
+constructed. The point where this perpendicular bisector intersects
+the line from the green dot (primary focus) to the black dot (circle)
+is a point on the ellipse. The perpendicular bisector is tangent to
+the ellipse at this point. A further interesting point of the
+construction is that the length of the line from the blue dot
+(secondary focus) to the black dot (circle) is proportional to the
+velocity of the orbiting planet at this point. In the Demonstration,
+half this length is represented by the black vector traveling in the
+direction of the planet.
+All of the possible ellipses with the given major axis are contained
+in the circle. You can adjust the eccentricity and rotation of the
+ellipse. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/lgc2refractionEdited.mp b/Master/texmf-dist/doc/metapost/featpost/example/lgc2refractionEdited.mp
new file mode 100644
index 00000000000..4cb3f4f6bfd
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/lgc2refractionEdited.mp
@@ -0,0 +1,86 @@
+% lgc2refractionEdited.mp
+% lgc means LaTeX Graphics Companion
+% 2013
+
+prologues := 1;
+
+vardef lensrefractray(expr s,a,p,q,rir)=
+ save tI,tn,ia,ib,I,J,K,sib;
+ pair I,J,K;
+ tI = xpart(p intersectiontimes (s--(s+30cm*dir(a))));
+ if tI>=0:
+ I=point tI of p;
+ draw s--I;
+ tn=angle(direction tI of p)+90;
+ ia=tn-angle(s-I);
+ sib=sind(ia)/rir;
+ ib=-angle(1+-+sib,sib);
+ J=I+dir(tn+180+ib)*2cm;
+ tI := xpart(q intersectiontimes (I--J));
+ if tI>=0:
+ K:=point tI of q;
+ draw I--K withcolor blue;
+ tn:=angle(direction tI of q)+90;
+ ia:=tn-angle(I-K);
+ sib:=rir*sind(ia);
+ ib:=angle(1+-+sib,sib);
+ J:=K+dir(tn+ib)*2cm;
+ draw K--J;
+ fi;
+ fi;
+enddef;
+
+vardef refractray(expr s,a,p,rir)=
+ save tI,tn,ia,ib,I,J,sib;
+ pair I,J;
+ tI = xpart(p intersectiontimes (s--(s+30cm*dir(a))));
+ if tI>=0:
+ I=point tI of p;
+ draw s--I;
+ tn=angle(direction tI of p)+90;
+ ia=tn-angle(s-I);
+ sib=sind(ia)/rir;
+ ib=-angle(1+-+sib,sib);
+ J=I+dir(tn+180+ib)*2cm;
+ draw I--J withcolor blue;
+ fi;
+enddef;
+
+vardef reflectray(expr s,a,p)=
+ save tI,tn,ia,I,J;
+ pair I,J;
+ tI=xpart(p intersectiontimes (s--(s+30cm*dir(a))));
+ if tI>=0:
+ I=point tI of p;
+ draw s--I;
+ tn=angle(direction tI of p)+90;
+ ia=tn-angle(s-I);
+ J=I+dir(tn+ia)*2cm;
+ draw I--J withcolor blue;
+ fi;
+enddef;
+
+beginfig(2);
+ numeric u;
+ u=3mm;
+ path p;
+ p=((5u,-6u)..(4u,-2u)..(4.5u,0)..(5u,5u)) rotated 90;
+ for a=40 step 5 until 140: reflectray(origin,a,p); endfor;
+ draw p withcolor red;
+endfig;
+
+beginfig(1);
+ for a=40 step 5 until 140: refractray(origin,a,p,1.5); endfor;
+ draw p withcolor red;
+endfig;
+
+beginfig(3);
+ path q;
+ q = reverse (p yscaled (-1)) shifted (up*10.5u);
+ fill (p--q--cycle) withcolor red;
+ for a=46 step 3 until 120:
+ lensrefractray(origin,a,p,q,1.4);
+ endfor;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/loglogpaper.mp b/Master/texmf-dist/doc/metapost/featpost/example/loglogpaper.mp
index 4d00c11df99..24e04e9e196 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/loglogpaper.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/loglogpaper.mp
@@ -1,32 +1,42 @@
% loglogpaper.mp
% L. Nobre G.
-% 2009
+% 2012
+
+prologues := 3;
vardef logten( expr Arg )=
(1.696463*mlog( Arg )/1000)
enddef;
+message "log(100) = " & decimal( logten( 100.00 ) );
+message "log(300) = " & decimal( logten( 300.00 ) );
+message "log(0.01)= " & decimal( logten( 0.01 ) );
+message "log(0.03)= " & decimal( logten( 0.03 ) );
+
beginfig(1);
numeric xdecs, ydecs, xdecsiz, ydecsiz, llcornx, llcorny, i, j;
numeric tmpvalx, tmpvaly;
color colormain, coloraux;
picture singledec;
- xdecs = 5;
- ydecs = 4;
- xdecsiz = 35mm;
- ydecsiz = 35mm;
+ pen penmain, penaux;
+ xdecs = 7;
+ ydecs = 5;
+ xdecsiz = 22mm;
+ ydecsiz = 22mm;
llcornx = 20mm;
- llcorny = 60mm;
- colormain = 0.15white;
- coloraux = 0.6white;
- drawoptions( withcolor coloraux );
+ llcorny = 10mm;
+ colormain = 0.05white;
+ coloraux = blue+green;
+ penmain = pencircle scaled 0.26mm;
+ penaux = pencircle scaled 0.111mm;
+ drawoptions( withpen penaux withcolor coloraux );
for i=0 upto 10:
tmpvalx := xdecsiz*(logten(10+i*2)-1);
draw (tmpvalx,0)--(tmpvalx,ydecsiz);
tmpvaly := ydecsiz*(logten(10+i*2)-1);
draw (0,tmpvaly)--(xdecsiz,tmpvaly);
endfor;
- drawoptions( withcolor colormain );
+ drawoptions( withpen penmain withcolor colormain );
for i=1 upto 10:
tmpvalx := xdecsiz*(logten(10*i)-1);
draw (tmpvalx,0)--(tmpvalx,ydecsiz);
@@ -41,6 +51,20 @@ beginfig(1);
draw singledec shifted (llcornx+(i-1)*xdecsiz,llcorny+(j-1)*ydecsiz);
endfor;
endfor;
+ label.bot("0.1",(llcornx,llcorny));
+ label.bot("1",(llcornx+xdecsiz,llcorny));
+ label.bot("10",(llcornx+2*xdecsiz,llcorny));
+ label.bot("100",(llcornx+3*xdecsiz,llcorny));
+ label.bot("1000",(llcornx+4*xdecsiz,llcorny));
+ label.bot("10000",(llcornx+5*xdecsiz,llcorny));
+ label.bot("100000",(llcornx+6*xdecsiz,llcorny));
+ label.bot("1000000",(llcornx+7*xdecsiz,llcorny));
+ label.lft("0.0001",(llcornx,llcorny));
+ label.lft("0.001",(llcornx,llcorny+ydecsiz));
+ label.lft("0.01",(llcornx,llcorny+2*ydecsiz));
+ label.lft("0.1",(llcornx,llcorny+3*ydecsiz));
+ label.lft("1",(llcornx,llcorny+4*ydecsiz));
+ label.lft("10",(llcornx,llcorny+5*ydecsiz));
endfig;
end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/micostufas.mp b/Master/texmf-dist/doc/metapost/featpost/example/micostufas.mp
new file mode 100644
index 00000000000..1ac2ca3734d
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/micostufas.mp
@@ -0,0 +1,41 @@
+% micostufas.mp
+% L. Nobre G.
+% 2013
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, basecant, altucnat, diagcant, baseestu, altuestu, diagestu;
+ numeric aux, rayestu;
+ u = 1cm;
+ basecant = 0.5u;
+ diagcant = 2.6u;
+ altucant = diagcant +-+ 0.5basecant;
+ baseestu = 6u;
+ altuestu = 4u;
+ diagestu = altuestu ++ 0.5baseestu;
+ numeric angalpha, scalefac, cantdesv;
+ angalpha = 180-2*angle(0.5baseestu,altuestu); %show angalpha;
+ rayestu = altuestu/sind(angalpha);
+ message "Raio de curvatura: " & decimal(rayestu/u);
+ cantdesv = 0.25*(baseestu+basecant);
+ path auxpa, cant, goticarch;
+ cant = (-0.5basecant,0)--(0,altucant)--(0.5basecant,0);
+ draw cant;
+ draw cant shifted (-cantdesv,0);
+ draw cant shifted (cantdesv,0);
+ z1 = (-0.5*cosd(angalpha),0);
+ auxpa = (halfcircle cutafter (origin--dir(angalpha))) shifted z1;
+ aux = xpart point 0 of auxpa;
+ scalefac = 0.5*baseestu/aux;
+ goticarch = auxpa scaled scalefac;
+ draw goticarch;
+ draw goticarch xscaled -1;
+ z0 = z1 scaled scalefac;
+ drawarrow z0--(z0+rayestu*dir(angalpha/2));
+ numeric comprimarco;
+ comprimarco = rayestu*3.14159*angalpha/(180*u);
+ message "Comprimento de cada arco: " & decimal(comprimarco);
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/milimetricpaper.mp b/Master/texmf-dist/doc/metapost/featpost/example/milimetricpaper.mp
index d05d36e6491..81b2904b223 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/milimetricpaper.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/milimetricpaper.mp
@@ -4,14 +4,16 @@
%%input mp-tool;
+prologues := 1;
+
beginfig(1);
numeric u, xsize, ysize, i;
numeric minstep, majstep, bigstep;
pen minpen, majpen, bigpen;
color mincolor, majcolor, bigcolor;
u = 1mm;
- xsize = 15cm;
- ysize = 11cm;
+ xsize = 16cm;
+ ysize = 16cm;
minstep = 2u;
majstep = 10u;
bigstep = 50u;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/naotocanacalote.mp b/Master/texmf-dist/doc/metapost/featpost/example/naotocanacalote.mp
new file mode 100644
index 00000000000..2e45276347a
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/naotocanacalote.mp
@@ -0,0 +1,58 @@
+% naotocanacalote.mp
+% L. Nobre G.
+% 2012
+
+verbatimtex \documentclass{article}\begin{document} etex
+
+beginfig(1);
+ numeric N, h, R, m, i, l, d, X, angl;
+ N = 2;
+ R = 13mm;
+ h = N*R;
+ m = 8;
+ l = 2R;
+ d = 4mm;
+ angl = 50;
+ path calotes, queda;
+ if N=1:
+ calotes = (0,h)... for i=1 upto m-1:
+ (R*(sind(i*90/m),cosd(i*90/m)))...
+ endfor {down}(R,0);
+ X = sqrt(2)*R;
+ queda = (-R,h+d)---(0,h+d){right}...{unitvector(1,-sqrt(2))}(X,d);
+ elseif N=2:
+ calotes = (0,h)... for i=1 upto 2*m-1:
+ (R*(sind(i*90/m),1+cosd(i*90/m)))...
+ endfor {left}origin;
+ X = 2R;
+ queda = (-R,h+d)---(0,h+d){right}...{unitvector(1,-2)}(X,d);
+ else:
+ calotes = (0,h)... for i=1 upto 2*m-1:
+ (R*(sind(i*90/m),2+cosd(i*90/m)))...
+ endfor for i=1 upto m-1:
+ (R*(sind(-i*90/m),cosd(i*90/m)))...
+ endfor {down}(-R,0);
+ X = sqrt(6)*R;
+ queda = (-R,h+d)---(0,h+d){right}...{unitvector(1,-sqrt(6))}(X,d);
+ fi;
+ drawoptions( withpen pencircle scaled (0.75mm) );
+ draw (-l,h)--calotes;
+ draw (-R,0)--(X+R,0);
+ drawoptions();
+ draw fullcircle scaled (2d) shifted (0,h+d);
+ draw fullcircle scaled (2d) shifted (X,d);
+ drawarrow (0,h+d)--(R,h+d);
+ label.top( btex $\vec{v}_{\mathrm{min}}$ etex, (0.6R,h+d) );
+ drawdblarrow origin--(0,h);
+ label.lft( btex $h$ etex, (0,h-0.5R) );
+ drawdblarrow (0,d)--(X,d);
+ label.top( btex $x$ etex, (0.5X,d) );
+ drawarrow (0,h-R)--(R*cosd(angl),h+R*(sind(angl)-1));
+ label.ulft( btex $R$ etex, (0.5*R*cosd(angl),h-R+0.5*R*sind(angl)) );
+ drawoptions( dashed evenly );
+ draw queda;
+endfig;
+
+verbatimtex \end{document} etex
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/nemdirector.mp b/Master/texmf-dist/doc/metapost/featpost/example/nemdirector.mp
index 91b807e5c8c..8b26ba4f44b 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/nemdirector.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/nemdirector.mp
@@ -1,12 +1,12 @@
% nemdirector.mp
% L. Nobre G.
-% 2003
+% 2013
input featpost3Dplus2D;
verbatimtex
\documentclass{article}
-%\usepackage{mathpazo}
+\usepackage{lucidabr}
\begin{document}
etex
@@ -17,18 +17,17 @@ beginfig(1);
numeric cylength, cyradius, zoneradi, zoneleng;
numeric i, angsdev, halfnum, directlen, arrthick;
numeric vcx, vcy, vcz, xcurr, ycurr, thickfact;
- numeric atwo, zcurr, aone, apos;
+ numeric atwo, zcurr, aone, apos, anul;
color lenvec, currpos, tippos;
path arrpath;
picture tmppict;
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Nu
+ anul := 0;
+ angsdev := 7;
cylength := 0.45;
cyradius := 0.1;
zoneradi := 2;
zoneleng := 4;
directlen := 5.6;
- angsdev := 12;
halfnum := 130;
thickfact := 5;
arrthick := Spread*ps( (0,0,0), thickfact );
@@ -42,7 +41,7 @@ beginfig(1);
xcurr := -zoneradi*cosd( apos )*uniformdeviate( 1 );
ycurr := zoneradi*sind( apos )*uniformdeviate( 1 );
aone := uniformdeviate( 360 );
- atwo := angsdev*normaldeviate;
+ atwo := anul+angsdev*normaldeviate;
vcz := cosd( atwo );
vcy := sind( atwo )*sind( aone );
vcx := sind( atwo )*cosd( aone );
@@ -59,7 +58,7 @@ beginfig(1);
xcurr := zoneradi*cosd( apos )*uniformdeviate( 1 );
ycurr := zoneradi*sind( apos )*uniformdeviate( 1 );
aone := uniformdeviate( 360 );
- atwo := angsdev*normaldeviate;
+ atwo := anul+angsdev*normaldeviate;
vcz := cosd( atwo );
vcy := sind( atwo )*sind( aone );
vcx := sind( atwo )*cosd( aone );
@@ -69,10 +68,11 @@ beginfig(1);
endfor;
NL:= halfnum;
director_invisible( true, thickfact, false );
- label.ulft(btex $\vec{n}$ etex scaled 8.5 rotated 90, rp(tippos) );
- tmppict := currentpicture rotated -90;
- currentpicture := nullpicture;
- draw tmppict;
+ label.urt(btex $\vec{n}$ etex scaled 8.5, rp(tippos) );
+% label.ulft(btex $\vec{n}$ etex scaled 8.5 rotated 90, rp(tippos) );
+% tmppict := currentpicture rotated -90;
+% currentpicture := nullpicture;
+% draw tmppict;
endfig;
verbatimtex
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/radiativeforcing.mp b/Master/texmf-dist/doc/metapost/featpost/example/radiativeforcing.mp
new file mode 100644
index 00000000000..8fd32ca3b0c
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/radiativeforcing.mp
@@ -0,0 +1,243 @@
+%
+% fig2dev (version 3.2.5-alpha7) -L (m)mp version 0.05 --- Preamble
+%
+
+%
+% mp output driver options:
+% -L mp
+%
+
+% +MP-ADDITIONAL-HEADER
+verbatimtex
+%&latex
+\documentclass{article}
+\begin{document}
+etex
+% -MP-ADDITIONAL-HEADER
+
+
+%SetFigFont macros for latex
+verbatimtex
+%
+\begingroup\makeatletter\ifx\SetFigFontNFSS\undefined%
+\gdef\SetFigFontNFSS#1#2#3#4#5{%
+ \reset@font\fontsize{#1}{#2pt}%
+ \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
+ \selectfont}%
+\fi\endgroup%
+\ifx\SetFigFontSize\undefined%
+\gdef\SetFigFontSize#1#2{%
+ \fontsize{#1}{#2pt}%
+ \selectfont}%
+\fi%
+etex
+
+% Now draw the figure
+beginfig(0)
+% Some reasonable defaults
+ labeloffset:=0;
+ truecorners:=1;
+ bboxmargin:=0;
+% Begin ellipse object
+ pickup pencircle scaled 0.94;
+ path c;
+ c = fullcircle scaled 1638.80 yscaled 1.00
+ rotated 0.00 shifted (428.03,-242.65);
+ fill c withcolor ((0.53,0.81,1.00) + 0.00white);
+ draw c withcolor (0.53,0.81,1.00);
+% End ellipse object
+% Begin ellipse object
+ pickup pencircle scaled 0.94;
+ path c;
+ c = fullcircle scaled 1126.68 yscaled 1.00
+ rotated 0.00 shifted (428.03,-242.65);
+ fill c withcolor ((0.00,0.69,0.00) + 0.00white);
+ draw c withcolor (0.00,0.69,0.00);
+% End ellipse object
+% Begin ellipse object
+ pickup pencircle scaled 0.94;
+ path c;
+ c = fullcircle scaled 141.73 yscaled 1.00
+ rotated 0.00 shifted (147.40,650.27);
+ fill c withcolor ((1.00,1.00,0.00) + 0.00white);
+ draw c withcolor (1.00,1.00,0.00);
+% End ellipse object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (155.91, 568.06)
+ --(238.11, 301.61);
+ draw p withcolor (1.00,1.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (231.94, 311.87)
+ --(237.17, 304.57)
+ --(237.35, 313.57)
+ --(231.94, 311.87) -- cycle;
+ fill arr withcolor (1.00,1.00,0.00);
+ draw arr withcolor (1.00,1.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (184.25, 573.73)
+ --(260.79, 315.78);
+ draw p withcolor (1.00,1.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (254.74, 326.17)
+ --(259.91, 318.80)
+ --(260.16, 327.81)
+ --(254.74, 326.17) -- cycle;
+ fill arr withcolor (1.00,1.00,0.00);
+ draw arr withcolor (1.00,1.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (212.60, 596.41)
+ --(286.30, 321.45);
+ draw p withcolor (1.00,1.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (280.50, 331.97)
+ --(285.48, 324.47)
+ --(285.98, 333.48)
+ --(280.50, 331.97) -- cycle;
+ fill arr withcolor (1.00,1.00,0.00);
+ draw arr withcolor (1.00,1.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (121.89, 562.39)
+ --(204.09, 293.10);
+ draw p withcolor (1.00,1.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (197.98, 303.37)
+ --(203.21, 296.06)
+ --(203.40, 305.07)
+ --(197.98, 303.37) -- cycle;
+ fill arr withcolor (1.00,1.00,0.00);
+ draw arr withcolor (1.00,1.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (351.50, 344.13)
+ --(606.61, 774.99);
+ draw p withcolor (1.00,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (603.09, 763.53)
+ --(605.04, 772.28)
+ --(598.24, 766.43)
+ --(603.09, 763.53) -- cycle;
+ fill arr withcolor (1.00,0.00,0.00);
+ draw arr withcolor (1.00,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (311.81, 332.79)
+ --(572.60, 766.49);
+ draw p withcolor (1.00,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (568.94, 755.15)
+ --(570.96, 763.84)
+ --(564.09, 758.05)
+ --(568.94, 755.15) -- cycle;
+ fill arr withcolor (1.00,0.00,0.00);
+ draw arr withcolor (1.00,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (391.18, 346.96)
+ --(513.07, 545.39)
+ --(632.13, 352.63);
+ draw p withcolor (1.00,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (623.56, 361.07)
+ --(630.49, 355.28)
+ --(628.41, 364.03)
+ --(623.56, 361.07) -- cycle;
+ fill arr withcolor (1.00,0.00,0.00);
+ draw arr withcolor (1.00,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (428.03, 349.80)
+ --(549.92, 536.88)
+ --(615.12, 434.83);
+ draw p withcolor (1.00,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path arr;
+ arr = (606.43, 443.15)
+ --(613.42, 437.48)
+ --(611.21, 446.17)
+ --(606.43, 443.15) -- cycle;
+ fill arr withcolor (1.00,0.00,0.00);
+ draw arr withcolor (1.00,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 2.83;
+ path p;
+ p = (2.83, 789.17)
+ --(839.06, 789.17)
+ --(839.06, 202.39)
+ --(2.83, 202.39)--cycle;
+ picture tmppic;
+ tmppic = currentpicture;
+ currentpicture := nullpicture;
+ clip tmppic to p;
+ draw tmppic;
+% End polyline object
+endfig;
+end
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/raiodoscirculos.mp b/Master/texmf-dist/doc/metapost/featpost/example/raiodoscirculos.mp
new file mode 100644
index 00000000000..c618e659ba8
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/raiodoscirculos.mp
@@ -0,0 +1,70 @@
+% raiodoscirculos.mp
+% L. Nobre G.
+% 2013
+
+beginfig(1);
+ numeric u, r, p;
+ u = 2cm;
+ r = 2/(3+sqrt(7));
+ p = u/40;
+ pen mypen;
+ mypen = pencircle scaled p;
+ drawoptions( withpen mypen );
+ path mysquare, halcir, fulcir;
+ mysquare = origin--right--(right+up)--up--cycle;
+ halcir = halfcircle scaled 2r shifted (r*right);
+ fulcir = fullcircle scaled 2r shifted ((1-r)*(right+up));
+ draw mysquare scaled u;
+ draw halcir scaled u;
+ draw fulcir scaled u;
+endfig;
+
+beginfig(2);
+ drawoptions( withpen mypen );
+ draw mysquare scaled u;
+ r := (sqrt(5)-1)/2;
+ halcir := halfcircle shifted (right/2);
+ draw halcir scaled u;
+ path quarcirc;
+ quarcirc = (halfcircle cutafter (origin--up)) rotated 180;
+ draw quarcirc scaled 2r shifted (right+up) scaled u;
+endfig;
+
+beginfig(3);
+ drawoptions( withpen mypen );
+ draw mysquare scaled u;
+ draw halcir scaled u;
+ r := 2-sqrt(3);
+ draw fullcircle scaled 2r shifted ((1-r)*(right+up)) scaled u;
+endfig;
+
+beginfig(4);
+ drawoptions( withpen mypen );
+ draw mysquare scaled u;
+ draw halcir scaled u;
+ r := 1/3;
+ path secondhalfcircle;
+ secondhalfcircle = halfcircle scaled 2r rotated 90 shifted (1,1-r);
+ draw secondhalfcircle scaled u;
+endfig;
+
+beginfig(5);
+ drawoptions( withpen mypen );
+ draw mysquare scaled u;
+ r := 1/(1+sqrt(2));
+ halcir := halfcircle scaled 2r shifted (r*right);
+ draw halcir scaled u;
+ secondhalfcircle := halfcircle scaled 2r rotated 90 shifted (1,1-r);
+ draw secondhalfcircle scaled u;
+endfig;
+
+beginfig(6);
+ drawoptions( withpen mypen );
+ draw mysquare scaled u;
+ r := 1/4;
+ halcir := halfcircle scaled 0.5 shifted (right/4);
+ draw halcir scaled u;
+ draw quarcirc scaled 2 shifted (right+up) scaled u;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/resistcircuit.mp b/Master/texmf-dist/doc/metapost/featpost/example/resistcircuit.mp
index bc4eebce84a..8b44ffd25f9 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/resistcircuit.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/resistcircuit.mp
@@ -4,6 +4,8 @@
input featpost3Dplus2D;
+prologues := 1;
+
beginfig(1);
boolean kind[];
numeric largmolas, lengmolas, numolas, numturns, u, i, fraction, stepx;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/reuleaux.mp b/Master/texmf-dist/doc/metapost/featpost/example/reuleaux.mp
new file mode 100644
index 00000000000..2bc0763ace7
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/reuleaux.mp
@@ -0,0 +1,34 @@
+% reuleaux.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, desv, ray;
+ path rouletri, pathpart, pa, pb, pc, border;
+ u = 150mm;
+ desv = u*sqrt(3)/3;
+ ray = (sqrt(3)/3-0.5)*u/2;
+ pathpart = halfcircle scaled u cutafter (origin--u*dir(60));
+ pathpart := pathpart shifted (desv*dir(-150)/2);
+ pa = pathpart;
+ pb = pathpart rotated 120;
+ pc = pathpart rotated -120;
+ rouletri = pa--pb--pc--cycle;
+ draw rouletri;
+ border=(u/4,u/4)--(-u/4,u/4)--(-u/4,-u/4)--(u/4,-u/4)--cycle;
+ draw border shifted (ray*up);
+endfig;
+
+beginfig(2);
+ draw border withcolor red;
+ numeric i, N, astep;
+ N = 4;
+ astep = 3*N;
+ for i=astep step astep until 360:
+ draw rouletri rotated (-i/3) shifted (ray*dir(i-90));
+ endfor;
+endfig;
+
+end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/roadincline.mp b/Master/texmf-dist/doc/metapost/featpost/example/roadincline.mp
index 2532aaceb51..5c4cdd1f4e1 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/roadincline.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/roadincline.mp
@@ -38,7 +38,7 @@ beginfig(1);
z6 = ( backauxil, backauyil);
backtri = z4--z5--z6--cycle;
- angline = halfcircle scaled 2angray shifted z4 cutafter z4--z6;
+ angline = halfcircle scaled 2angray shifted z4 cutafter (z4--z6);
z7 = z4+(angray,0);
z8 = 0.5[z5,z6];
z9 = z5-(angray,0);
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/simplecenterofmass.mp b/Master/texmf-dist/doc/metapost/featpost/example/simplecenterofmass.mp
new file mode 100644
index 00000000000..6f7030ffbbd
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/simplecenterofmass.mp
@@ -0,0 +1,127 @@
+% simplecenterofmass.mp
+% L. Nobre G.
+% 2012
+
+verbatimtex \documentclass{article}\begin{document} etex;
+
+beginfig(0);
+ numeric u, i, j, s, as, bs, cs, ds;
+ pen pena, penb, penc, pend;
+ u = 1.5mm;
+ s = 7.1u;
+ as = 2u;
+ bs = 3u;
+ cs = 5u;
+ ds = 0.8u;
+ pena = pencircle scaled as;
+ penb = pencircle scaled bs;
+ penc = pencircle scaled cs;
+ pend = pencircle scaled ds;
+ linecap := squared;
+ for i=1 upto 4:
+ for j=1 upto 3:
+ draw ((i-1)*s,(j-1)*s)--
+ ((i-1)*s,j*s)--
+ (i*s,j*s)--
+ (i*s,(j-1)*s)--cycle withcolor 0.7white;
+ endfor;
+ endfor;
+ z1 = (s,3s);
+ z2 = (3s,3s);
+ z3 = (4s,3s);
+ z4 = (0,0);
+ z5 = (1s,2s);
+ z6 = (2s,2s);
+ z7 = (3s,2s);
+ z8 = (1s,1s);
+ z9 = (2s,1s);
+ linecap := rounded;
+ pickup pena;
+ draw z1;
+ draw z2;
+ pickup penb;
+ draw z3;
+ pickup penc;
+ draw z4;
+ pickup pend;
+ for i=5 upto 9:
+ draw z[i];
+ endfor;
+ label.urt(btex 1 kg etex, z1);
+ label.urt(btex 1 kg etex, z2);
+ label.rt(btex 2 kg etex, z3+(bs/2,0));
+ label.urt(btex 8 kg etex, z4+(0,cs/2));
+ label.urt(btex A etex, z5);
+ label.urt(btex B etex, z6);
+ label.urt(btex C etex, z7);
+ label.urt(btex D etex, z8);
+ label.urt(btex E etex, z9);
+endfig;
+
+beginfig(1);
+ numeric u, i, j, s, opt;
+ pen pena, penb;
+ pair PO[];
+ u = 1.5mm;
+ s = 7.1u;
+ pena = pencircle scaled 1.6u;
+ penb = pencircle scaled 0.6u;
+ linecap := squared;
+ for i=1 upto 4:
+ for j=1 upto 3:
+ draw ((i-1)*s,(j-1)*s)--
+ ((i-1)*s,j*s)--
+ (i*s,j*s)--
+ (i*s,(j-1)*s)--cycle withcolor 0.7white;
+ endfor;
+ endfor;
+ z1 = (0,0);
+ z2 = (4,3);
+ z4 = (1,2);
+ z5 = (2,2);
+ z6 = (3,2);
+ z7 = (1,1);
+ z8 = (2,1);
+ forever:
+ opt := uniformdeviate(1);
+ if opt<0.3333:
+ PO3 := (1,3);
+ elseif opt<0.6667:
+ PO3 := (0,3);
+ else:
+ PO3 := (0,2);
+ fi;
+ opt := uniformdeviate(1);
+ if opt<0.3333:
+ PO9 := z4;
+ elseif opt<0.6667:
+ PO9 := z5;
+ else:
+ PO9 := z7;
+ fi;
+ numeric massadois, massatres;
+ PO9 = massadois*(z2-PO9)+massatres*(PO3-PO9);
+ exitif (massadois>0) and (massatres>0);
+ endfor;
+ linecap := rounded;
+ z3 = PO3;
+ for i=1 upto 3:
+ draw z[i] scaled s withpen pena;
+ endfor;
+ for i=4 upto 8:
+ draw z[i] scaled s withpen penb;
+ endfor;
+ label.urt(decimal(round(massatres*24)) & "kg", z3 scaled s);
+ label.urt(decimal(round(massadois*24)) & "kg", z2 scaled s);
+ label.urt("24kg", z1 scaled s);
+ label.urt(btex A etex, z4 scaled s);
+ label.urt(btex B etex, z5 scaled s);
+ label.urt(btex C etex, z6 scaled s);
+ label.urt(btex D etex, z7 scaled s);
+ label.urt(btex E etex, z8 scaled s);
+ draw fullcircle scaled 1.6u shifted (PO9 scaled s) withcolor red;
+endfig;
+
+verbatimtex \end{document} etex
+
+end;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/simplelens.mp b/Master/texmf-dist/doc/metapost/featpost/example/simplelens.mp
new file mode 100644
index 00000000000..d32f30d02df
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/simplelens.mp
@@ -0,0 +1,114 @@
+% simplelens.mp
+% L. Nobre G.
+% 2013
+
+prologues := 1;
+
+numeric specialdist, otherdist;
+specialdist = 2.5cm;
+color TableC[];
+TableC0 := (0.65,0.61,0.49); % grey %% G N U P L O T
+TableC1 := 0.77red; % red %%
+TableC2 := ( 0.2, 0.2, 1.0 ); % blue %% colors
+TableC3 := ( 1.0, 0.7, 0.0 ); % orange %%
+TableC4 := 0.85green; % pale green %%
+TableC5 := 0.90*(red+blue); % magenta %%
+TableC6 := 0.85*(green+blue); % cyan %%
+TableC7 := 0.85*(red+green); % yellow %%
+
+vardef lensrefractray(expr s,a,p,q,rir,c)=
+ save tI,tn,ia,ib,I,J,K,sib;
+ pair I,J,K;
+ draw s--(s-2cm*dir(a)) withcolor TableC[c];
+ tI = xpart(p intersectiontimes (s--(s+15cm*dir(a))));
+ if tI>=0:
+ I=point tI of p;
+ draw s--I withcolor TableC[c];
+ tn=angle(direction tI of p)+90;
+ ia=tn-angle(s-I);
+ sib=sind(ia)/rir;
+ ib=-angle(1+-+sib,sib);
+ J=I+dir(tn+180+ib)*2cm;
+ tI := xpart(q intersectiontimes (I--J));
+ if tI>=0:
+ K:=point tI of q;
+ draw I--K withcolor TableC0;
+ tn:=angle(direction tI of q)+90;
+ ia:=tn-angle(I-K);
+ if sind(ia)<1/rir:
+ sib:=rir*sind(ia);
+ ib:=angle(1+-+sib,sib);
+ J:=K-dir(tn-ib)*specialdist;
+ draw K--J withcolor TableC[c];
+ fi;
+ fi;
+ fi;
+enddef;
+
+beginfig(1);
+ numeric rir, ray, wid, dist, ha, dx, dy, bord, cx, cy, cent, a, sa, nr, m;
+ numeric refang, colorcounter;
+ path vseg, cseg, lens, cell;
+ pen fordot;
+ color lenscolor, cellcolor;
+ refang = 41;
+ m = 1.2mm;
+ nr = 9;
+ rir = 1.2;
+ ray = 2.3cm;
+ wid = 3.9cm;
+ dist = 1.1cm;
+ bord = 1mm;
+ fordot = pencircle scaled 1mm;
+ lenscolor = 0.6white;
+ cellcolor = 0.4white;
+ dy = 0.5*wid;
+ dx = ray+-+dy;
+ cx = 0.5*bord;
+ cy = dy-bord;
+ cent = dx-dist;
+ ha = angle(dist,cy);
+ sa = 2ha/nr;
+ z1 = (dx,ray);
+ z2 = (dx,-ray);
+ z3 = (cent,0);
+ z4 = (dx,cy);
+ z5 = (dx,-cy);
+ z6 = (0,cy);
+ z7 = (0,-cy);
+ z8 = (ray,cy);
+ z9 = (ray,-cy);
+ vseg = z2--z1;
+ %cseg = halfcircle rotated -90 scaled 2ray;
+ cseg = (dx,-dy){dir(refang)}..(ray,0)..{dir(180-refang)}(dx,dy);
+ lens = buildcycle(reverse vseg,z7--z9,cseg,z8--z6);
+ fill lens withcolor lenscolor;
+ cell = ((cx,cy)--(-cx,cy)--(-cx,-cy)--(cx,-cy)--cycle) shifted z3;
+ fill cell withcolor cellcolor;
+ %draw z3 withpen fordot;
+ colorcounter = 1;
+ for a=0.5*sa step sa until ha-sa:
+ if not (colorcounter<>7):
+ colorcounter:= 1;
+ else:
+ colorcounter := incr(colorcounter);
+ fi;
+ lensrefractray(z3,a,vseg,cseg,1.9,colorcounter);
+ lensrefractray(z3+up*m,a,vseg,cseg,1.9,colorcounter);
+ lensrefractray(z3+down*m,a,vseg,cseg,1.9,colorcounter);
+ if not (colorcounter<>7):
+ colorcounter:= 0;
+ else:
+ colorcounter := incr(colorcounter);
+ fi;
+ lensrefractray(z3,-a,vseg,cseg,1.9,colorcounter);
+ lensrefractray(z3+up*m,-a,vseg,cseg,1.9,colorcounter);
+ lensrefractray(z3+down*m,-a,vseg,cseg,1.9,colorcounter);
+ endfor;
+ otherdist = ray+specialdist-0.5cm;
+ clip currentpicture to (-otherdist,-cy)--(-otherdist,cy)--(otherdist,cy)--(otherdist,-cy)--cycle;
+endfig;
+
+end.
+
+ \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/simplependulum.mp b/Master/texmf-dist/doc/metapost/featpost/example/simplependulum.mp
new file mode 100644
index 00000000000..8b097105fba
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/simplependulum.mp
@@ -0,0 +1,51 @@
+% simplependulum.mp
+% L. Nobre G.
+% 2012
+
+verbatimtex \documentclass{article}\begin{document} etex
+
+prologues := 3;
+
+beginfig(1);
+ numeric u, len, hei, ang, maxa, hala, num, signa, marga, margb, ste;
+ u = 2.2mm;
+ len = 15u;
+ hei = 4u;
+ maxa = angle( len-hei, len +-+ (len-hei) );
+ num = 8;
+ hala = 0.7*maxa;
+ signa = -1;
+ marga = 2u;
+ margb = 1u;
+ ste = maxa/num;
+ z1 = len*(signa*sind(maxa),-cosd(maxa));
+ z7 = len*(-signa*sind(hala),-cosd(hala));
+ z2 = (0,-len);
+ z6 = z1 + (signa*marga,0);
+ z5 = z6 + (signa*margb,0);
+ z3 = (x6,y2);
+ z4 = (x5,y2);
+ draw origin--z1;
+ draw origin--z2 dashed evenly;
+ draw z2--z4 dashed evenly;
+ draw z1--z5 dashed evenly;
+ path mov, penda, pendb;
+ mov = z1 for ang=signa*(maxa-ste) step -signa*ste until -signa*hala:
+ ..len*(sind(ang),-cosd(ang)) endfor;
+ penda = fullcircle scaled 2u shifted z1;
+ pendb = fullcircle scaled 2u shifted z2;
+ fill penda withcolor 0.5white;
+ draw penda;
+ unfill pendb;
+ draw pendb dashed evenly;
+ drawarrow mov dashed evenly;
+ drawdblarrow z3--z6;
+ label( btex $h$ etex, 0.5[z4,z5] );
+ label( btex $A$ etex, z1+down*(u+margb) );
+ label( btex $B$ etex, z2+down*(u+margb) );
+ label.top( btex $O$ etex, origin );
+endfig;
+
+verbatimtex \end{document} etex
+
+end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/sniperlogo.mp b/Master/texmf-dist/doc/metapost/featpost/example/sniperlogo.mp
new file mode 100644
index 00000000000..d8ac0fb7282
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/sniperlogo.mp
@@ -0,0 +1,38 @@
+% sniperlogo.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric u, ray, siz, xdis, ang, mar, i;
+ u = 1cm;
+ siz = 5u;
+ ray = siz/6;
+ fill fullcircle scaled (2*(siz+ray));
+ xdis = (siz-2*ray) +-+ (2*ray);
+ ang = angle(xdis,2*ray);
+ z1 = (siz-ray)*dir(ang);
+ z2 = (siz-ray)*dir(90-ang);
+ z3 = (ray,(siz-2*ray)*cosd(ang));
+ z4 = z3 xscaled -1;
+ z5 = z2 xscaled -1;
+ z6 = z1 xscaled -1;
+ for i=7 upto 16:
+ z[i] = z[i-4] rotated 90;
+ endfor;
+ for i=0 upto 3:
+ z[21+i] = (siz-ray)*dir(45+90*i);
+ endfor;
+ path sniperpath;
+ sniperpath = z1{dir(ang+90)}..z21..{dir(180-ang)}z2..z3{down}..{up}z4..
+ z5{dir(180+ang)}..z22..{dir(270-ang)}z6..z7{right}..{left}z8..
+ z9{dir(270+ang)}..z23..{dir(-ang)}z10..z11{up}..{down}z12..
+ z13{dir(ang)}..z24..{dir(90-ang)}z14..z15{left}..{right}z16..cycle;
+ unfill sniperpath rotated 45;
+% draw sniperpath;
+% drawoptions( withcolor red );
+% dotlabels(1,2,3,4,5,6,7,8,9,21,22)
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/spaceinvader.mp b/Master/texmf-dist/doc/metapost/featpost/example/spaceinvader.mp
new file mode 100644
index 00000000000..1a8eb9dbf74
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/spaceinvader.mp
@@ -0,0 +1,210 @@
+% spaceinvader.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+vardef renewcolore =
+ color tmpcolo;
+ tmpcolo = (uniformdeviate(0.8),uniformdeviate(0.8),uniformdeviate(0.8));
+ drawoptions( withcolor tmpcolo );
+enddef;
+
+primarydef A xor B = ((not A) and B) or (A and not B) enddef;
+
+def strai( expr FlagVer, FlagForward, IndI, IndJ ) =
+ begingroup
+ path tmppath;
+ if FlagVer:
+ tmppath = (IndI*u,(IndJ-1)*u+mar)---(IndI*u,IndJ*u-mar);
+ else:
+ tmppath = ((IndI-1)*u+mar,IndJ*u)---(IndI*u-mar,IndJ*u);
+ fi;
+ if not FlagForward:
+ tmppath := reverse tmppath;
+ fi;
+ ( tmppath )
+ endgroup
+enddef;
+
+beginfig(1);
+ string st[];
+ st16 = "..............M.";
+ st15 = ".............M..";
+ st14 = "MM..........M...";
+ st13 = "..MMM......M....";
+ st12 = ".....M....M.....";
+ st11 = "MMM...M..M...MMM";
+ st10 = "..MMM.MMMM.MMM..";
+ st9 = "....MMMMMMMM....";
+ st8 = "....M..MM..M....";
+ st7 = "....MMMMMMMM....";
+ st6 = "....MMM..MMM....";
+ st5 = "...MMMMMM.MMMMM.";
+ st4 = "..MM..MMMM..M.MM";
+ st3 = "MMM..MM..MMM...M";
+ st2 = "M...MM.....MMM.M";
+ st1 = "...MM........M..";
+ numeric i, j, hv[][][];
+ boolean b[][];
+ numeric refi, refj, pn, u, mar, numa, numb, numc;
+ boolean startfound, forward, statever, pathfinished;
+ path frontier[];
+ picture borderpic;
+ color cola, colb, colc;
+ pen thepen;
+ u = 6mm;
+ thepen = pencircle scaled 0.2u;
+ mar = 0.3u;
+ startfound = false;
+ pn = 0;
+ for j=1 upto 16:
+ for i=1 upto 16:
+ if substring (i-1,i) of st[j] = ".":
+ b[i][j] = false;
+ else:
+ b[i][j] = true;
+ fi;
+ endfor;
+ endfor;
+ for i=0 upto 17:
+ b[i][0] := false;
+ b[i][17] := false;
+ b[0][i] := false;
+ b[17][i] := false;
+ endfor;
+ for j=0 upto 16:
+ for i=0 upto 16:
+ if b[i][j] xor b[i+1][j]:
+ hv[1][i][j] = 1;
+ draw strai( true, true, i, j );
+ else:
+ hv[1][i][j] = 0;
+ fi;
+ if b[i][j] xor b[i][j+1]:
+ hv[0][i][j] = 1;
+ draw strai( false, true, i, j );
+ else:
+ hv[0][i][j] = 0;
+ fi;
+ endfor;
+ endfor;
+ for i=0 upto 17:
+ hv[0][17][i] := 0;
+ hv[1][i][17] := 0;
+ endfor;
+ borderpic = currentpicture;
+endfig;
+
+def trioone( expr flstat, flforw ) =
+ begingroup
+ color tmpcolor;
+ if flstat and flforw:
+ tmpcolor = (0,0,0);
+ elseif flstat and (not flforw):
+ tmpcolor = (0,1,-1);
+ elseif (not flstat) and flforw:
+ tmpcolor = (1,0,1);
+ else:
+ tmpcolor = (1,-1,0);
+ fi;
+ ( tmpcolor )
+ endgroup
+enddef;
+
+def triotwo( expr flstat, flforw ) =
+ begingroup
+ color tmpcolor;
+ if flstat and flforw:
+ tmpcolor = (1,0,1);
+ elseif flstat and (not flforw):
+ tmpcolor = (1,0,-1);
+ elseif (not flstat) and flforw:
+ tmpcolor = (0,1,0);
+ else:
+ tmpcolor = (0,-1,0);
+ fi;
+ ( tmpcolor )
+ endgroup
+enddef;
+
+def triothr( expr flstat, flforw ) =
+ begingroup
+ color tmpcolor;
+ if flstat and flforw:
+ tmpcolor = (0,1,0);
+ elseif flstat and (not flforw):
+ tmpcolor = (0,0,-1);
+ elseif (not flstat) and flforw:
+ tmpcolor = (1,0,0);
+ else:
+ tmpcolor = (1,-1,1);
+ fi;
+ ( tmpcolor )
+ endgroup
+enddef;
+
+beginfig(2);
+ % draw borderpic;
+ forever:
+ startfound := false;
+ for j=0 upto 16:
+ for i=1 upto 16:
+ if (not startfound) and (hv[0][i][j] = 1):
+ startfound := true;
+ refi := i;
+ refj := j;
+ fi;
+ endfor;
+ endfor;
+ exitunless startfound;
+ statever := false;
+ forward := true;
+ frontier[incr(pn)] = strai( statever, forward, refi, refj );
+ hv[0][refi][refj] := 2;
+ pathfinished := false;
+ forever:
+ cola := trioone(statever,forward);
+ colb := triotwo(statever,forward);
+ colc := triothr(statever,forward);
+ numa := hv[redpart cola][refi+greenpart cola][refj+bluepart cola];
+ numb := hv[redpart colb][refi+greenpart colb][refj+bluepart colb];
+ numc := hv[redpart colc][refi+greenpart colc][refj+bluepart colc];
+ if numa = 1:
+ refi := refi+greenpart cola;
+ refj := refj+bluepart cola;
+ forward := statever xor forward;
+ statever := not statever;
+ frontier[pn] := frontier[pn]..strai( statever, forward, refi, refj );
+ hv[redpart cola][refi][refj] := 2;
+ elseif numa = 2:
+ frontier[pn] := frontier[pn]..cycle;
+ pathfinished := true;
+ elseif numb = 1:
+ refi := refi+greenpart colb;
+ refj := refj+bluepart colb;
+ frontier[pn] := frontier[pn]..strai(statever,forward,refi,refj);
+ hv[redpart colb][refi][refj] := 2;
+ elseif numb = 2:
+ frontier[pn] := frontier[pn]..cycle;
+ pathfinished := true;
+ elseif numc = 1:
+ refi := refi+greenpart colc;
+ refj := refj+bluepart colc;
+ forward := not (statever xor forward);
+ statever := not statever;
+ frontier[pn] := frontier[pn]..strai( statever, forward, refi, refj );
+ hv[redpart colc][refi][refj] := 2;
+ elseif numc = 2:
+ frontier[pn] := frontier[pn]..cycle;
+ pathfinished := true;
+ fi;
+ exitif pathfinished;
+ endfor;
+ renewcolore;
+ fill frontier[pn] withpen thepen;
+ endfor;
+ show pn;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/splineperspective.mp b/Master/texmf-dist/doc/metapost/featpost/example/splineperspective.mp
index c65cd5b2ce4..8bcc4f87526 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/splineperspective.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/splineperspective.mp
@@ -1,11 +1,144 @@
% splineperspective.mp
% L. Nobre G. and Troy Henderson
-% 2007
-
-input featpost3Dplus2D;
+% 2007 -- 2012
prologues := 1;
+defaultfont := "cmss17";
+color f, viewcentr;
+boolean ParallelProj;
+
+ f := (3,5,4); % This f is the point of view in 3D
+
+ viewcentr := black; % This is the aim of the view
+
+ ParallelProj := false; % Kind of perspective %
+ def X(expr A) =
+ if color A: redpart A else: cyanpart A fi
+ enddef;
+
+ def Y(expr A) =
+ if color A: greenpart A else: magentapart A fi
+ enddef;
+
+ def Z(expr A) =
+ if color A: bluepart A else: yellowpart A fi
+ enddef;
+
+ def conorm(expr A) =
+ ( X(A) ++ Y(A) ++ Z(A) )
+ enddef;
+
+ def N(expr A) =
+ begingroup
+ save M, exitcolor;
+ numeric M;
+ color exitcolor;
+ M = conorm( A );
+ if M > 0:
+ exitcolor = ( X(A)/M, Y(A)/M, Z(A)/M );
+ else:
+ exitcolor := black;
+ fi;
+ ( exitcolor )
+ endgroup
+ enddef;
+
+ def cdotprod(expr A, B) =
+ ( X(A)*X(B) + Y(A)*Y(B) + Z(A)*Z(B) )
+ enddef;
+
+ def ccrossprod(expr A, B) =
+ ( Y(A)*Z(B) - Z(A)*Y(B),
+ Z(A)*X(B) - X(A)*Z(B),
+ X(A)*Y(B) - Y(A)*X(B) )
+ enddef;
+
+% The dotproduct of two normalized vectors is the cosine of the angle
+% they form.
+
+ def ndotprod(expr A, B) =
+ begingroup
+ save a, b;
+ color a, b;
+ a = N(A);
+ b = N(B);
+ ( ( X(a)*X(b) + Y(a)*Y(b) + Z(a)*Z(b) ) )
+ endgroup
+ enddef;
+
+% The normalized crossproduct of two vectors.
+% Also check getangle below.
+
+ def ncrossprod(expr A, B) =
+ N( ccrossprod( A, B ) )
+ enddef;
+
+% Haahaa! Trigonometry.
+
+ def getangle(expr A, B) =
+ begingroup
+ save coss, sine;
+ numeric coss, sine;
+ coss := cdotprod( A, B );
+ sine := conorm( ccrossprod( A, B ) );
+ ( angle( coss, sine ) )
+ endgroup
+ enddef;
+
+ def rp(expr R) =
+ begingroup
+
+ save v, u;
+ save verti, horiz, eta, squarf, radio;
+ color v, u;
+ numeric verti, horiz, eta, squarf, radio;
+
+ v = N( (-Y(f-viewcentr), X(f-viewcentr), 0) );
+ u = ncrossprod( f-viewcentr, v );
+
+ horiz = cdotprod( R-viewcentr, v );
+ verti = cdotprod( R-viewcentr, u );
+
+ if ParallelProj:
+ eta = 1;
+ else:
+ squarf = cdotprod( f-viewcentr, f-viewcentr );
+ radio = cdotprod( R-viewcentr, f-viewcentr );
+ eta = 1 - radio/squarf;
+ fi;
+ ( 150*(horiz,verti)/eta )
+
+ endgroup
+ enddef;
+
+ def cartaxes(expr axex, axey, axez) =
+ begingroup
+ save orig, axxc, ayyc, azzc;
+ color orig, axxc, ayyc, azzc;
+ orig = (0,0,0);
+ axxc = (axex,0,0);
+ ayyc = (0,axey,0);
+ azzc = (0,0,axez);
+ drawarrow rp(orig)..rp(axxc);
+ drawarrow rp(orig)..rp(ayyc);
+ drawarrow rp(orig)..rp(azzc);
+ label.bot( "x" ,rp(axxc)); %%%%%%%%%%%%%%%%%%%%%%%%%
+ label.bot( "y" ,rp(ayyc)); %% Some Labels... %%
+ label.lft( "z" ,rp(azzc)); %%%%%%%%%%%%%%%%%%%%%%%%%
+ endgroup
+ enddef;
+
+ def line( expr Ang ) =
+ begingroup
+ numeric a, b, c;
+ a = (2-(1 ++ cosd(Ang))*cosd(3*Ang))*cosd(Ang);
+ b = (2-(1 ++ cosd(Ang))*cosd(3*Ang))*sind(Ang);
+ c =1.5+(1 ++ cosd(Ang))*sind(3*Ang);
+ ( (a,b,c) )
+ endgroup
+ enddef;
+
% Evaluate a cubic polynomial of the "standard" Bezier form at t
vardef evalbezier(expr p,t) =
save _a,_b,_c,_d;
@@ -198,44 +331,40 @@ vardef samplednurbs(expr p,w,N) =
( _q )
enddef;
+% The code below is a development by Troy from an original by Przemek Koprowski
+
+vardef rationalbezier(expr A,B,C,D) =
+ begingroup
+ save P,Q,E,a,b,c,d,r,EPS;
+ color P[],Q[],E;
+ pair a,b,c,d;
+ EPS:=1/10;
+ a:=(redpart A,greenpart A)/(bluepart A);
+ b:=(redpart B,greenpart B)/(bluepart B);
+ c:=(redpart C,greenpart C)/(bluepart C);
+ d:=(redpart D,greenpart D)/(bluepart D);
+ r:=max(abs(a-b),abs(a-c),abs(a-d),abs(b-c),abs(b-d),abs(c-d));
+ if (max(abs(b-1/2[a,c]),abs(c-1/2[b,d])) > EPS*r):
+ P[0]:=A;
+ P[1]:=1/2[A,B];
+ E:=1/2[B,C];
+ Q[2]:=1/2[C,D];
+ Q[3]:=D;
+ P[2]:=1/2[P[1],E];
+ Q[1]:=1/2[E,Q[2]];
+ P[3]:=1/2[P[2],Q[1]];
+ Q[0]:=P[3];
+ rationalbezier(P[0],P[1],P[2],P[3]) & rationalbezier(Q[0],Q[1],Q[2],Q[3])
+ else:
+ a .. controls b and c .. d
+ fi
+ endgroup
+enddef;
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Here's where the fun begins %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-beginfig(4);
-% p contains the 4 control points of the rational function of the
-% "standard" cubic NURBS form
- path p;
- p:=(297.63725,297.63725) .. controls (132.98871,286.67885) and (180.62535,152.16249) .. (429.54399,226.31157);
-
-% w contains the 4 weights for the rational function of the
-% "standard" cubic NURBS form
- cmykcolor w;
- w:=(2.15756,1.6709,0.8598,1.34647);
-
-% EPS represents the minimum "acceptable error" to stop refining any
-% given branch of the Bezier
- Err:=0.040;
-
-% q represents the Bezier spline fit to the rational function of the
-% "standard" cubic NURBS form
- path q;
- q:=fitnurbswithbezier(p,w,Err);
-% q:=fitnurbswithbezier(reverse p,(blackpart w,yellowpart w,magentapart w,cyanpart w),Err);
-
-% draw the NURBS by sampling it at many points and connecting the
-% samples via line segments
- draw samplednurbs(p,w,20) withcolor red withpen pencircle scaled 2bp;
-
-% draw the Bezier spline and its knots
- draw q;
- for n=0 upto length q:
- draw fullcircle scaled 2 shifted point n of q withcolor blue;
- endfor;
-endfig;
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
def casteljau( expr Za, Zb, Zc, Zd, Pt ) = %%%%%%%%%%%%%%%%%%% 2D or 3D
begingroup
save A, B, C, D;
@@ -258,9 +387,6 @@ def yoz( expr W ) = rp( ( 0, Y(W), Z(W) ) ) enddef;
def xoz( expr W ) = rp( ( X(W), 0, Z(W) ) ) enddef;
-f := 0.35*(3,5,2);
-Spread := 160;
-
def nextthirty( expr Za, Zb, Zc, Zd, Pt ) = %%% input 3D and return 2D
begingroup
save A, B, C, D, Tot, P;
@@ -417,6 +543,49 @@ def fitthreednurbswithtwodbezier( expr pa, pb, pc, pd, EPS ) =
endgroup
enddef;
+beginfig(0);
+ draw for i=1 step 6 until 360: xoy(line(i)).. endfor cycle;
+ draw for i=1 step 6 until 360: rp(line(i)).. endfor cycle;
+ for i=1 step 15 until 360:
+ draw rp(line(i)) withpen pencircle scaled 2mm;
+ endfor;
+endfig;
+
+beginfig(4);
+% p contains the 4 control points of the rational function of the
+% "standard" cubic NURBS form
+ path p;
+ p:=(297.63725,297.63725) .. controls (132.98871,286.67885) and (180.62535,152.16249) .. (429.54399,226.31157);
+
+% w contains the 4 weights for the rational function of the
+% "standard" cubic NURBS form
+ cmykcolor w;
+ w:=(2.15756,1.6709,0.8598,1.34647);
+
+% EPS represents the minimum "acceptable error" to stop refining any
+% given branch of the Bezier
+ Err:=0.067;
+
+% q represents the Bezier spline fit to the rational function of the
+% "standard" cubic NURBS form
+ path q;
+ q:=fitnurbswithbezier(p,w,Err);
+% q:=fitnurbswithbezier(reverse p,(blackpart w,yellowpart w,magentapart w,cyanpart w),Err);
+
+% draw the NURBS by sampling it at many points and connecting the
+% samples via line segments
+ draw samplednurbs(p,w,20) withcolor red withpen pencircle scaled 2bp;
+
+% draw the Bezier spline and its knots
+ draw q;
+ for n=0 upto length q:
+ draw fullcircle scaled 2 shifted point n of q withcolor blue;
+ endfor;
+endfig;
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+f := 0.35*(3,5,2);
beginfig(1);
numeric tu, num, i, fac;
pen pencontrol, penspline, penalytic;
@@ -481,7 +650,6 @@ beginfig(1);
endfig;
f := 1.05*(3,5,2);
-Spread := 160;
beginfig(2);
color w[];
@@ -527,8 +695,9 @@ beginfig(5);
draw yoz(w1) for i=1 upto num: ..yoz(casteljau(w1,w2,w3,w4,i/num)) endfor;
draw rp(w1) for i=1 upto num: ..nextthirty(w1,w2,w3,w4,i/num) endfor
withpen pencontrol withcolor colcontrol;
- draw fitthreednurbswithtwodbezier(w1,w2,w3,w4,0.005)
- withpen penalytic withcolor red;
+%%%%%%%%%%%%% the following line may crash;
+%% draw fitthreednurbswithtwodbezier(w1,w2,w3,w4,0.2)
+%% withpen penalytic withcolor red;
endfig;
beginfig(3);
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/splineperspectives.mp b/Master/texmf-dist/doc/metapost/featpost/example/splineperspectives.mp
new file mode 100644
index 00000000000..7637106f611
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/splineperspectives.mp
@@ -0,0 +1,272 @@
+% splineperspectives.mp
+% L. Nobre G.
+% Troy Henderson
+% Przemek Koprowski
+% Manjusha Joshi
+% 2012
+
+prologues := 1;
+color f, vecU, vecV, Perp;
+numeric EPS, iterations;
+EPS:=1/25;
+iterations = 0;
+
+ vardef initializeperspective( expr Focus ) =
+ f := Focus;
+ vecV := N( (-Y(f), X(f), 0) );
+ vecU := ncrossprod( f, vecV );
+ Perp := N( f )
+ enddef;
+
+ def X(expr A) = redpart A enddef;
+
+ def Y(expr A) = greenpart A enddef;
+
+ def Z(expr A) = bluepart A enddef;
+
+ def conorm(expr A) = ( X(A) ++ Y(A) ++ Z(A) ) enddef;
+
+ def N(expr A) =
+ begingroup
+ save M, exitcolor;
+ numeric M;
+ color exitcolor;
+ M = conorm( A );
+ if M > 0:
+ exitcolor = ( X(A)/M, Y(A)/M, Z(A)/M );
+ else:
+ exitcolor := black;
+ fi;
+ ( exitcolor )
+ endgroup
+ enddef;
+
+ def cdotprod(expr A, B) =
+ ( X(A)*X(B) + Y(A)*Y(B) + Z(A)*Z(B) )
+ enddef;
+
+ def ccrossprod(expr A, B) =
+ ( Y(A)*Z(B) - Z(A)*Y(B),
+ Z(A)*X(B) - X(A)*Z(B),
+ X(A)*Y(B) - Y(A)*X(B) )
+ enddef;
+
+% The dotproduct of two normalized vectors is the cosine of the angle
+% they form.
+
+ def ndotprod(expr A, B) =
+ begingroup
+ save a, b;
+ color a, b;
+ a = N(A);
+ b = N(B);
+ ( ( X(a)*X(b) + Y(a)*Y(b) + Z(a)*Z(b) ) )
+ endgroup
+ enddef;
+
+% The normalized crossproduct of two vectors.
+% Also check getangle below.
+
+ def ncrossprod(expr A, B) =
+ N( ccrossprod( A, B ) )
+ enddef;
+
+ def rp(expr R) =
+ begingroup
+ numeric verticalcoordinate, horizontalcoordina;
+ f-vecV*horizontalcoordina-vecU*verticalcoordinate=whatever*(f-R);
+ ( 150*(horizontalcoordina,verticalcoordinate) )
+ endgroup
+ enddef;
+
+ def line( expr Ang ) =
+ begingroup
+ save a, b, c;
+ numeric a, b, c;
+ a = (2-(1 ++ cosd(Ang))*cosd(3*Ang))*cosd(Ang);
+ b = (2-(1 ++ cosd(Ang))*cosd(3*Ang))*sind(Ang);
+ c =1.5+(1 ++ cosd(Ang))*sind(3*Ang);
+ ( (a,b,c) )
+ endgroup
+ enddef;
+
+ vardef rationalnobreg(expr A,B,C,D) =
+ save P,Q,E,wmin,wMax,we;
+ color P[],Q[],E;
+ numeric we[];
+ we[0]:=cdotprod( Perp, f-A );
+ we[1]:=cdotprod( Perp, f-B );
+ we[2]:=cdotprod( Perp, f-C );
+ we[3]:=cdotprod( Perp, f-D );
+ wmin:=min(we[0],we[1],we[2],we[3]);
+ wMax:=max(we[0],we[1],we[2],we[3]);
+ if ((1-wmin/wMax) > EPS):
+ P[0]:=A;
+ P[1]:=1/2[A,B];
+ E:=1/2[B,C];
+ Q[2]:=1/2[C,D];
+ Q[3]:=D;
+ P[2]:=1/2[P[1],E];
+ Q[1]:=1/2[E,Q[2]];
+ P[3]:=1/2[P[2],Q[1]];
+ Q[0]:=P[3];
+ iterations := incr( iterations );
+ rationalnobreg(P[0],P[1],P[2],P[3]) & rationalnobreg(Q[0],Q[1],Q[2],Q[3])
+ else:
+ rp(A) .. controls rp(B) and rp(C) .. rp(D)
+ fi
+ enddef;
+
+ def casteljau( expr Za, Zb, Zc, Zd, Pt ) = %%%%%%%%%%%%%%%%%%% 2D or 3D
+ begingroup
+ save A, B, C, D;
+ numeric A, B, C, D;
+ A = (1-Pt)**3;
+ B = 3*((1-Pt)**2)*Pt;
+ C = 3*(1-Pt)*(Pt**2);
+ D = Pt**3;
+ ( (A*Za+B*Zb+C*Zc+D*Zd) )
+ endgroup
+ enddef;
+
+ def twothr( expr Z ) = ( xpart Z, ypart Z, 0 ) enddef;
+
+ def twotwo( expr Z ) = rp( twothr( Z ) ) enddef;
+
+ def xoy( expr Z ) = rp( ( X(Z), Y(Z), 0 ) ) enddef;
+
+ def yoz( expr W ) = rp( ( 0, Y(W), Z(W) ) ) enddef;
+
+ def xoz( expr W ) = rp( ( X(W), 0, Z(W) ) ) enddef;
+
+ def nextthirty( expr Za, Zb, Zc, Zd, Pt ) = %%% input 3D and return 2D
+ begingroup
+ save A, B, C, D, Tot, P;
+ numeric A, B, C, D, Tot;
+ A = ((1-Pt)**3)*cdotprod( Perp, f-Za );
+ B = 3*((1-Pt)**2)*Pt*cdotprod( Perp, f-Zb );
+ C = 3*(1-Pt)*(Pt**2)*cdotprod( Perp, f-Zc );
+ D = (Pt**3)*cdotprod( Perp, f-Zd );
+ Tot = A+B+C+D;
+ ( (A*rp(Za)+B*rp(Zb)+C*rp(Zc)+D*rp(Zd))/Tot )
+ endgroup
+ enddef;
+
+beginfig(1);
+% initializeperspective(0.35*(3,5,2));
+ initializeperspective((1.3,1.31,1.32));
+ color w[];
+ numeric num, i;
+ pen pencontrol, penalytic;
+ color colcontrol, colorytic;
+ pencontrol = pencircle scaled 4pt;
+ penalytic = pencircle scaled 2pt;
+ colcontrol = black;
+ colorytic = blue+green;
+ num = 50;
+ w1 = (1,0,0);
+ w2 = (0,0,1);
+ w3 = (0,1,0);
+ w4 = (1,1,1);
+ w5 = (1,1,0);
+ w6 = (1,0,1);
+ w7 = (0,1,1);
+ for i=1 upto 3: draw rp(black)--rp(w[i]); endfor;
+ draw rp(w1)--rp(w2)--rp(w3)--rp(w4)--rp(w5)--rp(w1)--rp(w6)--
+ rp(w2)--rp(w7)--rp(w3)--rp(w5) dashed withdots;
+ draw rp(w6)--rp(w4)--rp(w7) dashed withdots;
+ draw xoy(w1) for i=1 upto num: ..xoy(casteljau(w1,w2,w3,w4,i/num)) endfor;
+ draw xoz(w1) for i=1 upto num: ..xoz(casteljau(w1,w2,w3,w4,i/num)) endfor;
+ draw rp(w1) for i=1 upto num: ..nextthirty(w1,w2,w3,w4,i/num) endfor
+ withpen pencontrol withcolor colcontrol;
+ draw rp(w1) for i=1 upto num: ..rp(casteljau(w1,w2,w3,w4,i/num)) endfor
+ withpen penalytic withcolor colorytic;
+ draw rationalnobreg(w1,w2,w3,w4);
+ show iterations;
+ draw nextthirty(w1,w2,w3,w4,0.5) withpen pencontrol withcolor red;
+endfig;
+
+beginfig(2);
+ initializeperspective((3,5,4));
+ color node[], pre[], pos[], a, b, c;
+ numeric i, j, k, l;
+ path td[];
+ pen penmark;
+ pair aux[];
+ penmark = pencircle scaled 2mm;
+ j = 0;
+ draw for i=1 step 3 until 360: xoy(line(i)).. endfor cycle;
+ draw for i=1 step 3 until 360: rp(line(i)).. endfor cycle;
+ for i=10 step 23 until 360:
+ j := incr( j );
+ node[j] = line( i );
+ draw rp(node[j]) withpen penmark;
+ endfor;
+ td1 = for i=1 upto j: (X(node[i]),Y(node[i])).. endfor cycle;
+ td2 = for i=1 upto j: (X(node[i]),Z(node[i])).. endfor cycle;
+ td3 = for i=1 upto j: (Y(node[i]),Z(node[i])).. endfor cycle;
+ for i=1 upto j:
+ l := i-1;
+ for k=1 upto 3:
+ aux[k] := precontrol l of td[k];
+ endfor;
+ a := (xpart (aux1 - point l of td1),ypart (aux1 - point l of td1),0);
+ b := (xpart (aux2 - point l of td2),0,ypart (aux2 - point l of td2));
+ c := (0,xpart (aux3 - point l of td3),ypart (aux3 - point l of td3));
+ pre[i] = node[i]+0.5*(a+b+c);
+ draw rp(pre[i]) withpen penmark withcolor blue;
+ for k=1 upto 3:
+ aux[k] := postcontrol l of td[k];
+ endfor;
+ a := (xpart (aux1 - point l of td1),ypart (aux1 - point l of td1),0);
+ b := (xpart (aux2 - point l of td2),0,ypart (aux2 - point l of td2));
+ c := (0,xpart (aux3 - point l of td3),ypart (aux3 - point l of td3));
+ pos[i] = node[i]+0.5*(a+b+c);
+ draw rp(pos[i]) withpen penmark withcolor red;
+ draw rp(pre[i])--rp(pos[i]) withcolor green;
+ endfor;
+endfig;
+
+beginfig(3);
+ initializeperspective((7,11,9));
+ color node[], pre[], pos[];
+ numeric i, j, param, k, num;
+ pen penmark;
+ param = 0.333;
+ num = 12;
+ penmark = pencircle scaled 2mm;
+ j = 1;
+ draw for i=1 step 3 until 360: xoy(line(i)).. endfor cycle;
+ draw for i=1 step 3 until 360: rp(line(i)).. endfor cycle;
+ for i=10 step 23 until 360:
+ j := incr( j );
+ node[j] = line( i );
+ draw rp(node[j]) withpen penmark;
+ endfor;
+ node[1] = node[j];
+ node[0] = node[j-1];
+ node[j+1] = node[2];
+ for i=2 upto j:
+ %
+ pre[i] = node[i]-param*conorm(node[i]-node[i-1])*N(node[i+1]-node[i-1]);
+ %
+ endfor;
+ pre[1] = pre[j];
+ for i=1 upto j-1:
+ %
+ pos[i] = node[i]+param*conorm(node[i+1]-node[i])*N(node[i+1]-node[i-1]);
+ %
+ endfor;
+ pos[j] = pos[1];
+ for i=1 upto j-1:
+ draw rp(pre[i]) withpen penmark withcolor blue;
+ draw rp(pos[i]) withpen penmark withcolor red;
+ draw rp(pre[i])--rp(pos[i]) withcolor green;
+ draw
+ for k=0 upto num-1:
+ rp(casteljau(node[i],pos[i],pre[i+1],node[i+1],k/num))..
+ endfor rp(node[i+1]) withcolor (red+blue);
+ endfor;
+endfig;
+
+end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/srinathpolineni.mp b/Master/texmf-dist/doc/metapost/featpost/example/srinathpolineni.mp
new file mode 100644
index 00000000000..2fd9ae49bf8
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/srinathpolineni.mp
@@ -0,0 +1,223 @@
+% srinathpolineni.mp
+% L. Nobre G.
+% 2013
+
+input featpost3Dplus2D;
+
+numeric thickn;
+thickn = 7;
+
+beginfig(8);
+ f := 3*(5,3,4);
+ Spread := 60;
+
+ numeric hstep, hmax, hsdev, basestep, basemax, basesdev;
+ numeric i, j, k, angsdev, cylength, cyradius, basen, hn;
+ numeric vcx, vcy, vcz, hcurr, xcurr, ycurr, hbase, aone;
+ numeric atwo, zcurr, counter, aonebase, atwobase;
+ color lenvec, currpos;
+
+ cylength := 0.6;
+ cyradius := 0.1;
+ basen := 12;
+ hn := 4;
+ basestep := cyradius*3.1;
+ hstep := cylength*1.5;
+ basesdev := cyradius*0.1;
+ hsdev := hstep*0.2;
+ hbase := -0.8;
+ angsdev := 7;
+ aonebase := 170;
+ atwobase := 12;
+
+ basemax := basen*basestep;
+ hmax := hn*hstep;
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ hcurr := hbase;
+ forever:
+ exitunless hcurr < hmax+hbase;
+ hcurr := hcurr + hstep;
+ zcurr := hcurr + hsdev*normaldeviate;
+ xcurr := i*basestep + basesdev*normaldeviate;
+ ycurr := j*basestep + basesdev*normaldeviate;
+ aone := uniformdeviate( 360 );
+ atwo := angsdev*normaldeviate;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(5);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ for hcurr=hbase step hstep until hmax:
+ zcurr := hcurr;
+ xcurr := i*basestep;
+ ycurr := j*basestep;
+ aone := aonebase;
+ atwo := atwobase;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(6);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ for hcurr=hbase step hstep until hmax:
+ zcurr := hcurr + basesdev*normaldeviate;
+ xcurr := i*basestep + basesdev*normaldeviate;
+ ycurr := j*basestep + basesdev*normaldeviate;
+ aone := aonebase + angsdev*(normaldeviate-0.5);
+ atwo := atwobase + angsdev*(normaldeviate-0.5);
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(7);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ for hcurr=hbase step hstep until hmax:
+ zcurr := hcurr + basesdev*normaldeviate;
+ xcurr := i*basestep + basesdev*normaldeviate;
+ ycurr := j*basestep + basesdev*normaldeviate;
+ aone := aonebase + angsdev*(normaldeviate-0.5);
+ atwo := angsdev*(normaldeviate-0.5);
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(9);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ for hcurr=hbase step hstep until hmax:
+ zcurr := hbase + uniformdeviate(hmax-hbase);
+ xcurr := uniformdeviate(basen*basestep);
+ ycurr := uniformdeviate(basen*basestep);
+ aone := uniformdeviate(180);
+ atwo := uniformdeviate(180)-90;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(1);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ zcurr := basesdev*normaldeviate;
+ xcurr := uniformdeviate(basen*basestep);
+ ycurr := uniformdeviate(basen*basestep);
+ aone := uniformdeviate(180);
+ atwo := 90;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(3);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ zcurr := basesdev*normaldeviate;
+ xcurr := uniformdeviate(basen*basestep);
+ ycurr := uniformdeviate(basen*basestep);
+ aone := uniformdeviate(180);
+ atwo := 0;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+beginfig(2);
+ counter := 0;
+ for i=1 upto basen:
+ for j=1 upto basen:
+ zcurr := basesdev*normaldeviate;
+ xcurr := uniformdeviate(basen*basestep);
+ ycurr := uniformdeviate(basen*basestep);
+ aone := uniformdeviate(180);
+ atwo := angsdev*normaldeviate;
+ vcz := cosd( atwo );
+ vcy := sind( atwo )*sind( aone );
+ vcx := sind( atwo )*cosd( aone );
+ currpos := ( xcurr, ycurr, zcurr );
+ lenvec := cylength*( vcx, vcy, vcz );
+ counter := incr( counter );
+ generatedirline( counter, aone, 90-atwo, cylength, currpos );
+ endfor;
+ endfor;
+ NL := counter;
+ director_invisible( true, thickn, false );
+endfig;
+
+end;
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/tdcircarrow.mp b/Master/texmf-dist/doc/metapost/featpost/example/tdcircarrow.mp
new file mode 100644
index 00000000000..41e35a9dc8d
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/tdcircarrow.mp
@@ -0,0 +1,29 @@
+% tdcircarrow.mp
+% L. Nobre G.
+% 2012
+
+input featpost3Dplus2D;
+
+f := (3,5,2);
+Spread := 200;
+TDAtiplen := 0.06;
+TDAhalftipbase := 0.04;
+TDAhalfthick := 0.025;
+
+beginfig(1);
+ setthearena(11,1);
+ numeric i, begsum, amp, margi;
+ margi = 6;
+ begsum = 0;
+ amp = 36;
+ for i=1 upto 4:
+ tdcircarrow( black, blue, 0.6, begsum, amp-margi );
+ begsum := begsum+amp;
+ amp := 36*(i+1);
+ endfor;
+ tdarrow(black,0.6*ncrossprod( -f, blue ));
+ tdarrow(black,0.6*ncrossprod( ccrossprod( -f, blue ), blue ));
+endfig;
+
+end.
+ \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/telheiro.mp b/Master/texmf-dist/doc/metapost/featpost/example/telheiro.mp
new file mode 100644
index 00000000000..dcd00413a7b
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/telheiro.mp
@@ -0,0 +1,96 @@
+% telheiro.mp
+% L. Nobre G.
+% 2013
+
+input featpost3Dplus2D;
+
+prologues := 1;
+
+f := (6,1,3);
+
+vardef drawpat( expr Ind )( text Nam ) =
+ draw rp(Nam[Ind]) for i=Ind-1 downto 1: --rp(Nam[i]) endfor
+ for i=1 upto Ind: --rp((-X(Nam[i]),Y(Nam[i]),Z(Nam[i]))) endfor
+enddef;
+
+vardef xz( expr C )= (X(C),Z(C)) enddef;
+
+vardef xy( expr C )= (X(C),Y(C)) enddef;
+
+vardef recter( expr Pic ) = 0.5*((llcorner Pic)+(urcorner Pic)) enddef;
+
+beginfig(1);
+ numeric semimajor, semiminor, vertez, vertey, centery;
+ color verte, cente, maj, min, ver[], dia[], hor[], el;
+ numeric i, cou, ste, axe, maxang;
+ semimajor = 1.4;
+ semiminor = 1;
+ vertez = 1.1;
+ vertey = 0.25;
+ centery = 0.35;
+ ste = 2;
+ axe =1.5;
+ verte = (0,-vertey,vertez);
+ cente = (0,centery,0);
+ maj = (0,semimajor,0);
+ min = (semiminor,0,0);
+ color cen;
+ cen = (0,vertey+centery+semimajor,-vertez);
+ draw rp(verte)--rp(verte+cen);
+ cou = 1;
+ i = 1;
+ forever:
+ el := cente+planarrotation( maj, min, i );
+ ver[cou] = whatever[verte,el];
+ Y(ver[cou]) = 0;
+ dia[cou] = whatever[verte,el];
+ Z(dia[cou]) = Y(dia[cou]);
+ hor[cou] = whatever[verte,el];
+ Z(hor[cou]) = 0;
+ exitif (Z(ver[cou])>=vertez) or (Z(ver[cou])<0) or (Y(hor[cou])<0);
+ cou := cou+1;
+ i := i+ste;
+ endfor;
+ maxang = i;
+ cartaxes(axe,axe,axe);
+ draw rp(black)--rp((-axe,0,0));
+ drawpat(cou)(ver);
+ drawpat(cou)(hor);
+ drawoptions( withcolor blue );
+ drawpat(cou)(dia);
+endfig;
+
+beginfig(2);
+ numeric u;
+ u = 5cm;
+ draw (xz(ver[cou]) for i=cou-1 downto 1: --xz(ver[i]) endfor
+ for i=1 upto cou: --(-X(ver[i]),Z(ver[i])) endfor
+ for i=cou downto 1: --(-X(hor[i]),Y(hor[i])) endfor
+ for i=1 upto cou: --xy(hor[i]) endfor --cycle) scaled u;
+ picture surface;
+ surface = currentpicture;
+ currentpicture := nullpicture;
+ numeric ang, v, d, h;
+ pair ve[], di[], ho[], vec, possurf, posbase;
+ possurf = recter( surface );
+ ang = 0;
+ for i=1 upto cou:
+ ang:= ang+getangle( cen, hor[i]-verte );
+ cen:= hor[i]-verte;
+ v := conorm(verte-ver[i]);
+ d := conorm(verte-dia[i]);
+ h := conorm(cen);
+ vec := dir(90-ang);
+ ve[i] = u*v*vec;
+ di[i] = u*d*vec;
+ ho[i] = u*h*vec;
+ endfor;
+ draw di1 for i=2 upto cou: --di[i] endfor withcolor blue;
+ draw for i=cou downto 1: ve[i]-- endfor for i=1 upto cou: ho[i]-- endfor cycle;
+ draw currentpicture xscaled -1;
+ posbase = recter( currentpicture );
+ draw surface shifted (posbase-possurf);
+ produce_auto_scale;
+endfig;
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/toro4transit.mp b/Master/texmf-dist/doc/metapost/featpost/example/toro4transit.mp
new file mode 100644
index 00000000000..cd39a6e9d54
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/toro4transit.mp
@@ -0,0 +1,202 @@
+%GNUPLOT Metapost output: Tue Jun 26 16:09:32 2012
+
+prologues:=1;
+
+warningcheck:=0;
+defaultmpt:=mpt:=4;
+th:=.6;
+%% Have nice sharp joins on our lines
+linecap:=butt;
+linejoin:=mitered;
+
+def scalepen expr n = pickup pencircle scaled (n*th) enddef;
+def ptsize expr n = mpt:=n*defaultmpt enddef;
+
+color currentcolor; currentcolor:=black;
+color fillcolor;
+boolean colorlines,dashedlines;
+colorlines:=false;
+dashedlines:=false;
+
+def _wc = withpen currentpen withcolor currentcolor enddef;
+
+def linetype expr n =
+ currentcolor:= if colorlines : col[n] else: black fi;
+ if n = -1 :
+ drawoptions(withcolor currentcolor withpen (currentpen scaled .5));
+ else :
+ drawoptions(_wc);
+ fi
+enddef;
+
+beginfig(1);
+ w:=5.000in;
+ h:=3.000in;
+ a:=w/1200.0;
+ b:=h/720.0;
+ scalepen 1;
+ ptsize 1.000;
+ linetype 0;
+ draw (729.8a,485.8b)--(721.8a,485.3b)--(714.0a,483.9b)--(706.4a,481.6b)--(699.0a,478.6b)
+ --(692.1a,474.9b)--(685.5a,470.6b)--(679.4a,466.0b)--(673.5a,461.1b)--(668.0a,456.1b)
+ --(662.8a,451.0b)--(657.7a,446.0b)--(652.6a,441.0b)--(647.6a,435.9b)--(642.6a,430.9b)
+ --(637.5a,425.7b)--(632.5a,420.4b)--(627.5a,414.8b)--(622.6a,408.9b)--(618.1a,402.7b)
+ --(614.0a,396.0b)--(610.4a,389.0b)--(607.5a,381.6b)--(605.5a,373.9b)--(604.3a,366.0b)
+ --(604.0a,358.0b)--(604.8a,350.1b)--(606.4a,342.3b)--(608.9a,334.7b)--(612.1a,327.5b)
+ --(616.0a,320.6b)--(620.3a,314.1b)--(625.0a,308.1b)--(629.9a,302.3b)--(635.0a,296.9b)
+ --(640.0a,291.7b)--(645.1a,286.6b)--(650.1a,281.6b)--(655.1a,276.5b)--(660.2a,271.5b)
+ --(665.4a,266.4b)--(670.8a,261.4b)--(676.4a,256.4b)--(682.4a,251.7b)--(688.8a,247.2b)
+ --(695.5a,243.2b)--(702.7a,239.8b)--(710.1a,237.1b)--(717.9a,235.3b)--(725.8a,234.3b)
+ --(733.8a,234.3b)--(741.7a,235.3b)--(749.5a,237.1b)--(756.9a,239.8b)--(764.1a,243.2b)
+ --(770.8a,247.2b)--(777.2a,251.7b)--(783.2a,256.4b)--(788.8a,261.4b)--(794.2a,266.4b)
+ --(799.4a,271.5b)--(804.5a,276.5b)--(809.5a,281.6b)--(814.5a,286.6b)--(819.6a,291.7b)
+ --(824.6a,296.9b)--(829.7a,302.3b)--(834.6a,308.1b)--(839.3a,314.1b)--(843.6a,320.6b)
+ --(847.5a,327.5b)--(850.7a,334.7b)--(853.2a,342.3b)--(854.8a,350.1b)--(855.6a,358.0b)
+ --(855.3a,366.0b)--(854.1a,373.9b)--(852.1a,381.6b)--(849.2a,389.0b)--(845.6a,396.0b)
+ --(841.5a,402.7b)--(837.0a,408.9b)--(832.1a,414.8b)--(827.1a,420.4b)--(822.1a,425.7b)
+ --(817.0a,430.9b)--(812.0a,435.9b)--(807.0a,441.0b)--(801.9a,446.0b)--(796.8a,451.0b)
+ --(791.6a,456.1b)--(786.1a,461.1b)--(780.2a,466.0b)--(774.1a,470.6b)--(767.5a,474.9b)
+ --(760.6a,478.6b)--(753.2a,481.6b)--(745.6a,483.9b)--(737.8a,485.3b)--(729.8a,485.8b);
+ draw (729.8a,382.7b)--(728.3a,382.9b)--(726.8a,383.4b)--(725.1a,384.2b)--(723.3a,385.2b)
+ --(721.2a,386.2b)--(718.9a,387.3b)--(716.4a,388.1b)--(713.9a,388.7b)--(711.3a,388.8b)
+ --(708.8a,388.6b)--(706.5a,387.8b)--(704.5a,386.5b)--(702.9a,384.8b)--(701.8a,382.8b)
+ --(701.1a,380.4b)--(701.0a,377.9b)--(701.2a,375.3b)--(701.9a,372.8b)--(702.8a,370.3b)
+ --(703.8a,368.1b)--(704.9a,366.0b)--(705.8a,364.2b)--(706.6a,362.6b)--(707.0a,361.1b)
+ --(707.1a,359.6b)--(706.8a,358.2b)--(706.2a,356.6b)--(705.4a,354.9b)--(704.4a,353.0b)
+ --(703.3a,350.8b)--(702.3a,348.5b)--(701.5a,346.0b)--(701.1a,343.4b)--(701.0a,340.8b)
+ --(701.4a,338.4b)--(702.3a,336.2b)--(703.7a,334.3b)--(705.5a,332.8b)--(707.6a,331.8b)
+ --(710.0a,331.2b)--(712.6a,331.2b)--(715.1a,331.6b)--(717.7a,332.3b)--(720.1a,333.2b)
+ --(722.3a,334.3b)--(724.2a,335.3b)--(726.0a,336.2b)--(727.6a,336.9b)--(729.1a,337.2b)
+ --(730.5a,337.2b)--(732.0a,336.9b)--(733.6a,336.2b)--(735.4a,335.3b)--(737.3a,334.3b)
+ --(739.5a,333.2b)--(741.9a,332.3b)--(744.5a,331.6b)--(747.0a,331.2b)--(749.6a,331.2b)
+ --(752.0a,331.8b)--(754.1a,332.8b)--(755.9a,334.3b)--(757.3a,336.2b)--(758.2a,338.4b)
+ --(758.6a,340.8b)--(758.5a,343.4b)--(758.1a,346.0b)--(757.3a,348.5b)--(756.3a,350.8b)
+ --(755.2a,353.0b)--(754.2a,354.9b)--(753.4a,356.6b)--(752.8a,358.2b)--(752.5a,359.6b)
+ --(752.6a,361.1b)--(753.0a,362.6b)--(753.8a,364.2b)--(754.7a,366.0b)--(755.8a,368.1b)
+ --(756.8a,370.3b)--(757.7a,372.8b)--(758.4a,375.3b)--(758.6a,377.9b)--(758.5a,380.4b)
+ --(757.8a,382.8b)--(756.7a,384.8b)--(755.1a,386.5b)--(753.1a,387.8b)--(750.8a,388.6b)
+ --(748.3a,388.8b)--(745.7a,388.7b)--(743.2a,388.1b)--(740.7a,387.3b)--(738.4a,386.2b)
+ --(736.3a,385.2b)--(734.5a,384.2b)--(732.8a,383.4b)--(731.3a,382.9b)--(729.8a,382.7b);
+ draw (600.0a,680.6b)--(592.0a,680.1b)--(584.2a,678.7b)--(576.6a,676.4b)--(569.2a,673.4b)
+ --(562.3a,669.6b)--(555.7a,665.4b)--(549.6a,660.8b)--(543.7a,655.9b)--(538.2a,650.9b)
+ --(533.0a,645.8b)--(527.9a,640.8b)--(522.8a,635.7b)--(517.8a,630.7b)--(512.8a,625.7b)
+ --(507.7a,620.5b)--(502.7a,615.2b)--(497.7a,609.6b)--(492.8a,603.7b)--(488.3a,597.5b)
+ --(484.2a,590.8b)--(480.6a,583.7b)--(477.7a,576.3b)--(475.7a,568.6b)--(474.5a,560.8b)
+ --(474.2a,552.8b)--(475.0a,544.8b)--(476.6a,537.0b)--(479.1a,529.5b)--(482.3a,522.2b)
+ --(486.2a,515.4b)--(490.5a,508.9b)--(495.2a,502.8b)--(500.1a,497.1b)--(505.2a,491.7b)
+ --(510.2a,486.5b)--(515.3a,481.4b)--(520.3a,476.3b)--(525.3a,471.3b)--(530.4a,466.3b)
+ --(535.6a,461.2b)--(541.0a,456.2b)--(546.6a,451.2b)--(552.6a,446.4b)--(559.0a,442.0b)
+ --(565.7a,438.0b)--(572.9a,434.6b)--(580.3a,431.9b)--(588.1a,430.0b)--(596.0a,429.1b)
+ --(604.0a,429.1b)--(611.9a,430.0b)--(619.7a,431.9b)--(627.1a,434.6b)--(634.3a,438.0b)
+ --(641.0a,442.0b)--(647.4a,446.4b)--(653.4a,451.2b)--(659.0a,456.2b)--(664.4a,461.2b)
+ --(669.6a,466.3b)--(674.7a,471.3b)--(679.7a,476.3b)--(684.7a,481.4b)--(689.8a,486.5b)
+ --(694.8a,491.7b)--(699.9a,497.1b)--(704.8a,502.8b)--(709.5a,508.9b)--(713.8a,515.4b)
+ --(717.7a,522.2b)--(720.9a,529.5b)--(723.4a,537.0b)--(725.0a,544.8b)--(725.8a,552.8b)
+ --(725.5a,560.8b)--(724.3a,568.6b)--(722.3a,576.3b)--(719.4a,583.7b)--(715.8a,590.8b)
+ --(711.7a,597.5b)--(707.2a,603.7b)--(702.3a,609.6b)--(697.3a,615.2b)--(692.3a,620.5b)
+ --(687.2a,625.7b)--(682.2a,630.7b)--(677.2a,635.7b)--(672.1a,640.8b)--(667.0a,645.8b)
+ --(661.8a,650.9b)--(656.3a,655.9b)--(650.4a,660.8b)--(644.3a,665.4b)--(637.7a,669.6b)
+ --(630.8a,673.4b)--(623.4a,676.4b)--(615.8a,678.7b)--(608.0a,680.1b)--(600.0a,680.6b);
+ draw (600.0a,577.5b)--(598.5a,577.7b)--(597.0a,578.2b)--(595.3a,579.0b)--(593.5a,580.0b)
+ --(591.4a,581.0b)--(589.1a,582.0b)--(586.6a,582.9b)--(584.1a,583.4b)--(581.5a,583.6b)
+ --(579.0a,583.3b)--(576.7a,582.6b)--(574.7a,581.3b)--(573.1a,579.6b)--(572.0a,577.5b)
+ --(571.3a,575.2b)--(571.2a,572.7b)--(571.4a,570.1b)--(572.1a,567.5b)--(573.0a,565.1b)
+ --(574.0a,562.9b)--(575.1a,560.8b)--(576.0a,559.0b)--(576.8a,557.4b)--(577.2a,555.9b)
+ --(577.3a,554.4b)--(577.0a,553.0b)--(576.4a,551.4b)--(575.6a,549.7b)--(574.6a,547.7b)
+ --(573.5a,545.6b)--(572.5a,543.3b)--(571.7a,540.8b)--(571.3a,538.2b)--(571.2a,535.6b)
+ --(571.6a,533.2b)--(572.5a,530.9b)--(573.9a,529.0b)--(575.7a,527.6b)--(577.8a,526.5b)
+ --(580.2a,526.0b)--(582.8a,526.0b)--(585.3a,526.3b)--(587.9a,527.1b)--(590.3a,528.0b)
+ --(592.5a,529.1b)--(594.4a,530.1b)--(596.2a,531.0b)--(597.8a,531.7b)--(599.3a,532.0b)
+ --(600.7a,532.0b)--(602.2a,531.7b)--(603.8a,531.0b)--(605.6a,530.1b)--(607.5a,529.1b)
+ --(609.7a,528.0b)--(612.1a,527.1b)--(614.7a,526.3b)--(617.2a,526.0b)--(619.8a,526.0b)
+ --(622.2a,526.5b)--(624.3a,527.6b)--(626.1a,529.0b)--(627.5a,530.9b)--(628.4a,533.2b)
+ --(628.8a,535.6b)--(628.7a,538.2b)--(628.3a,540.8b)--(627.5a,543.3b)--(626.5a,545.6b)
+ --(625.4a,547.7b)--(624.4a,549.7b)--(623.6a,551.4b)--(623.0a,553.0b)--(622.7a,554.4b)
+ --(622.8a,555.9b)--(623.2a,557.4b)--(624.0a,559.0b)--(624.9a,560.8b)--(626.0a,562.9b)
+ --(627.0a,565.1b)--(627.9a,567.5b)--(628.6a,570.1b)--(628.8a,572.7b)--(628.7a,575.2b)
+ --(628.0a,577.5b)--(626.9a,579.6b)--(625.3a,581.3b)--(623.3a,582.6b)--(621.0a,583.3b)
+ --(618.5a,583.6b)--(615.9a,583.4b)--(613.4a,582.9b)--(610.9a,582.0b)--(608.6a,581.0b)
+ --(606.5a,580.0b)--(604.7a,579.0b)--(603.0a,578.2b)--(601.5a,577.7b)--(600.0a,577.5b);
+ draw (600.0a,291.0b)--(592.0a,290.5b)--(584.2a,289.1b)--(576.6a,286.9b)--(569.2a,283.8b)
+ --(562.3a,280.1b)--(555.7a,275.8b)--(549.6a,271.2b)--(543.7a,266.3b)--(538.2a,261.3b)
+ --(533.0a,256.3b)--(527.9a,251.2b)--(522.8a,246.2b)--(517.8a,241.2b)--(512.8a,236.1b)
+ --(507.7a,231.0b)--(502.7a,225.6b)--(497.7a,220.1b)--(492.8a,214.2b)--(488.3a,207.9b)
+ --(484.2a,201.2b)--(480.6a,194.2b)--(477.7a,186.8b)--(475.7a,179.1b)--(474.5a,171.2b)
+ --(474.2a,163.2b)--(475.0a,155.3b)--(476.6a,147.5b)--(479.1a,139.9b)--(482.3a,132.7b)
+ --(486.2a,125.8b)--(490.5a,119.4b)--(495.2a,113.3b)--(500.1a,107.6b)--(505.2a,102.1b)
+ --(510.2a,96.9b)--(515.3a,91.8b)--(520.3a,86.8b)--(525.3a,81.8b)--(530.4a,76.7b)
+ --(535.6a,71.6b)--(541.0a,66.6b)--(546.6a,61.6b)--(552.6a,56.9b)--(559.0a,52.4b)
+ --(565.7a,48.4b)--(572.9a,45.0b)--(580.3a,42.3b)--(588.1a,40.5b)--(596.0a,39.5b)
+ --(604.0a,39.5b)--(611.9a,40.5b)--(619.7a,42.3b)--(627.1a,45.0b)--(634.3a,48.4b)
+ --(641.0a,52.4b)--(647.4a,56.9b)--(653.4a,61.6b)--(659.0a,66.6b)--(664.4a,71.6b)
+ --(669.6a,76.7b)--(674.7a,81.8b)--(679.7a,86.8b)--(684.7a,91.8b)--(689.8a,96.9b)
+ --(694.8a,102.1b)--(699.9a,107.6b)--(704.8a,113.3b)--(709.5a,119.4b)--(713.8a,125.8b)
+ --(717.7a,132.7b)--(720.9a,139.9b)--(723.4a,147.5b)--(725.0a,155.3b)--(725.8a,163.2b)
+ --(725.5a,171.2b)--(724.3a,179.1b)--(722.3a,186.8b)--(719.4a,194.2b)--(715.8a,201.2b)
+ --(711.7a,207.9b)--(707.2a,214.2b)--(702.3a,220.1b)--(697.3a,225.6b)--(692.3a,231.0b)
+ --(687.2a,236.1b)--(682.2a,241.2b)--(677.2a,246.2b)--(672.1a,251.2b)--(667.0a,256.3b)
+ --(661.8a,261.3b)--(656.3a,266.3b)--(650.4a,271.2b)--(644.3a,275.8b)--(637.7a,280.1b)
+ --(630.8a,283.8b)--(623.4a,286.9b)--(615.8a,289.1b)--(608.0a,290.5b)--(600.0a,291.0b);
+ draw (600.0a,187.9b)--(598.5a,188.1b)--(597.0a,188.6b)--(595.3a,189.4b)--(593.5a,190.4b)
+ --(591.4a,191.5b)--(589.1a,192.5b)--(586.6a,193.3b)--(584.1a,193.9b)--(581.5a,194.1b)
+ --(579.0a,193.8b)--(576.7a,193.0b)--(574.7a,191.8b)--(573.1a,190.1b)--(572.0a,188.0b)
+ --(571.3a,185.6b)--(571.2a,183.1b)--(571.4a,180.5b)--(572.1a,178.0b)--(573.0a,175.5b)
+ --(574.0a,173.3b)--(575.1a,171.3b)--(576.0a,169.4b)--(576.8a,167.8b)--(577.2a,166.3b)
+ --(577.3a,164.9b)--(577.0a,163.4b)--(576.4a,161.8b)--(575.6a,160.1b)--(574.6a,158.2b)
+ --(573.5a,156.0b)--(572.5a,153.7b)--(571.7a,151.2b)--(571.3a,148.6b)--(571.2a,146.1b)
+ --(571.6a,143.6b)--(572.5a,141.4b)--(573.9a,139.5b)--(575.7a,138.0b)--(577.8a,137.0b)
+ --(580.2a,136.5b)--(582.8a,136.4b)--(585.3a,136.8b)--(587.9a,137.5b)--(590.3a,138.4b)
+ --(592.5a,139.5b)--(594.4a,140.5b)--(596.2a,141.4b)--(597.8a,142.1b)--(599.3a,142.5b)
+ --(600.7a,142.5b)--(602.2a,142.1b)--(603.8a,141.4b)--(605.6a,140.5b)--(607.5a,139.5b)
+ --(609.7a,138.4b)--(612.1a,137.5b)--(614.7a,136.8b)--(617.2a,136.4b)--(619.8a,136.5b)
+ --(622.2a,137.0b)--(624.3a,138.0b)--(626.1a,139.5b)--(627.5a,141.4b)--(628.4a,143.6b)
+ --(628.8a,146.1b)--(628.7a,148.6b)--(628.3a,151.2b)--(627.5a,153.7b)--(626.5a,156.0b)
+ --(625.4a,158.2b)--(624.4a,160.1b)--(623.6a,161.8b)--(623.0a,163.4b)--(622.7a,164.9b)
+ --(622.8a,166.3b)--(623.2a,167.8b)--(624.0a,169.4b)--(624.9a,171.3b)--(626.0a,173.3b)
+ --(627.0a,175.5b)--(627.9a,178.0b)--(628.6a,180.5b)--(628.8a,183.1b)--(628.7a,185.6b)
+ --(628.0a,188.0b)--(626.9a,190.1b)--(625.3a,191.8b)--(623.3a,193.0b)--(621.0a,193.8b)
+ --(618.5a,194.1b)--(615.9a,193.9b)--(613.4a,193.3b)--(610.9a,192.5b)--(608.6a,191.5b)
+ --(606.5a,190.4b)--(604.7a,189.4b)--(603.0a,188.6b)--(601.5a,188.1b)--(600.0a,187.9b);
+ draw (470.2a,485.8b)--(462.2a,485.3b)--(454.4a,483.9b)--(446.8a,481.6b)--(439.4a,478.6b)
+ --(432.5a,474.9b)--(425.9a,470.6b)--(419.8a,466.0b)--(413.9a,461.1b)--(408.4a,456.1b)
+ --(403.2a,451.0b)--(398.1a,446.0b)--(393.0a,441.0b)--(388.0a,435.9b)--(383.0a,430.9b)
+ --(377.9a,425.7b)--(372.9a,420.4b)--(367.9a,414.8b)--(363.0a,408.9b)--(358.5a,402.7b)
+ --(354.4a,396.0b)--(350.8a,389.0b)--(347.9a,381.6b)--(345.9a,373.9b)--(344.7a,366.0b)
+ --(344.4a,358.0b)--(345.2a,350.1b)--(346.8a,342.3b)--(349.3a,334.7b)--(352.5a,327.5b)
+ --(356.4a,320.6b)--(360.7a,314.1b)--(365.4a,308.1b)--(370.3a,302.3b)--(375.4a,296.9b)
+ --(380.4a,291.7b)--(385.5a,286.6b)--(390.5a,281.6b)--(395.5a,276.5b)--(400.6a,271.5b)
+ --(405.8a,266.4b)--(411.2a,261.4b)--(416.8a,256.4b)--(422.8a,251.7b)--(429.2a,247.2b)
+ --(435.9a,243.2b)--(443.1a,239.8b)--(450.5a,237.1b)--(458.3a,235.3b)--(466.2a,234.3b)
+ --(474.2a,234.3b)--(482.1a,235.3b)--(489.9a,237.1b)--(497.3a,239.8b)--(504.5a,243.2b)
+ --(511.2a,247.2b)--(517.6a,251.7b)--(523.6a,256.4b)--(529.2a,261.4b)--(534.6a,266.4b)
+ --(539.8a,271.5b)--(544.9a,276.5b)--(549.9a,281.6b)--(554.9a,286.6b)--(560.0a,291.7b)
+ --(565.0a,296.9b)--(570.1a,302.3b)--(575.0a,308.1b)--(579.7a,314.1b)--(584.0a,320.6b)
+ --(587.9a,327.5b)--(591.1a,334.7b)--(593.6a,342.3b)--(595.2a,350.1b)--(596.0a,358.0b)
+ --(595.7a,366.0b)--(594.5a,373.9b)--(592.5a,381.6b)--(589.6a,389.0b)--(586.0a,396.0b)
+ --(581.9a,402.7b)--(577.4a,408.9b)--(572.5a,414.8b)--(567.5a,420.4b)--(562.5a,425.7b)
+ --(557.4a,430.9b)--(552.4a,435.9b)--(547.4a,441.0b)--(542.3a,446.0b)--(537.2a,451.0b)
+ --(532.0a,456.1b)--(526.5a,461.1b)--(520.6a,466.0b)--(514.5a,470.6b)--(507.9a,474.9b)
+ --(501.0a,478.6b)--(493.6a,481.6b)--(486.0a,483.9b)--(478.2a,485.3b)--(470.2a,485.8b);
+ draw (470.2a,382.7b)--(468.7a,382.9b)--(467.2a,383.4b)--(465.5a,384.2b)--(463.7a,385.2b)
+ --(461.6a,386.2b)--(459.3a,387.3b)--(456.8a,388.1b)--(454.3a,388.7b)--(451.7a,388.8b)
+ --(449.2a,388.6b)--(446.9a,387.8b)--(444.9a,386.5b)--(443.3a,384.8b)--(442.2a,382.8b)
+ --(441.5a,380.4b)--(441.4a,377.9b)--(441.6a,375.3b)--(442.3a,372.8b)--(443.2a,370.3b)
+ --(444.2a,368.1b)--(445.3a,366.0b)--(446.2a,364.2b)--(447.0a,362.6b)--(447.4a,361.1b)
+ --(447.5a,359.6b)--(447.2a,358.2b)--(446.6a,356.6b)--(445.8a,354.9b)--(444.8a,353.0b)
+ --(443.7a,350.8b)--(442.7a,348.5b)--(441.9a,346.0b)--(441.5a,343.4b)--(441.4a,340.8b)
+ --(441.8a,338.4b)--(442.7a,336.2b)--(444.1a,334.3b)--(445.9a,332.8b)--(448.0a,331.8b)
+ --(450.4a,331.2b)--(453.0a,331.2b)--(455.5a,331.6b)--(458.1a,332.3b)--(460.5a,333.2b)
+ --(462.7a,334.3b)--(464.6a,335.3b)--(466.4a,336.2b)--(468.0a,336.9b)--(469.5a,337.2b)
+ --(470.9a,337.2b)--(472.4a,336.9b)--(474.0a,336.2b)--(475.8a,335.3b)--(477.7a,334.3b)
+ --(479.9a,333.2b)--(482.3a,332.3b)--(484.9a,331.6b)--(487.4a,331.2b)--(490.0a,331.2b)
+ --(492.4a,331.8b)--(494.5a,332.8b)--(496.3a,334.3b)--(497.7a,336.2b)--(498.6a,338.4b)
+ --(499.0a,340.8b)--(498.9a,343.4b)--(498.5a,346.0b)--(497.7a,348.5b)--(496.7a,350.8b)
+ --(495.6a,353.0b)--(494.6a,354.9b)--(493.8a,356.6b)--(493.2a,358.2b)--(492.9a,359.6b)
+ --(493.0a,361.1b)--(493.4a,362.6b)--(494.2a,364.2b)--(495.1a,366.0b)--(496.2a,368.1b)
+ --(497.2a,370.3b)--(498.1a,372.8b)--(498.8a,375.3b)--(499.0a,377.9b)--(498.9a,380.4b)
+ --(498.2a,382.8b)--(497.1a,384.8b)--(495.5a,386.5b)--(493.5a,387.8b)--(491.2a,388.6b)
+ --(488.7a,388.8b)--(486.1a,388.7b)--(483.6a,388.1b)--(481.1a,387.3b)--(478.8a,386.2b)
+ --(476.7a,385.2b)--(474.9a,384.2b)--(473.2a,383.4b)--(471.7a,382.9b)--(470.2a,382.7b);
+endfig;
+
+end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/torus.mp b/Master/texmf-dist/doc/metapost/featpost/example/torus.mp
index f014309dff2..8329f5a27fa 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/torus.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/torus.mp
@@ -1,6 +1,6 @@
% torus
% L. Nobre G.
-% 2004
+% 20013
input featpost3Dplus2D;
@@ -72,7 +72,16 @@ beginfig(5);
doitnow;
endfig;
-beginfig(6);
+beginfig(4);
+ f := (16,2,3.8);
+ Spread:=40;
+ pickup pencircle scaled 3pt;
+ smoothtorus( black-3*blue, blue, 4, 1 );
+ smoothtorus( black, blue, 4, 1 );
+ smoothtorus( black+3*blue, blue, 4, 1 );
+endfig;
+
+beginfig(3);
Spread := 100;
f := (7,3,9);
HoriZon := -2;
@@ -143,26 +152,6 @@ beginfig(6);
% endfor;
endfig;
-beginfig(1);
- Spread := 140;
- NP:=2000;
- RB:=1;
- RS:=0.2;
- R3:=0.1;
- NB:=8;
- NS:=5;
- jB:=360*NB/NP;
- jS:=360*NS/NP;
- for i=1 upto NP:
- phi :=i*jS;
- theta :=i*jB;
- first :=(RB+(RS+R3*sind(4*theta))*cosd(phi))*cosd(theta);
- second:=(RB+(RS+R3*sind(4*theta))*cosd(phi))*sind(theta);
- third := (RS+R3*sind(4*theta))*sind(phi);
- signalvertex( (first,second,third), 1, black );
- endfor;
-endfig;
-
% Draw a torus with faces.
beginfig(2);
@@ -210,7 +199,28 @@ beginfig(2);
sharpraytrace;
endfig;
-beginfig(3);
+beginfig(1);
+ f := ( 3,1,1 );
+ Spread := 110;
+ NP:=500;
+ RB:=1;
+ RS:=0.2;
+ R3:=0.1;
+ NB:=8;
+ NS:=5;
+ jB:=360*NB/NP;
+ jS:=360*NS/NP;
+ for i=1 upto NP:
+ phi :=i*jS;
+ theta :=i*jB;
+ first :=(RB+(RS+R3*sind(4*theta))*cosd(phi))*cosd(theta);
+ second:=(RB+(RS+R3*sind(4*theta))*cosd(phi))*sind(theta);
+ third := (RS+R3*sind(4*theta))*sind(phi);
+ signalvertex( (first,second,third), 1, black );
+ endfor;
+endfig;
+
+beginfig(6);
f := (6,2,4);
% f := (6,2,7); % NO CUSP.
Spread:=70;
@@ -283,13 +293,22 @@ beginfig(3);
draw subpath (i,ind-i) of ipath withcolor red;
endfig;
-beginfig(4);
- f := (16,2,3.8);
- Spread:=40;
- pickup pencircle scaled 3pt;
- smoothtorus( black-3*blue, blue, 4, 1 );
- smoothtorus( black, blue, 4, 1 );
- smoothtorus( black+3*blue, blue, 4, 1 );
+beginfig(7); %%%%%%% copy of figure 6
+ f := (6,2,4);
+ Spread:=70;
+ HoriZon := -2;
+ ShadowOn := true;
+ numeric bigray, smaray;
+ color toruscenter, torusmoment;
+ pen markpen;
+ markpen = pencircle scaled 5pt;
+ bigray = 2;
+ smaray = 1;
+ toruscenter = black;
+ torusmoment = (0,1,2);
+ setthestage( 17, 8 );
+ pickup markpen;
+ smoothtorus( toruscenter, torusmoment, bigray, smaray );
endfig;
end.
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/trebuchet.mp b/Master/texmf-dist/doc/metapost/featpost/example/trebuchet.mp
new file mode 100644
index 00000000000..bcd0311d59c
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/trebuchet.mp
@@ -0,0 +1,32 @@
+% trebuchet.mp
+% L. Nobre G.
+% 2012
+
+prologues := 1;
+
+beginfig(1);
+ numeric i, s, a, u, h, t;
+ pair pi, pj, pk;
+ u = 9mm;
+ h = 5u;
+ a = 0.039u;
+ s = 5;
+ draw (0,-h) for i=s-90 step s until 90:
+ ..(h*(2*cosd(i),sind(i)))
+ endfor --cycle;
+ draw origin--(2h,0);
+ t = 0;
+ forever:
+ t := incr(t);
+ i := h-0.5*a*t**2;
+ exitif i<-h;
+ pi := (0,i);
+ pj := (h+-+i,0);
+ pk := 2[pi,pj];
+ if i<0:
+ draw pj withpen pencircle scaled 0.17u;
+ fi;
+ draw pi--pk withcolor 0.5white;
+ endfor;
+endfig;
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/treecarbonedited.mp b/Master/texmf-dist/doc/metapost/featpost/example/treecarbonedited.mp
new file mode 100644
index 00000000000..b57726f92b7
--- /dev/null
+++ b/Master/texmf-dist/doc/metapost/featpost/example/treecarbonedited.mp
@@ -0,0 +1,2128 @@
+%
+% fig2dev (version 3.2.5-alpha7) -L (m)mp version 0.05 --- Preamble
+%
+
+%
+% mp output driver options:
+% -L mp
+%
+
+% +MP-ADDITIONAL-HEADER
+verbatimtex
+%&latex
+\documentclass{article}
+\usepackage{palatino}
+\begin{document}
+etex
+% -MP-ADDITIONAL-HEADER
+
+
+%SetFigFont macros for latex
+verbatimtex
+%
+\begingroup\makeatletter\ifx\SetFigFontNFSS\undefined%
+\gdef\SetFigFontNFSS#1#2#3#4#5{%
+ \reset@font\fontsize{#1}{#2pt}%
+ \fontfamily{#3}\fontseries{#4}\fontshape{#5}%
+ \selectfont}%
+\fi\endgroup%
+\ifx\SetFigFontSize\undefined%
+\gdef\SetFigFontSize#1#2{%
+ \fontsize{#1}{#2pt}%
+ \selectfont}%
+\fi%
+etex
+
+% Now draw the figure
+beginfig(0)
+% Some reasonable defaults
+ labeloffset:=0;
+ truecorners:=1;
+ bboxmargin:=0;
+% Begin polyline object
+ linecap:=butt;
+ linejoin:=mitered;
+ miterlimit:=20.0;
+ pickup pencircle scaled 0.94;
+ path p;
+ p = (25.51, 202.39)
+ --(578.27, 202.39)
+ --(578.27, -30.05)
+ --(25.51, -30.05)
+ --(25.51, 202.39)--cycle;
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.75,0.38,0.00) + -0.10white);
+ draw p withcolor (0.75,0.38,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (362.83, 721.13)
+ --(362.83, 602.08);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.53,0.81,1.00) + 0.00white);
+ draw p withcolor (0.53,0.81,1.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (347.91, 686.05)
+ --(362.83, 629.35)
+ --(377.70, 686.05)
+ --(347.91, 686.05) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.53,0.81,1.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (530.08, 712.63)
+ --(530.08, 193.89);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.53,0.81,1.00) + 0.00white);
+ draw p withcolor (0.53,0.81,1.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (515.15, 277.86)
+ --(530.08, 221.17)
+ --(544.94, 277.86)
+ --(515.15, 277.86) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.53,0.81,1.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (127.56, 525.54)
+ --(62.36, 698.46);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.82,0.00,0.00) + 0.00white);
+ draw p withcolor (0.82,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (105.89, 625.20)
+ --(72.00, 672.94)
+ --(78.05, 614.68)
+ --(105.89, 625.20) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.82,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (181.42, 446.17)
+ --(181.42, 239.24);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.00,0.56,0.56) + 0.00white);
+ draw p withcolor (0.00,0.56,0.56);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (166.49, 323.21)
+ --(181.42, 266.52)
+ --(196.28, 323.21)
+ --(166.49, 323.21) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.00,0.56,0.56);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (433.70, 35.15)
+ --(337.32, 154.20);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.00,0.82,0.00) + 0.00white);
+ draw p withcolor (0.00,0.82,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (401.64, 98.39)
+ --(354.46, 133.04)
+ --(378.52, 79.62)
+ --(401.64, 98.39) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.00,0.82,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (124.72, 23.81)
+ --(235.28, 108.85);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.00,0.82,0.00) + 0.00white);
+ draw p withcolor (0.00,0.82,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (177.76, 45.92)
+ --(213.67, 92.22)
+ --(159.62, 69.48)
+ --(177.76, 45.92) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.00,0.82,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path p;
+ p = (96.38, 179.72)
+ --(45.35, 304.44);
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.82,0.00,0.00) + 0.00white);
+ draw p withcolor (0.82,0.00,0.00);
+% Draw arrowhead type 1
+ linecap:=0;
+ linejoin:=0;
+ pickup pencircle scaled 14.17;
+ path arr;
+ arr = (90.90, 232.38)
+ --(55.69, 279.18)
+ --(63.37, 221.10)
+ --(90.90, 232.38) -- cycle;
+ fill arr withcolor white;
+ draw arr withcolor (0.82,0.00,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=2;
+ pickup pencircle scaled 0.94;
+ path p;
+ p = (250.39, 206.49)
+ --(251.15, 207.87)
+ --(251.84, 209.39)
+ --(252.47, 210.83)
+ --(253.10, 212.35)
+ --(253.73, 213.92)
+ --(254.30, 215.56)
+ --(254.80, 217.20)
+ --(255.37, 218.90)
+ --(255.87, 220.66)
+ --(256.31, 222.49)
+ --(256.76, 224.38)
+ --(257.20, 226.27)
+ --(257.57, 228.16)
+ --(257.95, 230.11)
+ --(258.27, 232.13)
+ --(258.58, 234.14)
+ --(258.90, 236.09)
+ --(259.15, 238.11)
+ --(259.40, 240.13)
+ --(259.65, 242.14)
+ --(259.84, 244.16)
+ --(259.97, 246.11)
+ --(260.16, 248.13)
+ --(260.28, 250.08)
+ --(260.41, 252.03)
+ --(260.54, 253.98)
+ --(260.66, 255.94)
+ --(260.72, 257.89)
+ --(260.79, 259.72)
+ --(260.91, 261.61)
+ --(260.98, 263.50)
+ --(261.04, 265.45)
+ --(261.10, 267.46)
+ --(261.17, 269.48)
+ --(261.23, 271.56)
+ --(261.23, 273.64)
+ --(261.29, 275.78)
+ --(261.29, 277.98)
+ --(261.35, 280.19)
+ --(261.35, 282.46)
+ --(261.35, 284.72)
+ --(261.35, 286.99)
+ --(261.35, 289.26)
+ --(261.35, 291.53)
+ --(261.35, 293.80)
+ --(261.29, 296.00)
+ --(261.29, 298.20)
+ --(261.23, 300.35)
+ --(261.17, 302.49)
+ --(261.10, 304.57)
+ --(261.04, 306.58)
+ --(260.98, 308.54)
+ --(260.91, 310.43)
+ --(260.85, 312.31)
+ --(260.72, 314.14)
+ --(260.66, 315.91)
+ --(260.54, 317.61)
+ --(260.41, 319.24)
+ --(260.28, 321.20)
+ --(260.16, 323.09)
+ --(259.97, 324.91)
+ --(259.78, 326.80)
+ --(259.59, 328.63)
+ --(259.40, 330.52)
+ --(259.15, 332.35)
+ --(258.90, 334.24)
+ --(258.58, 336.13)
+ --(258.33, 337.95)
+ --(258.02, 339.84)
+ --(257.64, 341.73)
+ --(257.26, 343.56)
+ --(256.88, 345.39)
+ --(256.44, 347.21)
+ --(256.06, 348.98)
+ --(255.56, 350.74)
+ --(255.12, 352.50)
+ --(254.61, 354.20)
+ --(254.11, 355.84)
+ --(253.61, 357.48)
+ --(253.04, 359.12)
+ --(252.47, 360.69)
+ --(251.91, 362.20)
+ --(251.34, 363.78)
+ --(250.71, 365.35)
+ --(250.08, 366.93)
+ --(249.39, 368.50)
+ --(248.69, 370.08)
+ --(247.94, 371.78)
+ --(247.18, 373.42)
+ --(246.36, 375.12)
+ --(245.54, 376.88)
+ --(244.66, 378.58)
+ --(243.78, 380.41)
+ --(242.83, 382.17)
+ --(241.95, 383.94)
+ --(240.94, 385.76)
+ --(240.00, 387.53)
+ --(239.06, 389.29)
+ --(238.11, 390.99)
+ --(237.17, 392.69)
+ --(236.22, 394.27)
+ --(235.34, 395.84)
+ --(234.46, 397.35)
+ --(233.57, 398.80)
+ --(232.76, 400.19)
+ --(232.00, 401.51)
+ --(231.18, 402.71)
+ --(230.49, 403.91)
+ --(229.80, 405.04)
+ --(229.10, 406.05)
+ --(228.03, 407.69)
+ --(227.02, 409.20)
+ --(226.08, 410.58)
+ --(225.20, 411.91)
+ --(224.38, 413.17)
+ --(223.62, 414.36)
+ --(222.93, 415.50)
+ --(222.30, 416.57)
+ --(221.80, 417.57)
+ --(221.35, 418.46)
+ --(221.04, 419.34)
+ --(220.85, 420.16)
+ --(220.72, 420.91)
+ --(220.72, 421.61)
+ --(220.79, 422.30)
+ --(220.98, 422.99)
+ --(221.17, 423.50)
+ --(221.35, 424.00)
+ --(221.67, 424.57)
+ --(221.98, 425.07)
+ --(222.36, 425.64)
+ --(222.87, 426.14)
+ --(223.37, 426.65)
+ --(223.94, 427.15)
+ --(224.57, 427.59)
+ --(225.20, 427.97)
+ --(225.95, 428.35)
+ --(226.71, 428.60)
+ --(227.53, 428.85)
+ --(228.35, 428.98)
+ --(229.23, 429.04)
+ --(230.11, 429.04)
+ --(230.99, 428.98)
+ --(231.94, 428.79)
+ --(232.82, 428.47)
+ --(233.76, 428.09)
+ --(234.71, 427.65)
+ --(235.72, 427.09)
+ --(236.60, 426.46)
+ --(237.54, 425.76)
+ --(238.49, 424.94)
+ --(239.50, 424.06)
+ --(240.57, 423.06)
+ --(241.64, 421.98)
+ --(242.71, 420.79)
+ --(243.91, 419.53)
+ --(245.04, 418.27)
+ --(246.30, 416.88)
+ --(247.50, 415.50)
+ --(248.76, 414.05)
+ --(250.02, 412.54)
+ --(251.28, 411.09)
+ --(252.54, 409.64)
+ --(253.73, 408.19)
+ --(254.99, 406.74)
+ --(256.19, 405.35)
+ --(257.39, 404.03)
+ --(258.52, 402.77)
+ --(259.65, 401.57)
+ --(260.79, 400.38)
+ --(261.86, 399.31)
+ --(262.93, 398.24)
+ --(263.94, 397.35)
+ --(264.94, 396.54)
+ --(265.95, 395.72)
+ --(266.96, 394.96)
+ --(267.97, 394.20)
+ --(268.98, 393.57)
+ --(270.05, 392.94)
+ --(271.06, 392.44)
+ --(272.13, 391.94)
+ --(273.20, 391.56)
+ --(274.27, 391.24)
+ --(275.34, 390.99)
+ --(276.41, 390.87)
+ --(277.42, 390.80)
+ --(278.43, 390.80)
+ --(279.43, 390.93)
+ --(280.44, 391.12)
+ --(281.39, 391.43)
+ --(282.33, 391.81)
+ --(283.21, 392.31)
+ --(284.09, 392.88)
+ --(284.91, 393.51)
+ --(285.73, 394.27)
+ --(286.49, 395.09)
+ --(287.24, 396.03)
+ --(288.00, 397.04)
+ --(288.76, 398.11)
+ --(289.45, 399.37)
+ --(290.14, 400.69)
+ --(290.83, 402.08)
+ --(291.59, 403.59)
+ --(292.28, 405.23)
+ --(292.98, 406.87)
+ --(293.73, 408.69)
+ --(294.49, 410.52)
+ --(295.18, 412.47)
+ --(295.94, 414.43)
+ --(296.69, 416.38)
+ --(297.45, 418.39)
+ --(298.14, 420.41)
+ --(298.90, 422.43)
+ --(299.65, 424.44)
+ --(300.35, 426.33)
+ --(301.10, 428.22)
+ --(301.86, 430.05)
+ --(302.55, 431.75)
+ --(303.24, 433.45)
+ --(304.00, 434.96)
+ --(304.69, 436.47)
+ --(305.39, 437.80)
+ --(306.08, 439.06)
+ --(306.83, 440.25)
+ --(307.34, 441.01)
+ --(307.84, 441.70)
+ --(308.35, 442.39)
+ --(308.91, 442.96)
+ --(309.42, 443.59)
+ --(309.98, 444.09)
+ --(310.49, 444.60)
+ --(311.06, 445.04)
+ --(311.62, 445.42)
+ --(312.19, 445.80)
+ --(312.76, 446.05)
+ --(313.32, 446.30)
+ --(313.95, 446.49)
+ --(314.52, 446.61)
+ --(315.09, 446.68)
+ --(315.65, 446.68)
+ --(316.22, 446.61)
+ --(316.72, 446.55)
+ --(317.29, 446.36)
+ --(317.80, 446.11)
+ --(318.30, 445.86)
+ --(318.80, 445.48)
+ --(319.31, 445.04)
+ --(319.75, 444.60)
+ --(320.19, 444.03)
+ --(320.57, 443.46)
+ --(320.94, 442.77)
+ --(321.32, 442.08)
+ --(321.70, 441.32)
+ --(321.95, 440.50)
+ --(322.27, 439.62)
+ --(322.52, 438.74)
+ --(322.71, 437.73)
+ --(322.96, 436.72)
+ --(323.09, 435.65)
+ --(323.21, 434.52)
+ --(323.34, 433.32)
+ --(323.46, 432.06)
+ --(323.46, 430.43)
+ --(323.53, 428.66)
+ --(323.46, 426.83)
+ --(323.46, 424.88)
+ --(323.34, 422.80)
+ --(323.21, 420.66)
+ --(323.02, 418.46)
+ --(322.90, 416.13)
+ --(322.65, 413.73)
+ --(322.46, 411.28)
+ --(322.20, 408.76)
+ --(321.95, 406.17)
+ --(321.64, 403.59)
+ --(321.39, 401.01)
+ --(321.13, 398.43)
+ --(320.88, 395.84)
+ --(320.63, 393.32)
+ --(320.38, 390.80)
+ --(320.19, 388.41)
+ --(319.94, 386.08)
+ --(319.81, 383.81)
+ --(319.69, 381.67)
+ --(319.56, 379.65)
+ --(319.50, 377.70)
+ --(319.43, 375.94)
+ --(319.43, 374.24)
+ --(319.50, 372.66)
+ --(319.62, 371.28)
+ --(319.75, 369.95)
+ --(319.94, 368.82)
+ --(320.19, 367.81)
+ --(320.50, 366.87)
+ --(320.88, 366.11)
+ --(321.32, 365.42)
+ --(321.83, 364.91)
+ --(322.33, 364.47)
+ --(322.96, 364.09)
+ --(323.59, 363.91)
+ --(324.28, 363.78)
+ --(325.04, 363.78)
+ --(325.86, 363.91)
+ --(326.68, 364.09)
+ --(327.56, 364.41)
+ --(328.44, 364.79)
+ --(329.39, 365.29)
+ --(330.39, 365.86)
+ --(331.40, 366.55)
+ --(332.41, 367.31)
+ --(333.42, 368.06)
+ --(334.43, 368.94)
+ --(335.43, 369.89)
+ --(336.44, 370.83)
+ --(337.45, 371.84)
+ --(338.46, 372.85)
+ --(339.40, 373.92)
+ --(340.41, 374.99)
+ --(341.35, 376.06)
+ --(342.30, 377.20)
+ --(343.18, 378.33)
+ --(344.06, 379.46)
+ --(345.20, 380.91)
+ --(346.27, 382.36)
+ --(347.40, 383.87)
+ --(348.47, 385.45)
+ --(349.54, 387.02)
+ --(350.61, 388.66)
+ --(351.75, 390.30)
+ --(352.82, 391.94)
+ --(353.95, 393.57)
+ --(355.02, 395.28)
+ --(356.09, 396.91)
+ --(357.17, 398.55)
+ --(358.24, 400.13)
+ --(359.31, 401.70)
+ --(360.31, 403.15)
+ --(361.26, 404.54)
+ --(362.27, 405.86)
+ --(363.21, 407.12)
+ --(364.09, 408.25)
+ --(364.98, 409.32)
+ --(365.80, 410.33)
+ --(366.61, 411.15)
+ --(367.43, 411.97)
+ --(368.25, 412.66)
+ --(368.94, 413.17)
+ --(369.57, 413.61)
+ --(370.27, 414.05)
+ --(370.96, 414.36)
+ --(371.59, 414.68)
+ --(372.28, 414.87)
+ --(372.91, 415.06)
+ --(373.61, 415.12)
+ --(374.24, 415.18)
+ --(374.87, 415.18)
+ --(375.50, 415.12)
+ --(376.13, 414.93)
+ --(376.69, 414.74)
+ --(377.20, 414.49)
+ --(377.76, 414.17)
+ --(378.20, 413.80)
+ --(378.71, 413.42)
+ --(379.09, 412.91)
+ --(379.46, 412.41)
+ --(379.78, 411.91)
+ --(380.09, 411.34)
+ --(380.28, 410.71)
+ --(380.47, 410.02)
+ --(380.66, 409.39)
+ --(380.72, 408.63)
+ --(380.79, 407.94)
+ --(380.79, 407.18)
+ --(380.79, 406.36)
+ --(380.66, 405.35)
+ --(380.47, 404.22)
+ --(380.16, 403.09)
+ --(379.84, 401.83)
+ --(379.40, 400.57)
+ --(378.90, 399.18)
+ --(378.33, 397.80)
+ --(377.70, 396.28)
+ --(377.01, 394.77)
+ --(376.19, 393.20)
+ --(375.37, 391.56)
+ --(374.49, 389.98)
+ --(373.61, 388.35)
+ --(372.66, 386.71)
+ --(371.65, 385.07)
+ --(370.71, 383.50)
+ --(369.70, 381.98)
+ --(368.69, 380.47)
+ --(367.75, 378.96)
+ --(366.74, 377.51)
+ --(365.80, 376.13)
+ --(364.79, 374.74)
+ --(363.78, 373.35)
+ --(362.83, 372.03)
+ --(361.83, 370.65)
+ --(360.76, 369.26)
+ --(359.75, 367.94)
+ --(358.68, 366.49)
+ --(357.54, 365.10)
+ --(356.47, 363.72)
+ --(355.34, 362.27)
+ --(354.27, 360.88)
+ --(353.13, 359.50)
+ --(352.06, 358.11)
+ --(350.99, 356.72)
+ --(349.92, 355.40)
+ --(348.91, 354.14)
+ --(347.91, 352.88)
+ --(346.96, 351.69)
+ --(346.08, 350.55)
+ --(345.20, 349.42)
+ --(344.38, 348.35)
+ --(343.62, 347.28)
+ --(342.87, 346.27)
+ --(342.05, 345.13)
+ --(341.29, 344.00)
+ --(340.47, 342.93)
+ --(339.72, 341.80)
+ --(338.96, 340.60)
+ --(338.27, 339.46)
+ --(337.51, 338.27)
+ --(336.76, 337.07)
+ --(336.06, 335.87)
+ --(335.37, 334.61)
+ --(334.68, 333.42)
+ --(334.05, 332.22)
+ --(333.42, 331.02)
+ --(332.79, 329.83)
+ --(332.22, 328.69)
+ --(331.72, 327.50)
+ --(331.15, 326.36)
+ --(330.65, 325.29)
+ --(330.20, 324.16)
+ --(329.70, 323.02)
+ --(329.26, 321.89)
+ --(328.76, 320.76)
+ --(328.31, 319.56)
+ --(327.81, 318.30)
+ --(327.31, 316.98)
+ --(326.87, 315.65)
+ --(326.36, 314.20)
+ --(325.92, 312.76)
+ --(325.48, 311.24)
+ --(325.04, 309.73)
+ --(324.60, 308.16)
+ --(324.22, 306.58)
+ --(323.84, 305.01)
+ --(323.53, 303.37)
+ --(323.21, 301.80)
+ --(322.96, 300.22)
+ --(322.71, 298.65)
+ --(322.52, 297.07)
+ --(322.33, 295.50)
+ --(322.20, 293.92)
+ --(322.08, 292.60)
+ --(322.02, 291.21)
+ --(321.95, 289.83)
+ --(321.89, 288.38)
+ --(321.89, 286.87)
+ --(321.89, 285.35)
+ --(321.89, 283.78)
+ --(321.89, 282.14)
+ --(321.95, 280.50)
+ --(322.02, 278.80)
+ --(322.14, 277.10)
+ --(322.20, 275.40)
+ --(322.33, 273.70)
+ --(322.46, 272.00)
+ --(322.58, 270.30)
+ --(322.71, 268.60)
+ --(322.83, 266.96)
+ --(323.02, 265.39)
+ --(323.15, 263.81)
+ --(323.34, 262.30)
+ --(323.53, 260.85)
+ --(323.72, 259.40)
+ --(323.84, 258.02)
+ --(324.03, 256.63)
+ --(324.22, 255.18)
+ --(324.47, 253.67)
+ --(324.66, 252.22)
+ --(324.85, 250.71)
+ --(325.10, 249.20)
+ --(325.35, 247.69)
+ --(325.61, 246.17)
+ --(325.86, 244.60)
+ --(326.11, 243.02)
+ --(326.43, 241.51)
+ --(326.68, 239.94)
+ --(326.99, 238.36)
+ --(327.24, 236.85)
+ --(327.56, 235.34)
+ --(327.87, 233.89)
+ --(328.19, 232.44)
+ --(328.50, 230.99)
+ --(328.76, 229.61)
+ --(329.07, 228.28)
+ --(329.39, 226.96)
+ --(329.70, 225.64)
+ --(330.02, 224.38)
+ --(330.33, 223.06)
+ --(330.65, 221.73)
+ --(331.02, 220.41)
+ --(331.34, 219.09)
+ --(331.72, 217.70)
+ --(332.09, 216.25)
+ --(332.54, 214.87)
+ --(332.98, 213.35)
+ --(333.42, 211.91)
+ --(333.92, 210.46)
+ --(334.36, 208.94)
+ --(334.87, 207.50)
+ --(335.37, 206.05)
+ --(335.94, 204.66)
+ --(336.44, 203.28)
+ --(337.01, 201.95)
+ --(337.51, 200.63)
+ --(338.08, 199.43)
+ --(338.65, 198.24)
+ --(339.21, 197.10)
+ --(339.78, 195.97)
+ --(340.35, 194.90)
+ --(340.98, 193.76)
+ --(341.67, 192.63)
+ --(342.36, 191.50)
+ --(343.12, 190.36)
+ --(343.94, 189.23)
+ --(344.76, 188.09)
+ --(345.64, 186.96)
+ --(346.52, 185.83)
+ --(347.40, 184.69)
+ --(348.35, 183.62)
+ --(349.29, 182.49)
+ --(350.24, 181.42)
+ --(351.12, 180.41)
+ --(352.06, 179.40)
+ --(352.94, 178.39)
+ --(353.89, 177.45)
+ --(354.71, 176.57)
+ --(355.59, 175.62)
+ --(356.41, 174.80)
+ --(357.23, 173.92)
+ --(357.92, 173.17)
+ --(358.61, 172.47)
+ --(359.24, 171.78)
+ --(359.94, 171.02)
+ --(360.63, 170.33)
+ --(361.26, 169.57)
+ --(361.89, 168.88)
+ --(362.46, 168.19)
+ --(363.02, 167.50)
+ --(363.53, 166.87)
+ --(364.03, 166.24)
+ --(364.47, 165.61)
+ --(364.79, 165.10)
+ --(365.10, 164.60)
+ --(365.29, 164.16)
+ --(365.48, 163.78)
+ --(365.54, 163.46)
+ --(365.48, 163.28)
+ --(365.42, 163.09)
+ --(365.17, 162.96)
+ --(364.91, 162.90)
+ --(364.54, 162.96)
+ --(364.09, 163.09)
+ --(363.53, 163.21)
+ --(362.83, 163.53)
+ --(362.08, 163.84)
+ --(361.20, 164.22)
+ --(360.25, 164.72)
+ --(359.18, 165.23)
+ --(357.98, 165.86)
+ --(356.72, 166.55)
+ --(355.40, 167.24)
+ --(353.95, 168.06)
+ --(352.44, 168.88)
+ --(350.93, 169.76)
+ --(349.29, 170.65)
+ --(347.65, 171.59)
+ --(346.02, 172.54)
+ --(344.38, 173.48)
+ --(342.74, 174.36)
+ --(341.17, 175.31)
+ --(339.59, 176.19)
+ --(338.08, 177.07)
+ --(336.57, 177.89)
+ --(335.18, 178.65)
+ --(333.80, 179.40)
+ --(332.47, 180.16)
+ --(331.28, 180.79)
+ --(330.27, 181.29)
+ --(329.32, 181.80)
+ --(328.44, 182.24)
+ --(327.56, 182.68)
+ --(326.68, 183.06)
+ --(325.86, 183.43)
+ --(325.04, 183.75)
+ --(324.28, 184.06)
+ --(323.46, 184.31)
+ --(322.71, 184.50)
+ --(322.02, 184.63)
+ --(321.32, 184.76)
+ --(320.63, 184.82)
+ --(320.00, 184.82)
+ --(319.43, 184.82)
+ --(318.87, 184.69)
+ --(318.30, 184.50)
+ --(317.86, 184.31)
+ --(317.35, 184.00)
+ --(316.98, 183.69)
+ --(316.60, 183.31)
+ --(316.22, 182.80)
+ --(315.91, 182.30)
+ --(315.65, 181.73)
+ --(315.40, 181.10)
+ --(315.21, 180.41)
+ --(315.02, 179.65)
+ --(314.83, 178.83)
+ --(314.71, 177.95)
+ --(314.65, 177.01)
+ --(314.58, 175.87)
+ --(314.52, 174.55)
+ --(314.46, 173.23)
+ --(314.52, 171.72)
+ --(314.52, 170.14)
+ --(314.65, 168.50)
+ --(314.71, 166.74)
+ --(314.90, 164.91)
+ --(315.09, 163.02)
+ --(315.28, 161.01)
+ --(315.53, 158.99)
+ --(315.78, 156.91)
+ --(316.09, 154.83)
+ --(316.41, 152.76)
+ --(316.79, 150.61)
+ --(317.17, 148.54)
+ --(317.61, 146.52)
+ --(317.98, 144.50)
+ --(318.43, 142.61)
+ --(318.93, 140.72)
+ --(319.37, 138.96)
+ --(319.87, 137.26)
+ --(320.31, 135.62)
+ --(320.82, 134.11)
+ --(321.32, 132.66)
+ --(321.89, 131.28)
+ --(322.65, 129.45)
+ --(323.46, 127.75)
+ --(324.35, 126.17)
+ --(325.23, 124.66)
+ --(326.17, 123.28)
+ --(327.12, 122.02)
+ --(328.13, 120.76)
+ --(329.13, 119.62)
+ --(330.14, 118.61)
+ --(331.15, 117.61)
+ --(332.09, 116.72)
+ --(333.04, 115.91)
+ --(333.92, 115.09)
+ --(334.80, 114.33)
+ --(335.56, 113.64)
+ --(336.25, 112.94)
+ --(336.94, 112.25)
+ --(337.51, 111.56)
+ --(338.14, 110.74)
+ --(338.71, 109.86)
+ --(339.21, 108.91)
+ --(339.65, 107.97)
+ --(340.03, 106.96)
+ --(340.41, 105.89)
+ --(340.66, 104.88)
+ --(340.85, 103.87)
+ --(341.04, 102.93)
+ --(341.10, 102.05)
+ --(341.10, 101.23)
+ --(341.04, 100.47)
+ --(340.98, 99.84)
+ --(340.79, 99.34)
+ --(340.60, 98.96)
+ --(340.35, 98.71)
+ --(340.03, 98.52)
+ --(339.59, 98.46)
+ --(339.15, 98.58)
+ --(338.58, 98.83)
+ --(337.89, 99.21)
+ --(337.13, 99.72)
+ --(336.38, 100.28)
+ --(335.50, 100.91)
+ --(334.55, 101.67)
+ --(333.54, 102.36)
+ --(332.54, 103.12)
+ --(331.53, 103.87)
+ --(330.46, 104.57)
+ --(329.39, 105.26)
+ --(328.38, 105.83)
+ --(327.37, 106.46)
+ --(326.24, 107.02)
+ --(325.10, 107.59)
+ --(323.91, 108.22)
+ --(322.71, 108.79)
+ --(321.45, 109.42)
+ --(320.25, 110.05)
+ --(318.99, 110.68)
+ --(317.86, 111.24)
+ --(316.72, 111.87)
+ --(315.72, 112.50)
+ --(314.77, 113.13)
+ --(313.89, 113.76)
+ --(313.13, 114.39)
+ --(312.44, 115.02)
+ --(311.81, 115.65)
+ --(311.24, 116.35)
+ --(310.80, 117.10)
+ --(310.36, 117.98)
+ --(309.92, 118.87)
+ --(309.54, 119.81)
+ --(309.23, 120.88)
+ --(308.91, 122.02)
+ --(308.66, 123.21)
+ --(308.35, 124.41)
+ --(308.09, 125.73)
+ --(307.91, 127.06)
+ --(307.65, 128.44)
+ --(307.34, 129.83)
+ --(307.09, 131.34)
+ --(306.77, 132.85)
+ --(306.52, 134.11)
+ --(306.20, 135.43)
+ --(305.89, 136.82)
+ --(305.51, 138.27)
+ --(305.13, 139.78)
+ --(304.69, 141.29)
+ --(304.25, 142.87)
+ --(303.75, 144.44)
+ --(303.24, 145.95)
+ --(302.74, 147.46)
+ --(302.17, 148.91)
+ --(301.61, 150.24)
+ --(301.04, 151.50)
+ --(300.47, 152.69)
+ --(299.91, 153.70)
+ --(299.34, 154.58)
+ --(298.77, 155.34)
+ --(298.20, 155.91)
+ --(297.64, 156.35)
+ --(297.07, 156.66)
+ --(296.50, 156.79)
+ --(295.94, 156.79)
+ --(295.37, 156.60)
+ --(294.74, 156.28)
+ --(294.17, 155.84)
+ --(293.54, 155.21)
+ --(292.91, 154.52)
+ --(292.28, 153.57)
+ --(291.65, 152.57)
+ --(291.09, 151.43)
+ --(290.46, 150.24)
+ --(289.89, 148.91)
+ --(289.32, 147.53)
+ --(288.82, 146.08)
+ --(288.31, 144.57)
+ --(287.87, 143.06)
+ --(287.43, 141.54)
+ --(287.06, 140.03)
+ --(286.74, 138.52)
+ --(286.43, 136.94)
+ --(286.17, 135.50)
+ --(285.92, 134.11)
+ --(285.67, 132.60)
+ --(285.42, 131.09)
+ --(285.23, 129.57)
+ --(284.98, 128.00)
+ --(284.79, 126.36)
+ --(284.54, 124.79)
+ --(284.22, 123.15)
+ --(283.97, 121.51)
+ --(283.65, 119.87)
+ --(283.34, 118.30)
+ --(282.96, 116.72)
+ --(282.58, 115.21)
+ --(282.14, 113.70)
+ --(281.70, 112.31)
+ --(281.20, 110.99)
+ --(280.63, 109.67)
+ --(280.00, 108.47)
+ --(279.37, 107.34)
+ --(278.68, 106.27)
+ --(277.98, 105.26)
+ --(277.04, 104.25)
+ --(276.03, 103.24)
+ --(274.96, 102.30)
+ --(273.83, 101.42)
+ --(272.57, 100.54)
+ --(271.24, 99.72)
+ --(269.92, 98.96)
+ --(268.47, 98.27)
+ --(267.02, 97.57)
+ --(265.57, 97.01)
+ --(264.13, 96.50)
+ --(262.74, 96.00)
+ --(261.35, 95.62)
+ --(260.09, 95.31)
+ --(258.83, 95.06)
+ --(257.70, 94.87)
+ --(256.69, 94.68)
+ --(255.75, 94.61)
+ --(254.87, 94.61)
+ --(254.17, 94.61)
+ --(253.73, 94.68)
+ --(253.29, 94.74)
+ --(252.98, 94.80)
+ --(252.66, 94.87)
+ --(252.35, 94.99)
+ --(252.09, 95.12)
+ --(251.91, 95.31)
+ --(251.78, 95.50)
+ --(251.65, 95.69)
+ --(251.53, 95.87)
+ --(251.53, 96.13)
+ --(251.46, 96.31)
+ --(251.53, 96.57)
+ --(251.59, 96.88)
+ --(251.65, 97.13)
+ --(251.78, 97.39)
+ --(251.91, 97.70)
+ --(252.09, 97.95)
+ --(252.28, 98.27)
+ --(252.54, 98.58)
+ --(252.79, 98.83)
+ --(253.04, 99.15)
+ --(253.35, 99.40)
+ --(253.67, 99.72)
+ --(253.98, 99.97)
+ --(254.30, 100.22)
+ --(254.68, 100.47)
+ --(254.99, 100.72)
+ --(255.37, 100.98)
+ --(255.75, 101.23)
+ --(256.44, 101.67)
+ --(257.20, 102.05)
+ --(258.02, 102.49)
+ --(258.83, 102.93)
+ --(259.72, 103.37)
+ --(260.66, 103.94)
+ --(261.54, 104.50)
+ --(262.49, 105.20)
+ --(263.37, 105.89)
+ --(264.31, 106.71)
+ --(265.13, 107.59)
+ --(265.95, 108.54)
+ --(266.71, 109.61)
+ --(267.34, 110.80)
+ --(267.97, 112.06)
+ --(268.54, 113.39)
+ --(268.91, 114.52)
+ --(269.29, 115.72)
+ --(269.61, 116.98)
+ --(269.92, 118.36)
+ --(270.24, 119.81)
+ --(270.55, 121.32)
+ --(270.80, 122.96)
+ --(271.06, 124.66)
+ --(271.37, 126.43)
+ --(271.56, 128.19)
+ --(271.81, 130.08)
+ --(272.06, 131.91)
+ --(272.25, 133.73)
+ --(272.50, 135.62)
+ --(272.69, 137.39)
+ --(272.94, 139.15)
+ --(273.13, 140.91)
+ --(273.32, 142.55)
+ --(273.51, 144.13)
+ --(273.76, 145.64)
+ --(273.95, 147.09)
+ --(274.20, 148.47)
+ --(274.52, 150.17)
+ --(274.83, 151.75)
+ --(275.15, 153.26)
+ --(275.53, 154.83)
+ --(275.91, 156.28)
+ --(276.35, 157.80)
+ --(276.72, 159.24)
+ --(277.17, 160.63)
+ --(277.61, 162.08)
+ --(277.98, 163.40)
+ --(278.43, 164.72)
+ --(278.80, 165.98)
+ --(279.12, 167.18)
+ --(279.50, 168.31)
+ --(279.81, 169.45)
+ --(280.06, 170.52)
+ --(280.31, 171.59)
+ --(280.50, 172.66)
+ --(280.69, 173.86)
+ --(280.88, 175.06)
+ --(280.94, 176.31)
+ --(281.01, 177.57)
+ --(281.01, 178.83)
+ --(281.01, 180.09)
+ --(280.88, 181.35)
+ --(280.69, 182.55)
+ --(280.38, 183.62)
+ --(280.06, 184.69)
+ --(279.69, 185.57)
+ --(279.24, 186.39)
+ --(278.68, 187.09)
+ --(278.11, 187.65)
+ --(277.48, 188.03)
+ --(276.72, 188.28)
+ --(276.03, 188.47)
+ --(275.28, 188.47)
+ --(274.46, 188.41)
+ --(273.51, 188.28)
+ --(272.50, 188.03)
+ --(271.43, 187.72)
+ --(270.30, 187.28)
+ --(269.10, 186.77)
+ --(267.91, 186.20)
+ --(266.65, 185.57)
+ --(265.39, 184.88)
+ --(264.13, 184.13)
+ --(262.87, 183.37)
+ --(261.61, 182.61)
+ --(260.41, 181.86)
+ --(259.28, 181.04)
+ --(258.08, 180.28)
+ --(257.01, 179.53)
+ --(255.87, 178.77)
+ --(254.80, 177.95)
+ --(253.73, 177.20)
+ --(252.66, 176.38)
+ --(251.59, 175.50)
+ --(250.52, 174.61)
+ --(249.51, 173.67)
+ --(248.57, 172.72)
+ --(247.62, 171.78)
+ --(246.80, 170.83)
+ --(246.05, 169.83)
+ --(245.35, 168.82)
+ --(244.79, 167.81)
+ --(244.35, 166.87)
+ --(243.97, 165.86)
+ --(243.72, 164.91)
+ --(243.53, 163.91)
+ --(243.53, 162.90)
+ --(243.53, 161.89)
+ --(243.72, 160.82)
+ --(243.97, 159.75)
+ --(244.28, 158.55)
+ --(244.72, 157.35)
+ --(245.17, 156.16)
+ --(245.73, 154.83)
+ --(246.36, 153.51)
+ --(246.99, 152.19)
+ --(247.69, 150.87)
+ --(248.31, 149.54)
+ --(249.01, 148.28)
+ --(249.70, 147.02)
+ --(250.27, 145.76)
+ --(250.90, 144.57)
+ --(251.40, 143.43)
+ --(251.91, 142.36)
+ --(252.28, 141.29)
+ --(252.66, 140.09)
+ --(253.04, 138.96)
+ --(253.29, 137.76)
+ --(253.48, 136.63)
+ --(253.54, 135.43)
+ --(253.61, 134.30)
+ --(253.61, 133.10)
+ --(253.54, 131.97)
+ --(253.42, 130.90)
+ --(253.29, 129.83)
+ --(253.10, 128.82)
+ --(252.85, 127.87)
+ --(252.60, 126.99)
+ --(252.28, 126.17)
+ --(251.97, 125.42)
+ --(251.65, 124.72)
+ --(251.34, 124.03)
+ --(250.96, 123.34)
+ --(250.58, 122.71)
+ --(250.20, 122.08)
+ --(249.83, 121.51)
+ --(249.32, 121.01)
+ --(248.88, 120.50)
+ --(248.38, 120.00)
+ --(247.94, 119.62)
+ --(247.43, 119.31)
+ --(246.93, 119.06)
+ --(246.43, 118.87)
+ --(245.92, 118.74)
+ --(245.42, 118.68)
+ --(244.98, 118.68)
+ --(244.47, 118.74)
+ --(243.91, 118.93)
+ --(243.34, 119.18)
+ --(242.77, 119.50)
+ --(242.14, 119.94)
+ --(241.57, 120.38)
+ --(241.01, 120.94)
+ --(240.50, 121.57)
+ --(240.00, 122.20)
+ --(239.62, 122.90)
+ --(239.31, 123.53)
+ --(238.99, 124.16)
+ --(238.87, 124.79)
+ --(238.80, 125.42)
+ --(238.80, 125.98)
+ --(238.93, 126.61)
+ --(239.18, 127.24)
+ --(239.50, 127.87)
+ --(239.94, 128.50)
+ --(240.44, 129.13)
+ --(241.01, 129.83)
+ --(241.51, 130.52)
+ --(242.02, 131.21)
+ --(242.46, 131.91)
+ --(242.77, 132.60)
+ --(243.02, 133.35)
+ --(243.15, 134.11)
+ --(243.21, 134.80)
+ --(243.09, 135.56)
+ --(242.96, 136.38)
+ --(242.71, 137.26)
+ --(242.39, 138.20)
+ --(242.02, 139.15)
+ --(241.51, 140.16)
+ --(241.01, 141.17)
+ --(240.50, 142.17)
+ --(239.94, 143.12)
+ --(239.43, 144.06)
+ --(238.87, 145.01)
+ --(238.36, 145.83)
+ --(237.86, 146.65)
+ --(237.42, 147.34)
+ --(237.04, 148.03)
+ --(236.60, 148.66)
+ --(236.16, 149.29)
+ --(235.72, 149.92)
+ --(235.21, 150.55)
+ --(234.77, 151.06)
+ --(234.27, 151.56)
+ --(233.76, 151.94)
+ --(233.20, 152.31)
+ --(232.69, 152.57)
+ --(232.13, 152.76)
+ --(231.56, 152.82)
+ --(230.99, 152.82)
+ --(230.36, 152.76)
+ --(229.73, 152.57)
+ --(228.98, 152.25)
+ --(228.16, 151.87)
+ --(227.28, 151.37)
+ --(226.33, 150.80)
+ --(225.32, 150.17)
+ --(224.31, 149.54)
+ --(223.31, 148.91)
+ --(222.36, 148.35)
+ --(221.42, 147.91)
+ --(220.47, 147.53)
+ --(219.72, 147.28)
+ --(218.96, 147.21)
+ --(218.33, 147.28)
+ --(217.83, 147.53)
+ --(217.51, 147.84)
+ --(217.20, 148.28)
+ --(216.94, 148.79)
+ --(216.76, 149.42)
+ --(216.63, 150.17)
+ --(216.57, 150.99)
+ --(216.57, 151.94)
+ --(216.63, 153.01)
+ --(216.76, 154.14)
+ --(216.94, 155.34)
+ --(217.20, 156.66)
+ --(217.51, 157.98)
+ --(217.95, 159.37)
+ --(218.46, 160.82)
+ --(219.02, 162.27)
+ --(219.65, 163.72)
+ --(220.35, 165.17)
+ --(221.10, 166.61)
+ --(221.92, 168.06)
+ --(222.87, 169.51)
+ --(223.56, 170.65)
+ --(224.38, 171.78)
+ --(225.26, 172.98)
+ --(226.14, 174.17)
+ --(227.15, 175.43)
+ --(228.16, 176.69)
+ --(229.23, 178.02)
+ --(230.36, 179.34)
+ --(231.50, 180.72)
+ --(232.69, 182.17)
+ --(233.89, 183.62)
+ --(235.15, 185.13)
+ --(236.41, 186.65)
+ --(237.67, 188.16)
+ --(238.93, 189.67)
+ --(240.13, 191.24)
+ --(241.32, 192.82)
+ --(242.52, 194.33)
+ --(243.65, 195.91)
+ --(244.79, 197.42)
+ --(245.86, 198.93)
+ --(246.87, 200.44)
+ --(247.81, 201.95)
+ --(248.76, 203.46)
+ --(249.57, 204.98)
+ --(250.39, 206.49)--cycle;
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.50,0.19,0.00) + -0.15white);
+ draw p withcolor (0.50,0.19,0.00);
+% End polyline object
+% Begin polyline object
+ linecap:=0;
+ linejoin:=2;
+ pickup pencircle scaled 0.94;
+ path p;
+ p = (187.09, 400.82)
+ --(183.18, 400.38)
+ --(179.28, 399.94)
+ --(175.43, 399.37)
+ --(171.72, 398.80)
+ --(168.19, 398.11)
+ --(164.85, 397.35)
+ --(161.70, 396.54)
+ --(158.87, 395.65)
+ --(156.22, 394.71)
+ --(153.83, 393.70)
+ --(151.62, 392.63)
+ --(149.61, 391.56)
+ --(147.72, 390.43)
+ --(146.02, 389.23)
+ --(144.44, 388.03)
+ --(142.93, 386.90)
+ --(141.48, 385.70)
+ --(140.09, 384.50)
+ --(138.71, 383.37)
+ --(137.26, 382.30)
+ --(135.81, 381.23)
+ --(134.30, 380.22)
+ --(132.66, 379.34)
+ --(130.90, 378.52)
+ --(129.07, 377.89)
+ --(127.06, 377.39)
+ --(124.85, 377.01)
+ --(122.46, 376.88)
+ --(119.94, 377.01)
+ --(117.23, 377.39)
+ --(114.33, 378.02)
+ --(111.37, 379.02)
+ --(108.28, 380.35)
+ --(105.20, 382.05)
+ --(102.17, 384.19)
+ --(99.21, 386.65)
+ --(96.88, 389.04)
+ --(94.68, 391.69)
+ --(92.72, 394.46)
+ --(90.96, 397.29)
+ --(89.39, 400.19)
+ --(88.00, 403.02)
+ --(86.74, 405.86)
+ --(85.73, 408.57)
+ --(84.85, 411.21)
+ --(84.09, 413.73)
+ --(83.53, 416.19)
+ --(83.02, 418.46)
+ --(82.65, 420.66)
+ --(82.39, 422.80)
+ --(82.14, 424.76)
+ --(82.08, 426.71)
+ --(82.02, 428.54)
+ --(82.02, 430.36)
+ --(82.02, 432.06)
+ --(82.08, 433.83)
+ --(82.20, 435.53)
+ --(82.33, 437.29)
+ --(82.46, 439.06)
+ --(82.58, 440.88)
+ --(82.77, 442.77)
+ --(82.90, 444.72)
+ --(83.02, 446.80)
+ --(83.15, 449.01)
+ --(83.28, 451.40)
+ --(83.40, 453.86)
+ --(83.46, 456.57)
+ --(83.59, 459.40)
+ --(83.65, 462.49)
+ --(83.72, 465.76)
+ --(83.78, 469.17)
+ --(83.84, 472.82)
+ --(83.97, 476.60)
+ --(84.03, 480.57)
+ --(84.22, 484.66)
+ --(84.41, 488.82)
+ --(84.66, 493.04)
+ --(85.04, 497.20)
+ --(85.67, 502.49)
+ --(86.43, 507.46)
+ --(87.24, 512.00)
+ --(88.13, 516.09)
+ --(89.07, 519.69)
+ --(90.08, 522.77)
+ --(91.02, 525.35)
+ --(91.97, 527.50)
+ --(92.85, 529.20)
+ --(93.80, 530.52)
+ --(94.61, 531.46)
+ --(95.50, 532.22)
+ --(96.31, 532.66)
+ --(97.13, 533.04)
+ --(97.95, 533.23)
+ --(98.77, 533.35)
+ --(99.53, 533.48)
+ --(100.41, 533.61)
+ --(101.23, 533.80)
+ --(102.11, 534.17)
+ --(103.06, 534.68)
+ --(104.00, 535.43)
+ --(105.01, 536.44)
+ --(106.08, 537.76)
+ --(107.21, 539.40)
+ --(108.41, 541.35)
+ --(109.67, 543.69)
+ --(110.93, 546.33)
+ --(112.25, 549.29)
+ --(113.64, 552.57)
+ --(114.96, 556.03)
+ --(116.22, 559.56)
+ --(117.54, 563.53)
+ --(118.74, 567.37)
+ --(119.69, 570.90)
+ --(120.38, 574.05)
+ --(120.76, 576.82)
+ --(120.94, 579.28)
+ --(120.88, 581.29)
+ --(120.63, 582.99)
+ --(120.13, 584.44)
+ --(119.56, 585.57)
+ --(118.80, 586.52)
+ --(117.98, 587.34)
+ --(117.10, 587.97)
+ --(116.22, 588.60)
+ --(115.34, 589.23)
+ --(114.52, 589.86)
+ --(113.83, 590.55)
+ --(113.26, 591.37)
+ --(112.82, 592.38)
+ --(112.69, 593.51)
+ --(112.82, 594.90)
+ --(113.26, 596.54)
+ --(114.02, 598.43)
+ --(115.28, 600.50)
+ --(116.91, 602.90)
+ --(119.06, 605.42)
+ --(121.70, 608.00)
+ --(124.72, 610.58)
+ --(127.37, 612.47)
+ --(130.08, 614.30)
+ --(132.85, 615.94)
+ --(135.62, 617.45)
+ --(138.27, 618.77)
+ --(140.72, 619.91)
+ --(143.12, 620.91)
+ --(145.26, 621.80)
+ --(147.21, 622.49)
+ --(149.04, 623.06)
+ --(150.61, 623.56)
+ --(152.13, 623.94)
+ --(153.45, 624.19)
+ --(154.65, 624.38)
+ --(155.72, 624.57)
+ --(156.79, 624.63)
+ --(157.73, 624.69)
+ --(158.74, 624.76)
+ --(159.75, 624.76)
+ --(160.82, 624.82)
+ --(161.95, 624.88)
+ --(163.21, 624.94)
+ --(164.60, 625.01)
+ --(166.17, 625.13)
+ --(167.94, 625.32)
+ --(170.02, 625.51)
+ --(172.35, 625.76)
+ --(174.93, 626.14)
+ --(177.83, 626.52)
+ --(181.10, 626.96)
+ --(184.69, 627.46)
+ --(188.66, 628.03)
+ --(192.88, 628.66)
+ --(197.35, 629.23)
+ --(202.08, 629.86)
+ --(206.93, 630.43)
+ --(211.53, 630.93)
+ --(216.13, 631.37)
+ --(220.47, 631.75)
+ --(224.63, 632.13)
+ --(228.54, 632.44)
+ --(232.13, 632.69)
+ --(235.40, 632.94)
+ --(238.36, 633.20)
+ --(240.94, 633.39)
+ --(243.28, 633.57)
+ --(245.29, 633.70)
+ --(247.06, 633.89)
+ --(248.57, 634.02)
+ --(249.95, 634.14)
+ --(251.09, 634.27)
+ --(252.09, 634.39)
+ --(252.98, 634.52)
+ --(253.86, 634.58)
+ --(254.68, 634.71)
+ --(255.43, 634.77)
+ --(256.25, 634.83)
+ --(257.20, 634.90)
+ --(258.20, 634.90)
+ --(259.28, 634.90)
+ --(260.60, 634.90)
+ --(262.11, 634.90)
+ --(263.81, 634.83)
+ --(265.76, 634.71)
+ --(268.03, 634.58)
+ --(270.55, 634.39)
+ --(273.39, 634.14)
+ --(276.54, 633.83)
+ --(280.00, 633.45)
+ --(283.72, 633.01)
+ --(287.69, 632.50)
+ --(291.84, 631.87)
+ --(296.13, 631.18)
+ --(300.47, 630.43)
+ --(305.26, 629.48)
+ --(309.86, 628.41)
+ --(314.14, 627.34)
+ --(318.11, 626.20)
+ --(321.64, 625.07)
+ --(324.85, 624.00)
+ --(327.62, 622.93)
+ --(330.02, 621.86)
+ --(332.03, 620.85)
+ --(333.73, 619.84)
+ --(335.12, 618.90)
+ --(336.25, 617.95)
+ --(337.13, 617.07)
+ --(337.89, 616.19)
+ --(338.52, 615.31)
+ --(339.02, 614.49)
+ --(339.46, 613.67)
+ --(339.91, 612.85)
+ --(340.35, 611.97)
+ --(340.91, 611.15)
+ --(341.54, 610.33)
+ --(342.36, 609.45)
+ --(343.31, 608.57)
+ --(344.50, 607.69)
+ --(345.95, 606.80)
+ --(347.72, 605.86)
+ --(349.73, 604.91)
+ --(352.06, 603.97)
+ --(354.65, 603.09)
+ --(357.61, 602.14)
+ --(360.76, 601.32)
+ --(364.22, 600.50)
+ --(367.75, 599.81)
+ --(371.34, 599.24)
+ --(375.62, 598.74)
+ --(379.65, 598.49)
+ --(383.31, 598.43)
+ --(386.52, 598.55)
+ --(389.29, 598.87)
+ --(391.62, 599.31)
+ --(393.51, 599.87)
+ --(395.02, 600.57)
+ --(396.16, 601.32)
+ --(396.98, 602.14)
+ --(397.61, 603.02)
+ --(397.98, 603.97)
+ --(398.30, 604.91)
+ --(398.49, 605.86)
+ --(398.74, 606.80)
+ --(398.99, 607.75)
+ --(399.37, 608.69)
+ --(399.87, 609.57)
+ --(400.63, 610.46)
+ --(401.64, 611.21)
+ --(403.02, 611.97)
+ --(404.72, 612.60)
+ --(406.74, 613.10)
+ --(409.26, 613.48)
+ --(412.09, 613.73)
+ --(415.31, 613.86)
+ --(418.77, 613.73)
+ --(422.36, 613.42)
+ --(425.32, 613.04)
+ --(428.28, 612.54)
+ --(430.99, 612.09)
+ --(433.57, 611.59)
+ --(435.91, 611.21)
+ --(437.98, 610.90)
+ --(439.81, 610.65)
+ --(441.39, 610.52)
+ --(442.77, 610.52)
+ --(443.91, 610.58)
+ --(444.85, 610.77)
+ --(445.61, 611.02)
+ --(446.24, 611.34)
+ --(446.74, 611.72)
+ --(447.18, 612.09)
+ --(447.56, 612.54)
+ --(447.87, 612.98)
+ --(448.19, 613.29)
+ --(448.57, 613.61)
+ --(449.01, 613.80)
+ --(449.51, 613.92)
+ --(450.14, 613.80)
+ --(450.90, 613.54)
+ --(451.84, 613.04)
+ --(452.98, 612.28)
+ --(454.36, 611.21)
+ --(455.94, 609.83)
+ --(457.76, 608.00)
+ --(459.84, 605.80)
+ --(462.17, 603.15)
+ --(464.76, 600.00)
+ --(467.46, 596.41)
+ --(470.43, 592.38)
+ --(473.39, 587.91)
+ --(475.59, 584.38)
+ --(477.80, 580.66)
+ --(479.94, 576.94)
+ --(482.02, 573.17)
+ --(484.03, 569.39)
+ --(485.92, 565.73)
+ --(487.75, 562.14)
+ --(489.45, 558.61)
+ --(491.09, 555.28)
+ --(492.66, 552.06)
+ --(494.05, 548.98)
+ --(495.43, 546.08)
+ --(496.69, 543.31)
+ --(497.83, 540.66)
+ --(498.96, 538.08)
+ --(499.97, 535.69)
+ --(500.98, 533.42)
+ --(501.92, 531.21)
+ --(502.80, 529.07)
+ --(503.62, 526.99)
+ --(504.44, 524.98)
+ --(505.20, 523.02)
+ --(506.02, 521.07)
+ --(506.71, 519.12)
+ --(507.46, 517.10)
+ --(508.22, 515.09)
+ --(508.98, 513.07)
+ --(509.73, 510.93)
+ --(510.55, 508.72)
+ --(511.31, 506.46)
+ --(512.13, 504.00)
+ --(512.94, 501.54)
+ --(513.83, 498.90)
+ --(514.71, 496.13)
+ --(515.59, 493.17)
+ --(516.54, 490.14)
+ --(517.42, 486.93)
+ --(518.36, 483.59)
+ --(519.31, 480.13)
+ --(520.19, 476.60)
+ --(521.07, 472.94)
+ --(521.95, 469.23)
+ --(522.71, 465.51)
+ --(523.40, 461.80)
+ --(523.97, 458.14)
+ --(524.41, 454.68)
+ --(524.79, 449.39)
+ --(524.79, 444.79)
+ --(524.47, 440.94)
+ --(523.78, 437.80)
+ --(522.83, 435.40)
+ --(521.70, 433.64)
+ --(520.44, 432.44)
+ --(518.99, 431.81)
+ --(517.42, 431.62)
+ --(515.78, 431.81)
+ --(514.08, 432.25)
+ --(512.38, 433.01)
+ --(510.61, 433.89)
+ --(508.79, 434.83)
+ --(507.02, 435.84)
+ --(505.26, 436.85)
+ --(503.50, 437.73)
+ --(501.73, 438.55)
+ --(500.03, 439.18)
+ --(498.39, 439.56)
+ --(496.82, 439.69)
+ --(495.31, 439.56)
+ --(493.98, 439.06)
+ --(492.79, 438.24)
+ --(491.78, 437.04)
+ --(491.02, 435.59)
+ --(490.58, 433.89)
+ --(490.39, 432.00)
+ --(490.58, 429.92)
+ --(491.15, 427.91)
+ --(492.03, 426.02)
+ --(493.17, 424.25)
+ --(494.55, 422.74)
+ --(496.06, 421.42)
+ --(497.76, 420.28)
+ --(499.53, 419.34)
+ --(501.42, 418.58)
+ --(503.37, 417.89)
+ --(505.32, 417.32)
+ --(507.28, 416.88)
+ --(509.29, 416.38)
+ --(511.24, 415.94)
+ --(513.20, 415.50)
+ --(515.15, 414.93)
+ --(516.98, 414.24)
+ --(518.74, 413.48)
+ --(520.38, 412.54)
+ --(521.83, 411.40)
+ --(523.09, 410.08)
+ --(524.09, 408.57)
+ --(524.79, 406.80)
+ --(525.17, 404.91)
+ --(525.04, 402.90)
+ --(524.41, 400.82)
+ --(523.46, 399.06)
+ --(522.20, 397.42)
+ --(520.76, 395.84)
+ --(519.18, 394.52)
+ --(517.54, 393.39)
+ --(515.91, 392.44)
+ --(514.27, 391.69)
+ --(512.69, 391.12)
+ --(511.18, 390.68)
+ --(509.67, 390.43)
+ --(508.28, 390.30)
+ --(506.90, 390.24)
+ --(505.57, 390.24)
+ --(504.25, 390.36)
+ --(502.93, 390.43)
+ --(501.54, 390.49)
+ --(500.16, 390.55)
+ --(498.65, 390.55)
+ --(497.07, 390.49)
+ --(495.37, 390.30)
+ --(493.48, 389.98)
+ --(491.46, 389.48)
+ --(489.20, 388.85)
+ --(486.74, 387.97)
+ --(484.03, 386.90)
+ --(481.07, 385.57)
+ --(477.98, 384.00)
+ --(474.65, 382.24)
+ --(471.24, 380.28)
+ --(467.72, 378.14)
+ --(464.25, 375.94)
+ --(460.91, 373.73)
+ --(457.83, 371.53)
+ --(455.06, 369.39)
+ --(452.47, 367.31)
+ --(450.27, 365.42)
+ --(448.38, 363.59)
+ --(446.74, 361.89)
+ --(445.42, 360.31)
+ --(444.28, 358.80)
+ --(443.34, 357.42)
+ --(442.52, 356.09)
+ --(441.89, 354.83)
+ --(441.32, 353.57)
+ --(440.76, 352.38)
+ --(440.25, 351.24)
+ --(439.75, 350.05)
+ --(439.12, 348.85)
+ --(438.43, 347.72)
+ --(437.61, 346.46)
+ --(436.66, 345.26)
+ --(435.53, 344.00)
+ --(434.14, 342.74)
+ --(432.63, 341.48)
+ --(430.80, 340.22)
+ --(428.85, 339.02)
+ --(426.65, 337.89)
+ --(424.31, 336.94)
+ --(421.92, 336.13)
+ --(419.53, 335.62)
+ --(416.88, 335.37)
+ --(414.55, 335.50)
+ --(412.47, 335.81)
+ --(410.77, 336.38)
+ --(409.45, 337.01)
+ --(408.44, 337.64)
+ --(407.81, 338.33)
+ --(407.43, 339.09)
+ --(407.31, 339.72)
+ --(407.37, 340.41)
+ --(407.56, 341.10)
+ --(407.87, 341.80)
+ --(408.19, 342.49)
+ --(408.50, 343.24)
+ --(408.82, 344.06)
+ --(409.01, 344.94)
+ --(409.07, 346.02)
+ --(408.94, 347.28)
+ --(408.57, 348.66)
+ --(407.94, 350.36)
+ --(406.93, 352.31)
+ --(405.61, 354.58)
+ --(403.91, 357.17)
+ --(401.83, 360.06)
+ --(399.50, 363.34)
+ --(396.85, 366.80)
+ --(394.71, 369.57)
+ --(392.63, 372.41)
+ --(390.49, 375.18)
+ --(388.54, 377.89)
+ --(386.65, 380.47)
+ --(384.88, 382.87)
+ --(383.31, 385.13)
+ --(381.92, 387.21)
+ --(380.60, 389.17)
+ --(379.53, 390.93)
+ --(378.52, 392.57)
+ --(377.64, 394.08)
+ --(376.88, 395.46)
+ --(376.19, 396.79)
+ --(375.56, 397.98)
+ --(374.99, 399.18)
+ --(374.43, 400.38)
+ --(373.86, 401.51)
+ --(373.23, 402.65)
+ --(372.60, 403.84)
+ --(371.84, 405.10)
+ --(371.02, 406.43)
+ --(370.08, 407.81)
+ --(369.01, 409.32)
+ --(367.75, 410.90)
+ --(366.36, 412.66)
+ --(364.79, 414.49)
+ --(362.96, 416.44)
+ --(361.01, 418.52)
+ --(358.80, 420.66)
+ --(356.47, 422.87)
+ --(353.95, 425.01)
+ --(351.31, 427.15)
+ --(348.66, 429.17)
+ --(345.20, 431.50)
+ --(341.92, 433.39)
+ --(338.96, 434.90)
+ --(336.31, 435.97)
+ --(333.98, 436.66)
+ --(332.09, 436.98)
+ --(330.52, 437.04)
+ --(329.20, 436.79)
+ --(328.19, 436.35)
+ --(327.37, 435.72)
+ --(326.74, 434.96)
+ --(326.24, 434.08)
+ --(325.73, 433.20)
+ --(325.29, 432.25)
+ --(324.79, 431.37)
+ --(324.22, 430.55)
+ --(323.46, 429.80)
+ --(322.52, 429.17)
+ --(321.39, 428.72)
+ --(320.00, 428.47)
+ --(318.30, 428.41)
+ --(316.35, 428.60)
+ --(314.08, 429.04)
+ --(311.56, 429.80)
+ --(308.91, 430.80)
+ --(306.14, 432.00)
+ --(303.24, 433.51)
+ --(300.60, 435.09)
+ --(298.27, 436.66)
+ --(296.31, 438.24)
+ --(294.74, 439.69)
+ --(293.48, 441.07)
+ --(292.54, 442.33)
+ --(291.91, 443.46)
+ --(291.46, 444.54)
+ --(291.21, 445.48)
+ --(291.09, 446.43)
+ --(291.02, 447.37)
+ --(290.96, 448.25)
+ --(290.83, 449.20)
+ --(290.58, 450.20)
+ --(290.27, 451.28)
+ --(289.64, 452.47)
+ --(288.82, 453.73)
+ --(287.75, 455.12)
+ --(286.30, 456.63)
+ --(284.60, 458.20)
+ --(282.52, 459.91)
+ --(280.25, 461.61)
+ --(277.80, 463.18)
+ --(275.09, 464.76)
+ --(272.50, 466.08)
+ --(270.11, 467.15)
+ --(267.97, 468.03)
+ --(266.14, 468.66)
+ --(264.50, 469.17)
+ --(263.06, 469.54)
+ --(261.86, 469.73)
+ --(260.79, 469.92)
+ --(259.78, 469.98)
+ --(258.90, 470.05)
+ --(258.02, 470.05)
+ --(257.13, 470.05)
+ --(256.19, 469.98)
+ --(255.18, 469.98)
+ --(254.11, 469.98)
+ --(252.91, 469.92)
+ --(251.59, 469.86)
+ --(250.27, 469.73)
+ --(248.94, 469.54)
+ --(247.69, 469.29)
+ --(246.61, 468.85)
+ --(245.80, 468.09)
+ --(245.42, 467.28)
+ --(245.54, 466.58)
+ --(245.98, 465.95)
+ --(246.74, 465.51)
+ --(247.75, 465.26)
+ --(248.88, 465.13)
+ --(250.08, 465.07)
+ --(251.34, 465.07)
+ --(252.60, 465.01)
+ --(253.86, 464.76)
+ --(255.06, 464.38)
+ --(256.13, 463.56)
+ --(257.01, 462.36)
+ --(257.70, 460.66)
+ --(258.14, 458.33)
+ --(258.20, 455.37)
+ --(257.95, 451.84)
+ --(257.57, 449.32)
+ --(257.13, 446.80)
+ --(256.57, 444.22)
+ --(256.06, 441.76)
+ --(255.56, 439.50)
+ --(255.12, 437.29)
+ --(254.74, 435.34)
+ --(254.36, 433.51)
+ --(254.11, 431.81)
+ --(253.86, 430.24)
+ --(253.67, 428.79)
+ --(253.54, 427.46)
+ --(253.35, 426.14)
+ --(253.23, 424.88)
+ --(253.04, 423.69)
+ --(252.85, 422.36)
+ --(252.54, 421.10)
+ --(252.16, 419.72)
+ --(251.65, 418.20)
+ --(251.02, 416.63)
+ --(250.20, 414.93)
+ --(249.20, 413.10)
+ --(248.00, 411.15)
+ --(246.49, 409.07)
+ --(244.79, 406.99)
+ --(242.77, 404.85)
+ --(240.57, 402.77)
+ --(238.11, 400.82)
+ --(235.53, 399.12)
+ --(232.94, 397.73)
+ --(230.49, 396.60)
+ --(228.16, 395.78)
+ --(226.14, 395.21)
+ --(224.38, 394.90)
+ --(222.93, 394.83)
+ --(221.73, 394.90)
+ --(220.79, 395.15)
+ --(220.03, 395.46)
+ --(219.46, 395.97)
+ --(218.96, 396.54)
+ --(218.58, 397.10)
+ --(218.27, 397.73)
+ --(217.89, 398.43)
+ --(217.45, 399.06)
+ --(216.88, 399.69)
+ --(216.06, 400.25)
+ --(215.06, 400.76)
+ --(213.67, 401.20)
+ --(211.97, 401.57)
+ --(209.83, 401.83)
+ --(207.24, 402.02)
+ --(204.09, 402.02)
+ --(200.50, 401.89)
+ --(196.41, 401.64)
+ --(191.94, 401.26)
+ --(187.09, 400.82)--cycle;
+ path f;
+ f = p--cycle;
+ fill f withcolor ((0.00,0.69,0.00) + 0.00white);
+ draw p withcolor (0.00,0.69,0.00);
+% End polyline object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex pelas folhas etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((260.79,669.17))+llcorner p) withcolor (0.00,0.00,1.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex CO$_2$ dissolvido etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((232.44,66.33))+llcorner p) withcolor (0.00,0.82,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex na chuva \'{e} absorvido etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((232.44,45.54))+llcorner p) withcolor (0.00,0.82,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex pelas ra\'{\i}zes etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((232.44,24.76))+llcorner p) withcolor (0.00,0.82,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex na chuva etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((462.05,320.50))+llcorner p) withcolor (0.00,0.00,1.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex folhas etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((87.87,346.96))+llcorner p) withcolor (0.00,0.00,0.56);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex caiem etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((87.87,326.17))+llcorner p) withcolor (0.00,0.00,0.56);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex decomposi\c{c}\~{a}o das etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((116.22,225.07))+llcorner p) withcolor (0.82,0.00,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex folhas liberta carbono etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((116.22,204.28))+llcorner p) withcolor (0.82,0.00,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex CO$_2$ absorvido etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((260.79,689.95))+llcorner p) withcolor (0.00,0.00,1.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex CO$_2$ dissolvido etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((462.05,341.29))+llcorner p) withcolor (0.00,0.00,1.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex CO$_2$ libertado etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((85.04,698.46))+llcorner p) withcolor (0.82,0.00,0.00);
+% End text object
+% Begin text object
+ picture q;
+ q=thelabel.urt(btex pela respira\c{c}\~{a}o etex scaled (17pt/fontsize defaultfont),(0,0));
+ picture p;
+ p = q rotated 0.00;
+ label.urt(p,((85.04,677.67))+llcorner p) withcolor (0.82,0.00,0.00);
+% End text object
+endfig;
+
+verbatimtex
+\end{document}
+etex
+
+end
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/tropicalglobe.mp b/Master/texmf-dist/doc/metapost/featpost/example/tropicalglobe.mp
index fc95e6bde5e..39814afa375 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/tropicalglobe.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/tropicalglobe.mp
@@ -1,23 +1,99 @@
% tropicalglobe.mp
% L. Nobre G.
-% 2003
+% 2012
input featpost3Dplus2D;
+verbatimtex \documentclass{article}\begin{document} etex
+
beginfig(1);
numeric radius, numc;
pen thickp;
- f := (3,0,2);
- viewcentr := 0.5*(1,1,1);
- Spread := 20;
- radius = 1;
+ f := (3,0,2);
+ viewcentr := 0.5*(1,1,1);
+ Spread := 20;
+ radius = 1;
numc = 18;
- thickp = pencircle scaled 1mm;
+ thickp = pencircle scaled 1mm;
drawoptions( withpen thickp );
tropicalglobe( numc, black, radius, blue );
produce_auto_scale;
endfig;
-end;
+beginfig(2);
+ color gammacnt, earthaxis;
+ numeric newradius, aux, i, foc, lc;
+ path conepath, latpath;
+ picture theglobe;
+
+ f := (5,2,4);
+ viewcentr := black;
+ Spread := 70;
+ radius := 1;
+ numc := 9;
+ thickp := pencircle scaled 0.5mm;
+
+ earthaxis = eulerrotation( 0, 0, 23, blue);
+ pickup thickp;
+ tropicalglobe( numc, black, radius, earthaxis );
+ for i=1 upto numc: % longitudes
+ aux := (i-1)*180/numc;
+ gammacnt := eulerrotation( 0, 0, 23, (cosd(aux),sind(aux),0) );
+ draw spatialhalfcircle(black,gammacnt,radius,true);
+ endfor;
+ theglobe = currentpicture;
+endfig;
+
+beginfig(3);
+ draw theglobe;
+ TDAtiplen := 0.15; % tdarrow and tdcircarrow
+ TDAhalftipbase := 0.06; % Three-Dimensional (Circular)
+ TDAhalfthick := 0.03; % Arrow
+ path planet, twilight, shadowplanet, fullplanet;
+ numeric endtime, begintime, cutmargin, scalevecs;
+ color planetcolor, sunposition, earthvelocity, refpoi, surfacevel;
+ color ua, ub, uc, ud, ue;
+ pair va, vb, vc, vd, ve;
+ cutmargin = 0.01;
+ scalevecs = 1.3;
+ planetcolor = 0.3*(255,152,55)/255;
+ sunposition = red;
+ earthvelocity = green;
+ surfacevel = eulerrotation( 0, 0, 23, earthvelocity );
+ refpoi = 1.1*sunposition;
+ planet = rigorousfearpath( black, radius );
+ twilight = spatialhalfcircle( black, sunposition, radius+cutmargin, true );
+ endtime = xpart ( planet intersectiontimes twilight );
+ begintime = xpart ( reverse planet intersectiontimes twilight );
+ shadowplanet = subpath (-begintime-cutmargin,endtime+cutmargin) of planet;
+ fullplanet = buildcycle( shadowplanet, reverse twilight );
+ fill fullplanet withcolor planetcolor;
+ tdcircarrow( black, earthaxis, 1.1, 0, 90 );
+% tdcircarrow( black, earthaxis, 1.1, 90, -90 );
+ ua = refpoi+scalevecs*earthaxis;
+ ub = refpoi+scalevecs*surfacevel;
+ uc = refpoi-scalevecs*earthaxis;
+ ud = refpoi-scalevecs*surfacevel;
+ ue = 2.2*earthvelocity;
+ tdarrow( 1.05*earthvelocity, ue );
+ tdarrow( refpoi, uc );
+ tdarrow( refpoi, ud );
+ tdarrow( refpoi, ub );
+ tdarrow( refpoi, ua );
+ va = rp( ua );
+ vb = rp( ub );
+ vc = rp( uc );
+ vd = rp( ud );
+ ve = rp( ue );
+ label.top( btex $\vec{A}$ etex, va );
+ label.rt( btex $\vec{B}$ etex, vb );
+ label.bot( btex $\vec{C}$ etex, vc );
+ label.lft( btex $\vec{D}$ etex, vd );
+ label.rt( btex $\vec{E}$ etex, ve );
+endfig;
+
+verbatimtex \end{document} etex
+
+end. \ No newline at end of file
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/ultraimprovertex.mp b/Master/texmf-dist/doc/metapost/featpost/example/ultraimprovertex.mp
index 0c33f09cb57..658682b4582 100644
--- a/Master/texmf-dist/doc/metapost/featpost/example/ultraimprovertex.mp
+++ b/Master/texmf-dist/doc/metapost/featpost/example/ultraimprovertex.mp
@@ -23,4 +23,41 @@ beginfig(1);
endfor;
endfig;
-end. \ No newline at end of file
+beginfig(2);
+ numeric r, i, ste;
+ r = 0.65;
+ ste = 4;
+ color cc, cl, sc, sl, pdir, inip;
+ cl = (3.5*r,0,0);
+ cc = (-2*r,0,-0.5*r);
+ sl = (0,1.9*r,0);
+ sc = (0,0,0.95*r);
+ spheroid( cc, cl, r );
+ spheroid( sc, sl, r );
+ drawoptions( withpen pencircle scaled 3pt );
+ draw for i=ste step ste until 360:
+ hide( pdir := (-sind(i),cosd(i),0); inip := r*(cosd(i),sind(i),0); )
+ rp(necplusimprovertex( black, pdir, cc, cl, r, sc, sl, r, inip ))..
+ endfor cycle;
+endfig;
+
+beginfig(3);
+ numeric r, i, ste;
+ r = 0.65;
+ ste = 4;
+ color cc, cl, sc, sl, pdir, inip;
+ cl = (3*r,0,0);
+ cc = (-1.5*r,0,-0.5*r);
+ sl = (0.7*r,0,0);
+ sc = (0,0,0.5*r);
+ rigorousdisc( 0, true, cc, r, cl);
+ spheroid( sc, sl, r );
+ drawoptions( withpen pencircle scaled 3pt );
+ for i=ste step ste until 360:
+ pdir := (-sind(i),cosd(i),0);
+ inip := r*(cosd(i),sind(i),0);
+ draw rp(ultraimprovertex( black, pdir, cc, r, cl, sc, sl, r, inip ));
+ endfor;
+endfig;
+
+end.