diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example')
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. |