diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-09 00:45:48 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-09 00:45:48 +0000 |
commit | 5dc602d16c5be2fd035b254ca23484a90aebd6dc (patch) | |
tree | 72efb15fba318cc2096a8cc6999ed3fa0bff317d /Master/texmf-dist/doc/metapost/featpost/example/repeated | |
parent | b4fc5f639874db951177ec539299d20908adb654 (diff) |
doc 5
git-svn-id: svn://tug.org/texlive/trunk@81 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/repeated')
33 files changed, 2375 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/borderframetest.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/borderframetest.mp new file mode 100644 index 00000000000..1c2331bdc17 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/borderframetest.mp @@ -0,0 +1,28 @@ +% borderframetest.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +beginfig(0); + Spread := 45; + + numeric theframefrach, theframefracw, Shifts; + path theframebord; + Shifts := 105mm; + theframefrach = 0.2927; + theframefracw = 0.39; + z1 = Shifts*(1-theframefracw,1-theframefrach); + z2 = Shifts*(1+theframefracw,1-theframefrach); + z3 = Shifts*(1+theframefracw,1+theframefrach); + z4 = Shifts*(1-theframefracw,1+theframefrach); + theframebord = z1--z2--z3--z4--cycle; + show z1; + show z2; + show z3; + show z4; + draw theframebord withcolor background withpen pencircle scaled 0; + clip currentpicture to theframebord; +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/conegetready.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/conegetready.mp new file mode 100644 index 00000000000..17e7fea51b3 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/conegetready.mp @@ -0,0 +1,36 @@ +% conegetready.mp +% L. Nobre G. +% 2004 + +%input featpost3Dplus2D; + +beginfig(1); + numeric radiusin, fac, i, xcoor, ycoor, radc, numc, baz; + color refvec; + string rv, mrv, vgc, stra, strb, lrv; + + f := (5,0.3,1.5); + Spread := 70; + radiusin = 0.3; + baz = 0.08; + fac = 3; + numc = 9; + radc = (fac-1)*radiusin*sind(180/numc); + + i = 155; + xcoor := -radiusin*cosd(i); + ycoor := radiusin*sind(i); + refvec := (xcoor,-ycoor,baz); + rv := cstr( refvec ); + mrv := cstr( -refvec ); + lrv := cstr( (2*fac-1)*refvec ); + vgc :="verygoodcone(true,fac*"; + stra := vgc & rv & "," & mrv & "," & decimal(radc) & "," & rv & ")"; + getready( stra, 0.5*(fac+1)*refvec ); + strb := vgc & rv & "," & rv & "," & decimal(radc) & "," & lrv & ")"; + getready( strb, 0.5*(3*fac-1)*refvec ); + doitnow; + produce_vga_border; +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/doitnow.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/doitnow.mp new file mode 100644 index 00000000000..7cfec23a39d --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/doitnow.mp @@ -0,0 +1,33 @@ +% doitnow.mp +% L. Nobre G. +% 2004 + +%input featpost3Dplus2D; + +f := 1.5*(1.5,0,1); +Spread := 100; + +beginfig(1); + numeric stagelevel, holediam, outerdiam, stagemargin; + numeric numberofstagesidesquares, stagesidesize; + numeric centercoord; + color centerposdisc, centerpostorus, centerstage; + pickup pencircle scaled 3pt; + stagelevel = 0.2; + holediam = 0.6; + stagemargin = 0.2; + numberofstagesidesquares = 10; + centerstage = (-X(f),-Y(f),-stagelevel); + outerdiam = holediam+4*stagelevel; + stagesidesize = 2*( outerdiam + stagemargin ); + centercoord = 0.3535*outerdiam; + HoriZon := -stagelevel; + centerpostorus = ( centercoord, -centercoord, 0 ); + centerposdisc = ( -centercoord, centercoord, HoriZon ); + getready("setthestage( numberofstagesidesquares, stagesidesize );", + centerstage); + getready("smoothtorus( centerpostorus, blue,0.5*holediam+stagelevel, stagelevel );",centerpostorus); + getready("rigorousdisc( 0.5*holediam, true, centerposdisc,0.5*outerdiam, 1.5*stagelevel*blue );",centerposdisc); + doitnow; +endfig; +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/electricpotential.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/electricpotential.mp new file mode 100644 index 00000000000..01caaab0c5e --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/electricpotential.mp @@ -0,0 +1,151 @@ +% electricpotential.mp +% L. Nobre G. +% 2004 +% PAY ATTENTION: THESE FIGURES ARE INDEPENDANT. CONDUCTOR SURFACE POTENTIAL +% CHANGES UNDER THE INFLUENCE OF EXTERNAL CHARGES. + +%input featpost3Dplus2D; + +f := 16*(4,1,1); +Spread := 35; +LightSource := 10*(4,-3,4); +ActuC := 2; + +numeric potlim, cac, cbc, ccc, cdc; +potlim = 2; +cac = 2; +cbc = -2; +ccc = 4; +cdc = 1.5; +pair cap, cbp, ccp; +cap = (-2,-4); +ccp = (-2,4); +cbp = (2,0); +numeric np, ssize; +np = 56; +ssize = 18; + +def zi( expr xc, yc ) = + 0 +enddef; + +def za( expr xc, yc ) = + begingroup + save out; + numeric dist, out; + dist = abs( (xc,yc)-cap ); + if abs(dist) < 0.005: + if cac<0: + out = -potlim; + else: + out = potlim; + fi; + else: + out = cac/dist; + fi; + if out > potlim: + out := potlim; + elseif out < -potlim: + out := -potlim; + fi; + (out) + endgroup +enddef; + +def zb( expr xc, yc ) = + begingroup + save out; + numeric dist, out; + dist = abs( (xc,yc)-cbp ); + if abs(dist) < 0.005: + if cbc<0: + out = -potlim; + else: + out = potlim; + fi; + else: + out = cbc/dist + za( xc, yc ); + fi; + if out > potlim: + out := potlim; + elseif out < -potlim: + out := -potlim; + fi; + (out) + endgroup +enddef; + +def zc( expr xc, yc ) = + begingroup + save out; + numeric dist, out; + dist = abs( (xc,yc)-ccp ); + if abs(dist) < 0.005: + if ccc<0: + out = -potlim; + else: + out = potlim; + fi; + else: + out = ccc/dist + zb( xc, yc ); + fi; + if out > potlim: + out := potlim; + elseif out < -potlim: + out := -potlim; + fi; + (out) + endgroup +enddef; + +def zd( expr xc, yc ) = + begingroup + save out; + numeric dist, out, i, tmp; + pair poi; + tmp = 0; + for i=0 upto np: + poi := (i/np)[cap,ccp]; + dist := abs( (xc,yc)-poi ); + if abs(dist) < 0.005: + if cdc<0: + out := -potlim; + else: + out := potlim; + fi; + else: + out := cdc/dist/np; + fi; + tmp := tmp+out; + endfor; + tmp := tmp + zc( xc, yc ); + if tmp > potlim: + tmp := potlim; + elseif tmp < -potlim: + tmp := -potlim; + fi; + (tmp) + endgroup +enddef; + +beginfig(0); + hexagonaltrimesh( false, np, ssize, zi ); +endfig; + +beginfig(1); + hexagonaltrimesh( false, np, ssize, za ); +endfig; + +beginfig(2); + hexagonaltrimesh( false, np, ssize, zb ); +endfig; + +beginfig(3); + hexagonaltrimesh( false, np, ssize, zc ); +endfig; + +beginfig(4); + hexagonaltrimesh( false, np, ssize, zd ); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/emptylines.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/emptylines.mp new file mode 100644 index 00000000000..df8e02695dd --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/emptylines.mp @@ -0,0 +1,28 @@ +% emptylines.mp +% L. Nobre G. +% 2001 + +%input featpost3Dplus2D; + + +def closec( expr TheVal ) = + begingroup + numeric par[], cred, cblu, param; + par1 = 360; + par2 = 0.3; + param = 360*TheVal; + cred = par2*cosd( param ); + cblu = par2*sind( param ); + ( (cred,cblu,1) ) + endgroup +enddef; + +f := (4,3,2); +Spread := 170; +ShadowOn := true; + +beginfig(1); + emptyline( true, 1, black, 0.5background, 360, 0.88, 2, closec ); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/experimental.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/experimental.mp new file mode 100644 index 00000000000..106e7574f2a --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/experimental.mp @@ -0,0 +1,177 @@ +% experimental.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +%verbatimtex +%\documentclass{article} +%\usepackage{beton} +%\usepackage{concmath} +%\usepackage{ccfonts} +%\begin{document} +%etex + +verbatimtex +\documentclass{article} +\usepackage{palatino} +\begin{document} +etex + +f := (4.5,-6,5); + +beginfig(1); + numeric len[], ray[]; + color axe[], pos[], fix[], lab[]; + color reflabpos, reflabpoi, lincolor; + picture txt[], dashpatt; + numeric inclang, aberang, sampang, stepang; + numeric squside, sqlevel, ul, outermagpos; + numeric innerray, polesep, fracone, fracsam; + numeric labelscale; + path tmpath, aupath, copath; + + pickup pencircle scaled 1.2pt; + dashpatt = evenly scaled 3; + inclang = 150; + aberang = 17; + sampang = 30; + stepang = 20; + ul = 0.1; + labelscale = 5; + outermagpos = 30ul; + squside = outermagpos; + sqlevel = -20ul; + polesep = 15ul; + fracone = 0.33; + fracsam = 0.86; + ray1 = 10ul; + ray2 = 6ul; + ray3 = 8ul; + ray4 = 1.5ul; + ray5 = 4ul; + ray6 = 3ul; + ray7 = 3.5ul; + ray8 = 2ul; + len3 = 7ul; + len4 = 20ul; + len5 = 3ul; + len7 = 3.5ul; + len8 = 7ul; + lincolor = 0.5background; + + reflabpos = ( -squside, 0, -sqlevel ); + reflabpoi = ( -squside, squside, -sqlevel ); + V1 := (squside,squside,sqlevel); + V2 := (-squside,squside,sqlevel); + V3 := (-squside,-squside,sqlevel); + V4 := (squside,-squside,sqlevel); +% makeface1(1,2,3,4); + + len1 = (1-fracone)*(outermagpos-ray5-polesep); + pos1 = (-outermagpos,0,0); + rigorousdisc( 0, true, pos1, ray1, len1*(1,0,0) ); + + len2 = fracone*(outermagpos-ray5-polesep); + pos2 = (len1-outermagpos,0,0); + tmpath := goodcirclepath( pos2, (1,0,0), ray1 ); + aupath := goodcirclepath( (-ray5-polesep,0,0), (1,0,0), ray2 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + lab2 = reflabpos; + txt2 = thelabel.top( btex magneto etex scaled labelscale, rp( lab2 ) ); + draw txt2; + fix2 = (-outermagpos+0.5len1,0,ray1); + draw llcorner txt2--lrcorner txt2--rp(fix2) withcolor lincolor; + + axe3 = ( 0, cosd( inclang ), sind( inclang ) ); + pos3 = -( len3 + len4 + len5 )*axe3; + rigorousdisc( 0, true, pos3, ray3, len3*axe3 ); + lab3 = (1-fracone)*reflabpoi+fracone*V1; + txt3 = thelabel.rt( btex rotor etex scaled labelscale, rp( lab3 ) ); + draw txt3; + + axe4 = axe3; + pos4 = -( len4 + len5 )*axe4; + rigorousdisc( 0, true, pos4, ray4, len4*axe4 ); + + fix3 = pos4+fracsam*ray3*(0,cosd( inclang -90 ),sind( inclang -90 )); + draw lrcorner txt3--llcorner txt3--rp(fix3) withcolor lincolor; + + axe5 = axe3; + pos5 = -( len5 )*axe5; + rigorousdisc( 0, true, pos5, ray5, len5*axe5 ); + lab5 = (1-fracone)*reflabpoi+fracone*V2; + txt5 = thelabel.rt( btex porta-amostras etex scaled labelscale, rp( lab5 ) ); + draw txt5; + fix5 = fracsam*ray5*(0,cosd( inclang -90 ),sind( inclang -90 )); + draw lrcorner txt5--llcorner txt5--rp(fix5) withcolor lincolor; + + V5 := fracsam*ray5*( sind( sampang ), + cosd( sampang )*cosd( inclang -90 ), + cosd( sampang )*sind( inclang -90 ) ); + V6 := fracsam*ray5*( -sind( sampang ), + cosd( sampang )*cosd( inclang -90 ), + cosd( sampang )*sind( inclang -90 ) ); + V8 := fracsam*ray5*( sind( sampang ), + -cosd( sampang )*cosd( inclang -90 ), + -cosd( sampang )*sind( inclang -90 ) ); + V7 := fracsam*ray5*( -sind( sampang ), + -cosd( sampang )*cosd( inclang -90 ), + -cosd( sampang )*sind( inclang -90 ) ); + draw rp(V5)--rp(V6)--rp(V7)--rp(V8)--cycle; + + axe6 = ( 0, cosd( inclang+aberang ), sind( inclang+aberang ) ); + pos6 = ray1*axe6; + len6 = len4; + axe7 = ( 0, cosd( inclang-aberang ), sind( inclang-aberang ) ); + pos7 = ( ray1 + 0.5len6 )*axe7; + draw rp(pos6)--rp((0,0,0))--rp(pos7) dashed dashpatt; + rigorousdisc( 0, true, pos6, ray6, len6*axe6 ); + lab6 = fracone*reflabpos+(1-fracone)*V3; + txt6 = thelabel.lft( btex telemicrosc\'{o}pio etex scaled labelscale, rp( lab6 ) ); + draw txt6; + fix6 = pos6+len6*axe6; + draw llcorner txt6--lrcorner txt6--rp(fix6) withcolor lincolor; + + pos8 = pos7+len7*axe7; + tmpath := goodcirclepath( pos7, axe7, ray7 ); + aupath := goodcirclepath( pos8, axe7, ray8 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + + axe8 = axe7; + rigorousdisc( 0, true, pos8, ray8, len8*axe8 ); + lab8 = (1-fracone)*reflabpos+fracone*V3; + txt8 = thelabel.lft( btex l\^{a}mpada etex scaled labelscale, rp( lab8 ) ); + draw txt8; + fix8 = pos8+len8*axe8; + draw llcorner txt8--lrcorner txt8--rp(fix8) withcolor lincolor; + + len9 = len2; + pos9 = (ray5+polesep,0,0); + ray9 = ray2; + ray10 = ray1; + tmpath := goodcirclepath( pos9, (1,0,0), ray9 ); + pos10 = pos9+len9*(1,0,0); + aupath := goodcirclepath( pos10, (1,0,0), ray10 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + + len10 = len1; + rigorousdisc( 0, true, pos10, ray10, len10*(1,0,0) ); + + produce_auto_scale; +endfig; + +verbatimtex +\end{document} +etex + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/fieldlines.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/fieldlines.mp new file mode 100644 index 00000000000..bcb018a0f7f --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/fieldlines.mp @@ -0,0 +1,59 @@ +% fieldlines.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +Spread := 30; +f := (10,0,0); + +color posa, posb; +numeric kfac; +posa = -5*green; +posb = 5*green; +kfac = 2.5; + +def vecfunc( expr posit )= + begingroup + save modula, modulb, field; + color field; + numeric modula, modulb; + modula = conorm( posit-posa ); + modulb = conorm( posit-posb ); + field = ( posit-posa )/(modula**3)+kfac*( posit-posb )/(modulb**3); + ( field ) + endgroup +enddef; + +beginfig(1); + numeric i, lena, lenb, numa, numb, sa, sb, diffstep, ray; + color stp; + path oneline; + pen grossa, fina; + grossa = pencircle scaled 3pt; + fina = pencircle scaled 2pt; + lena = 105; + lenb = 145; + numa = 72; + numb = 30; + diffstep = 1; + ray = 0.5; + sa = 36; + sb = 75; + for i=sa step numa until (360+sa): + stp := posa+( 0, ray*cosd(i), ray*sind(i) ); + oneline := fieldlinepath( lena, stp, diffstep, vecfunc ); + draw oneline withpen grossa; +% draw oneline withpen fina withcolor background; + endfor; + for i=sb step numb until (360+sb): + stp := posb+( 0, ray*cosd(i), ray*sind(i) ); + oneline := fieldlinepath( lenb, stp, diffstep, vecfunc ); + draw oneline withpen grossa; +% draw oneline withpen fina withcolor background; + endfor; + draw rp(posa) withpen grossa; + draw rp(posb) withpen grossa; +endfig; + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/fis3prey.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/fis3prey.mp new file mode 100644 index 00000000000..c1b32219687 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/fis3prey.mp @@ -0,0 +1,128 @@ +% fis3prey.mp +% L. Nobre G. +% IYP (2005) + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + Spread := 50; + f := (4,6,3.5); + path malhacub, rama, ramb, ramc, malhatet; + pen grossa, nuclear, negat; + color p[]; + numeric lengax, lscal, arrowmarg, arrowshift; + pair tx, ty, tz; + lengax = 0.7; + lscal = 2; + arrowshift = 0.85; + arrowmarg = 0.13; + grossa = pencircle scaled 2.7pt; + nuclear = pencircle scaled 2.1pt; + negat = pencircle scaled 1.8pt; + p1 = (1,1,-1); + p2 = (-1,1,-1); + p3 = (-1,-1,-1); + p4 = (1,-1,-1); + p5 = (1,1,1); + p6 = (-1,1,1); + p7 = (-1,-1,1); + p8 = (1,-1,1); + + p0 = p2 + arrowshift*N((1,0,1)) + arrowmarg*N((-1,0,1)); + p9 = p5 - arrowshift*N((1,0,1)) + arrowmarg*N((-1,0,1)); + + z1 = rp(p1); + z2 = rp(p2); + z3 = rp(p3); + z4 = rp(p4); + z5 = rp(p5); + z6 = rp(p6); + z7 = rp(p7); + z8 = rp(p8); + + z0 = rp(p0); + z9 = rp(p9); + + tx = rp( p1 - (lengax,0,0) ); + ty = rp( p1 - (0,lengax,0) ); + tz = rp( p1 + (0,0,lengax) ); + + malhacub = z1--z2--z3--z4--z1--z5--z6--z7--z8--z5; + malhatet = z2--z7--z4--z5--cycle; + rama = z2--z6; + ramb = z3--z7; + ramc = z4--z8; + drawoptions( dashed evenly ); + draw malhacub; + draw rama; + draw ramb; + draw ramc; + drawoptions( withpen grossa ); + draw malhatet; + + drawarrow z1--tx withpen negat; + drawarrow z1--ty withpen negat; + drawarrow z1--tz withpen negat; + label.lrt(btex $x$ etex scaled lscal, tx); + label.llft(btex $y$ etex scaled lscal, ty); + label.lft(btex $z$ etex scaled lscal, tz); + drawarrow z0--z9 withpen negat; +endfig; + +beginfig(2); + Spread := 50; + f := 2.3*(6,2,3.5); + numeric lang, cray, lpos, llen, smar; + path circ, rigcirc, lone, ltwo, carrpath; + pen pena, penb, penc; + pena = pencircle scaled 1.3mm; + penb = pencircle scaled 0.95mm; + penc = pencircle scaled 0.4mm; + color outcol, incol; + outcol = black; + incol = 0.876white; + lang = 30; + cray = 1; + lpos = 0.57; + llen = 2.2; + smar = 0.15; + circ = goodcirclepath( black, green, cray ); + rigcirc = rigorouscircle( black, green, cray+smar ); + carrpath = subpath (3.2,4.5) of rigcirc; + lone = rp((-lpos,llen*cosd(lang),llen*sind(lang))) + --rp(-(lpos,llen*cosd(lang),llen*sind(lang))); + ltwo = rp((lpos,-llen*cosd(lang),llen*sind(lang))) + --rp((lpos,llen*cosd(lang),-llen*sind(lang))); + drawarrow carrpath withpen penc withcolor outcol; + draw circ withpen pena withcolor outcol; + draw circ withpen penb withcolor incol; + draw rp((-cray,0,0))--rp((-lpos,0,0)) dashed evenly; + draw lone withpen pena withcolor outcol; + draw lone withpen penb withcolor incol; + draw rp((lpos,0,0))--rp((-lpos,0,0)) dashed evenly; + draw rp((0,0,-cray))--rp((0,0,cray)) dashed evenly; + draw ltwo withpen pena withcolor outcol; + draw ltwo withpen penb withcolor incol; + draw rp((cray,0,0))--rp((lpos,0,0)) dashed evenly; + draw subpath (1,15) of circ withpen pena withcolor outcol; + draw subpath (0,16) of circ withpen penb withcolor incol; + + + +% label.top( btex $+$ etex, point 3 of rigcirc ); + +endfig; + +verbatimtex +\end{document} +etex + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/frustum.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/frustum.mp new file mode 100644 index 00000000000..90da3d74440 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/frustum.mp @@ -0,0 +1,46 @@ +% frustum.mp +% L. Nobre G. +% IYP (2005) + +verbatimtex +\documentclass{article} +\begin{document} +{\sffamily +etex + +beginfig(1); +% f := (5,3,4); + f := (5,3,0.4); +% f := (5,3,-0.4); + numeric labscal; + picture labsa, labba, labsb, labd, labc; + labscal = 2; + ahlength := 8pt; + ahangle := 30; + labc = btex $\vec{c}$ etex scaled labscal; + labsa = btex $\vec{S}_1$ etex scaled labscal; + labsb = btex $\vec{S}_2$ etex scaled labscal; + labba = btex $\vec{B}_1$ etex scaled labscal; + labd= btex $D$ etex scaled labscal; + drawoptions( withpen pencircle scaled 1.7pt withcolor 0.65blue ); + whatisthis( black, 0.5red, green, 0.85, 0.8 ); + drawoptions( withpen pencircle scaled 1.3pt ); + drawdblarrow rp(black)--rp(0.85blue); + label.rt( labd, rp(0.4blue) ); + drawarrow rp(black)--rp(0.5red); + label.ulft( labsa, rp(0.25red) ); + drawarrow rp(black)--rp(green); + label.top( labba, rp((0,0.5,0)) ); + drawarrow rp(0.85blue)--rp(0.8*0.5*red+0.85blue); + label.ulft( labsb, rp(0.2red+0.85blue) ); + dotlabel.bot( labc, rp(black) ); +endfig; + +verbatimtex +} +\end{document} +etex + +end. + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_casq.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_casq.mp new file mode 100644 index 00000000000..bdc52c58d89 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_casq.mp @@ -0,0 +1,84 @@ +% geom_casq.mp +% L. Nobre G. +% 1999 + +%input featpost3Dplus2D; + +%input la3Dmacros; +%input hlr3Dmacros; +%input plan2Dmacros; +% + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + + f := (1.7,1.2,1); + + Spread := 150; + + color gridvec, sizevec, currpos, starpos, bordpos, orig, axxc, ayyc, azzc; + numeric alphamax, long, base, thetamax; + axxc = (0.8,0,0); + ayyc = (0,0.7,0); + azzc = (0,0,0.4); + sizevec := (11,9,9); + gridvec := (0.1,0.1,0.1); + thetamax := 50; + alphamax := 70; + long := 0.65; + base := 0.3; + starpos := ( -0.5*X(gridvec)*(X(sizevec)-1) , + -0.5*Y(gridvec)*(Y(sizevec)-1) , + -0.5*Z(gridvec)*(Z(sizevec)-1) ); + bordpos := starpos - 0.5*gridvec; + orig := starpos + 0.5*gridvec + (0.05,0,-0.1); + npf1 := 4; + F1p1 := bordpos; + F1p2 := (X(bordpos),-Y(bordpos), Z(bordpos)); + F1p3 := (-X(bordpos),-Y(bordpos), Z(bordpos)); + F1p4 := (-X(bordpos),Y(bordpos), Z(bordpos)); + npf2 := 4; + F2p1 := (X(bordpos),Y(bordpos), -Z(bordpos)); + F2p2 := (X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p3 := (-X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p4 := (-X(bordpos),Y(bordpos), -Z(bordpos)); + NF := 2; + + pickup pencircle scaled 1pt; + drawarrow rp(orig)..rp(orig+axxc); + drawarrow rp(orig)..rp(orig+ayyc); + drawarrow rp(orig)..rp(orig+azzc); + label.bot(btex z etex,rp(orig+axxc)); + label.bot(btex x etex,rp(orig+ayyc)); + label.lft(btex y etex,rp(orig+azzc)); + pickup pencircle scaled 1.5pt; + + starpos := (base,0,0)+orig; + drawarrow rp(orig)..rp(starpos); + label.bot(btex $\vec{n}_0$ etex,rp(starpos)); + + currpos := starpos; + starpos := long*(cosd(alphamax),sind(alphamax),0)+orig; + drawarrow rp(orig)..rp(starpos); + label.bot(btex $\vec{H}$ etex,rp(starpos)); + angline(starpos,currpos,orig,0.55,btex $\alpha$ etex,bot); + + starpos := base*(cosd(thetamax),sind(thetamax),0)+orig; + drawarrow rp(orig)..rp(starpos); + label.bot(btex $\vec{n}$ etex,rp(starpos)); + angline(starpos,currpos,orig,0.2,btex $\theta$ etex,bot); +endfig; + +verbatimtex +\end{document} +etex + +end; + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp new file mode 100644 index 00000000000..9a834001aab --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/geom_freder.mp @@ -0,0 +1,94 @@ +% geom_freder.mp +% L. Nobre G. +% 2000 + +%input featpost3Dplus2D; + +verbatimtex \documentclass{article} \usepackage{beton} \usepackage{concmath} \usepackage{ccfonts} \begin{document} etex + +beginfig(1); + + f := (1.7,1.2,1); + + Spread := 250; + + color gridvec, sizevec, currpos, starpos, bordpos; + numeric i, j, k, counter, theta, phi, long, base, thetamax; + path closingface; + sizevec := (11,9,7); + gridvec := (0.1,0.1,0.1); + thetamax := 50; + long := 0.08; + base := 0.1; + starpos := ( -0.5*X(gridvec)*(X(sizevec)-1) , + -0.5*Y(gridvec)*(Y(sizevec)-1) , + -0.5*Z(gridvec)*(Z(sizevec)-1) ); + bordpos := starpos - 0.5*gridvec; + npf1 := 4; + F1p1 := bordpos; + F1p2 := (X(bordpos),-Y(bordpos), Z(bordpos)); + F1p3 := (-X(bordpos),-Y(bordpos), Z(bordpos)); + F1p4 := (-X(bordpos),Y(bordpos), Z(bordpos)); + npf2 := 4; + F2p1 := (X(bordpos),Y(bordpos), -Z(bordpos)); + F2p2 := (X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p3 := (-X(bordpos),-Y(bordpos), -Z(bordpos)); + F2p4 := (-X(bordpos),Y(bordpos), -Z(bordpos)); + NF := 2; + draw facepath(1); + counter := 1; + for i= X(sizevec) upto X(sizevec): + for j=1 upto Y(sizevec): + for k=1 upto Z(sizevec): + phi := 0; + theta := 0; + currpos := starpos+( (i-1)*X(gridvec) , + (j-1)*Y(gridvec) , + (k-1)*Z(gridvec) ); + phi := thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + theta := 90+thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + generatedirline( counter, phi, theta, long, currpos ); + counter := incr(counter); + endfor; + endfor; + endfor; + for i=1 upto X(sizevec)-1: + for j=Y(sizevec) upto Y(sizevec): + for k=1 upto Z(sizevec): + phi := 0; + theta := 0; + currpos := starpos+( (i-1)*X(gridvec) , + (j-1)*Y(gridvec) , + (k-1)*Z(gridvec) ); + phi := thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + theta := 90+thetamax*cosd(90*Z(currpos)/abs(Z(starpos))); + generatedirline( counter, phi, theta, long, currpos ); + counter := incr(counter); + endfor; + endfor; + endfor; + NL := decr(counter); + director_invisible( true, base, false ); + closingface = facepath(2); + fill closingface withcolor background; + draw closingface; + pickup pencircle scaled 1pt; + currpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)); + starpos := (-X(bordpos)+X(gridvec),Y(bordpos)+4*Y(gridvec), Z(bordpos)); + drawarrow rp(currpos)..rp(starpos); + label.bot(btex $y$ etex,rp(starpos)); + currpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)); + starpos := (-X(bordpos)+X(gridvec),Y(bordpos), Z(bordpos)+4*Z(gridvec)); + drawarrow rp(currpos)..rp(starpos); + label.lft(btex $z$ etex,rp(starpos)); + currpos := (X(bordpos),-Y(bordpos)+Y(gridvec), Z(bordpos)); + starpos := (X(bordpos)+4*X(gridvec),-Y(bordpos)+Y(gridvec), Z(bordpos)); + drawarrow rp(currpos)..rp(starpos); + label.bot(btex $x$ etex,rp(starpos)); + +endfig; + +verbatimtex \end{document} etex + +end; + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/graphexample.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/graphexample.mp new file mode 100644 index 00000000000..6591ed5d0f9 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/graphexample.mp @@ -0,0 +1,16 @@ +% graphexample.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +input mp-tool; + +beginfig(1); + path thezigzag; + thezigzag = zigzagfrontier( origin, (200,200), 17, + 4, 20, 16, 12, blue, background ); + draw thezigzag; +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/lcurvature.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/lcurvature.mp new file mode 100644 index 00000000000..ca6d5670457 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/lcurvature.mp @@ -0,0 +1,114 @@ +% lcurvature.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + f := (5,3,4); + Spread := 70; + numeric gridstep, anglstep, cylength, cyradius, numcylis; + numeric i, j, curcoord, vcx, vcy, vcz, curangle, curnorma; + numeric major, othcoord, othangle; + color base, lenvec; + cylength := 0.1; + cyradius := 0.3; + gridstep := cyradius*2.2; + anglstep := 10; + numcylis := 5; + major := 0.35*gridstep*numcylis; + for i=1 upto numcylis: % bend + curnorma := i-0.5*(numcylis+1); + curangle := curnorma*anglstep; + vcx := cylength*cosd(curangle); + vcy := 0; + vcz := cylength*sind(curangle); + base := major*(sind(curangle),-1,-cosd(curangle)); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + for i=1 upto numcylis: % twist + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := 0; + vcy := cylength*sind(curangle); + vcz := cylength*cosd(curangle); + base := (curcoord,-vcy/2-major,-vcz/2+major); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + for i=1 upto numcylis: % splay + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := cylength*sind(curangle); + vcy := 0; + vcz := -cylength*cosd(curangle); + lenvec := (vcx,vcy,vcz); + for j=1 upto numcylis: + othcoord := (j-0.5*(numcylis+1))*gridstep; + base := major*(0,1,-cosd(curangle)); + base := base +(curcoord,othcoord,0); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; + for i=1 upto numcylis: % saddle + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := curnorma*anglstep; + vcx := cylength*sind(curangle); + for j=1 upto numcylis: + othcoord := (j-0.5*(numcylis+1))*gridstep; + othangle := (j-0.5*(numcylis+1))*anglstep; + vcy := -cylength*sind(othangle); + vcz := -cylength*cosd(curangle)*cosd(othangle); + base := major*(0,1,1-cosd(curangle)+cosd(othangle)); + base := base + (curcoord,othcoord,0); + lenvec := (vcx,vcy,vcz); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; +endfig; + +beginfig(2); + f := (5,3,4); + Spread := 70; + numeric gridstep, cylength, cyradius, numcylis; + numeric i, j, curcoord, curangle, curnorma; + numeric othcoord, othangle, zcoord, coef, othnorma; + color base, lenvec; + cylength := 0.1; + cyradius := 0.3; + gridstep := cyradius*2.2; + numcylis := 5; + coef := 0.32; + for i=1 upto numcylis: % splay + curnorma := i-0.5*(numcylis+1); + curcoord := curnorma*gridstep; + curangle := -curcoord*2*coef; + for j=1 upto numcylis: + othnorma := j-0.5*(numcylis+1); + othcoord := othnorma*gridstep; + othangle := -othcoord*2*coef; + zcoord := -coef*(othcoord**2+curcoord**2); + base := (curcoord,othcoord,zcoord); + lenvec := cylength*N((-curangle,-othangle,1)); + rigorousdisc( 0, true,base,cyradius,lenvec); + endfor; + endfor; +endfig; + +verbatimtex +\end{document} +etex + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/mptoolcone.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/mptoolcone.mp new file mode 100644 index 00000000000..4053632efb5 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/mptoolcone.mp @@ -0,0 +1,49 @@ +% mptoolcone.mp +% L. Nobre G. +% Y2K + +%input featpost3Dplus2D; + +input mp-tool; + + defaultscale := 1.1; +% defaultfont := "putr8r"; + defaultfont := "bchr8r"; + +beginfig(0); + color orig, axxc, ayyc, azzc; + color nalfa, gammacnt; + path gamma, cone, mybox; + numeric theta, radius, xxsize, yysize, zzsize; + picture mypict; + + f := (3,4,2); + Spread := 100; + xxsize = 0.8; + yysize = 0.8; + zzsize = 1.0; + theta = 25; + + orig = (0,0,0); + mypict = thelabel("Texto com acentuação.",rp(orig)); + mybox = bbox mypict; + draw mypict; + draw mybox; + axxc = (xxsize,0,0); + ayyc = (0,yysize,0); + azzc = (0,0,zzsize); + nalfa = (0,sind(theta),cosd(theta)); + gammacnt = cosd(theta)*cosd(theta)*nalfa; + radius := cosd(theta)*sind(theta); + gamma = rigorouscircle( gammacnt, nalfa, radius ); + cone = rigorouscone(true, gammacnt, nalfa, radius, (xxsize,yysize,0) ); + draw gamma dashed evenly; + draw cone; + drawarrow rp(orig)..rp(axxc); + drawarrow rp(orig)..rp(ayyc); + drawarrow rp(orig)..rp(azzc); +endfig; + +end; + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/nembends.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nembends.mp new file mode 100644 index 00000000000..5900e88d187 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nembends.mp @@ -0,0 +1,48 @@ +% nembends.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +%input mp-tool; + +beginfig(1); + f := 2*(5,3,4); + Spread := 70; + + numeric hsdev, basestep, basxstep, basesdev; + numeric i, j, k, coesdev, cylength, cyradius, basen; + numeric vcx, vcy, vcz, hcurr, xcurr, ycurr, aone; + numeric atwo, zcurr, coestep, angsdev, basxsdev; + color lenvec, currpos; + + + coestep := -0.15; + cylength := 0.6; + cyradius := 0.1; + basen := 3; + basestep := cylength*1.6; + basxstep := cyradius*4; + basesdev := basestep*0.001; + basxsdev := basxstep*0.001; + hsdev := 0.005; + coesdev := 0.001; + angsdev := 0.02; + for i=-basen upto basen: + for j=-basen upto basen: + xcurr := i*basxstep + basxsdev*normaldeviate; + ycurr := j*basestep + basesdev*normaldeviate; + zcurr := ycurr**2*coestep + coesdev*normaldeviate; + aone := angsdev*normaldeviate; + atwo :=angle(1,ycurr*2*coestep)+angsdev*normaldeviate; + vcz := cosd( aone )*sind( atwo ); + vcy := cosd( aone )*cosd( atwo ); + vcx := sind( aone ); + currpos := ( xcurr, ycurr, zcurr ); + lenvec := cylength*( vcx, vcy, vcz ); + rigorousdisc(0,true,currpos-0.5*lenvec,cyradius,lenvec); + endfor; + endfor; +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemdirector.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemdirector.mp new file mode 100644 index 00000000000..4c1d88fe095 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemdirector.mp @@ -0,0 +1,82 @@ +% nemdirector.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +%\usepackage{mathpazo} +\begin{document} +etex + +beginfig(1); + f := 2*(5,3,4); + Spread := 70; + + numeric cylength, cyradius, zoneradi, zoneleng; + numeric i, angsdev, halfnum, directlen, arrthick; + numeric vcx, vcy, vcz, xcurr, ycurr, thickfact; + numeric atwo, zcurr, aone, apos; + color lenvec, currpos, tippos; + path arrpath; + picture tmppict; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Nu + 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 ); + tippos := (0,0,0.5*directlen); + arrpath := rp(-tippos)--rp(tippos); + ahlength := 3*arrthick; + ahangle := 40; + for i=1 upto halfnum: + zcurr := -0.5*zoneleng+uniformdeviate( zoneleng ); + apos := uniformdeviate( 180 ); + xcurr := -zoneradi*cosd( apos )*uniformdeviate( 1 ); + ycurr := zoneradi*sind( apos )*uniformdeviate( 1 ); + 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 ); + generatedirline( i, aone, 90-atwo, cylength, currpos ); + endfor; + NL:= halfnum; + director_invisible( true, thickfact, false ); + drawarrow arrpath withpen pencircle scaled arrthick; + for i=1 upto halfnum: + zcurr := -0.5*zoneleng+uniformdeviate( zoneleng ); + apos := uniformdeviate( 180 ); + xcurr := zoneradi*cosd( apos )*uniformdeviate( 1 ); + ycurr := zoneradi*sind( apos )*uniformdeviate( 1 ); + 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 ); + generatedirline( i, aone, 90-atwo, cylength, currpos ); + 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; +endfig; + +verbatimtex +\end{document} +etex + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquira.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquira.mp new file mode 100644 index 00000000000..41caf4578a6 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquira.mp @@ -0,0 +1,60 @@ +% nemquira.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + + + +beginfig(1); + f := 7*(1,2,1); + Spread := 70; + + 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, angstep, counter; + color lenvec, currpos; + + angstep := 20; + cylength := 0.45; + cyradius := 0.1; + basen := 4.5; + hn := 1; + basestep := cylength*1.37; + hstep := basestep; + basesdev := basestep*0.05; + hsdev := basesdev; + hbase := -0.8; + angsdev := 4; + + basemax := basen*basestep; + hmax := hn*hstep; + counter := 0; + for i=-basen upto basen: + for j=-basen 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 := angsdev*normaldeviate; + atwo := j*angstep + angsdev*normaldeviate; + vcz := sind( atwo+90 ); + vcy := cosd( atwo+90 )*sind( aone ); + vcx := cosd( atwo+90 )*cosd( aone ); + currpos := ( xcurr, ycurr, zcurr ); + lenvec := cylength*( vcx, vcy, vcz ); +% rigorousdisc( 0, true, currpos-0.5*lenvec, cyradius, lenvec); + counter := incr(counter); + generatedirline( counter, aone, 90+atwo, cylength, currpos ); + endfor; + endfor; + endfor; + NL := counter; + director_invisible( true, 5, false ); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquirapitch.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquirapitch.mp new file mode 100644 index 00000000000..d29f0ffeb10 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemquirapitch.mp @@ -0,0 +1,69 @@ +% nemquirapitch.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + f := 7*(1,2,1); + Spread := 70; + ahlength := 3mm; + ahangle := 48; + + numeric hsdev, basestep, basemax, basesdev, xpos; + numeric i, j, angsdev, cylength, cyradius, basen; + numeric vcx, vcy, vcz, hcurr, xcurr, ycurr, aone; + numeric atwo, zcurr, angstep, counter, linelen; + color lenvec, currpos; + + angstep := 20; + cylength := 0.45; + cyradius := 0.1; + basen := 4.5; + basestep := cylength*1.37; + basesdev := basestep*0.05; + hsdev := basesdev; + angsdev := 4; + linelen := cylength; + + basemax := basen*basestep; + xpos := -(basen+1)*basestep; + draw rp((-xpos-0.5*cylength,-basemax,0))--rp((-xpos+0.5*cylength,-basemax,0)); + draw rp((-xpos-0.5*cylength,basemax,0))--rp((-xpos+0.5*cylength,basemax,0)); + drawdblarrow rp((-xpos,-basemax,0))--rp((-xpos,basemax,0)); + label.urt( btex $\frac{p}{2}$ etex scaled 2.5, rp((-xpos,0,0)) ); + counter := 0; + for i=-basen upto basen: + for j=-basen upto basen: + zcurr := hsdev*normaldeviate; + xcurr := i*basestep + basesdev*normaldeviate; + ycurr := j*basestep + basesdev*normaldeviate; + aone := angsdev*normaldeviate; + atwo := j*angstep + angsdev*normaldeviate; + vcz := sind( atwo+90 ); + vcy := cosd( atwo+90 )*sind( aone ); + vcx := cosd( atwo+90 )*cosd( aone ); + currpos := ( xcurr, ycurr, zcurr ); + lenvec := cylength*( vcx, vcy, vcz ); +% rigorousdisc( 0, true, currpos-0.5*lenvec, cyradius, lenvec); + counter := incr(counter); + generatedirline( counter, aone, 90+atwo, cylength, currpos ); + endfor; + endfor; + NL := counter; + director_invisible( true, 5, false ); +endfig; + +verbatimtex +\end{document} +etex + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemuniax.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemuniax.mp new file mode 100644 index 00000000000..b2ebec11c8f --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/nemuniax.mp @@ -0,0 +1,61 @@ +% nemuniax.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +beginfig(1); + f := 2*(5,3,4); + Spread := 70; + + 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; + color lenvec, currpos; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Nu + cylength := 0.6; + cyradius := 0.1; + basen := 12; + hn := 5; + basestep := cyradius*3.1; + hstep := cylength*1.5; + basesdev := cyradius*0.1; + hsdev := hstep*0.2; + hbase := -0.8; + angsdev := 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 ); +% rigorousdisc( 0, true, currpos-0.5*lenvec, cyradius, lenvec); + counter := incr( counter ); + generatedirline( counter, aone, 90-atwo, cylength, currpos ); +% generateonebiax( counter, aone, 90-atwo, cylength, +% -60, 0.25*cylength, currpos ); + endfor; + endfor; + endfor; + NL := counter; + director_invisible( true, 5, false ); +% director_invisible( false, 5, true ); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/pathernon.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/pathernon.mp new file mode 100644 index 00000000000..8b3d8b56140 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/pathernon.mp @@ -0,0 +1,65 @@ +% pathernon.mp +% L. Nobre G. +% 2004 + +beginfig(0); + f := (4.8,3,3.65); + viewcentr := black; + Spread := 50; + horiZon := 0; + ShadowOn := false; + LightSource := (1,-1,7); + SphericalDistortion := true; + OverRidePolyhedricColor := true; + numeric side, coluheight, blocheight, roofheight, coluray, fact; + numeric acroside, acronum, auxa, raya, rayb , poshemi, lena, lenb; + color roofcenter, ba, bb, bc, bd, coluvec, colucen, auxb, auxc, auxd; + side = 1; + roofheight = 0.1; + coluheight = 0.7; + acroside = 4; + acronum = 20; + coluray = 0.06; + blocheight = 0.1; + poshemi = 0.25*side; + raya = 0.08; + rayb = 0.12; + lena = 0.13; + lenb = 0.26; + fact = 1.3; + auxa = 0.5*side-coluray; + coluvec = blue*coluheight; + colucen = 0.5*coluvec; + auxc = (0,-poshemi,0); + auxd = (0,-poshemi,raya+rayb); + setthestage( acronum, acroside ); + V1 := (0.5*side,-0.5*side,coluheight+blocheight); + V2 := (0.5*side,0.5*side,coluheight+blocheight); + V3 := (-0.5*side,0.5*side,coluheight+blocheight); + V4 := (-0.5*side,-0.5*side,coluheight+blocheight); + V5 := (0,-0.5*side,coluheight+roofheight+blocheight); + V6 := (0,0.5*side,coluheight+roofheight+blocheight); + makeface1(1,4,5); + makeface2(1,2,6,5); + makeface3(2,3,6); + makeface4(3,4,5,6); + ba = (auxa,-auxa,0); + bb = (auxa,auxa,0); + bc = (-auxa,auxa,0); + bd = (-auxa,-auxa,0); + roofcenter = (V1+V2+V3+V4+V5+V6)/6; + auxb = roofcenter-blue*blocheight; + V7 := (-0.5*side,-0.5*side,coluheight); + getready( "draw_invisible( false, false, white, black )", roofcenter ); + getready( "rigorousdisc( 0, true, ba, coluray, coluvec )", ba+colucen); + getready( "rigorousdisc( 0, true, bb, coluray, coluvec )", bb+colucen); + getready( "rigorousdisc( 0, true, bc, coluray, coluvec )", bc+colucen); + getready( "rigorousdisc( 0, true, bd, coluray, coluvec )", bd+colucen); + getready("kindofcube(false,true,V7,0,0,0,side,side,blocheight)",auxb); + getready( "whatisthis(auxc,lenb*red,lena*green,raya,fact)", auxc ); + getready( "spatialhalfsfear( auxd, blue, rayb )", auxd ); + doitnow; + produce_vga_border; +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/planpht.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/planpht.mp new file mode 100644 index 00000000000..dac34577eff --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/planpht.mp @@ -0,0 +1,291 @@ +% planpht.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +% Planification wise 3D figures + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); % phtpbq +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Definition of the 3D-figure + V1 := (1,0,0); + V2 := (0,1,0); + V5 := (0,0,1); + V3 := (-1,0,0); + V4 := (0,-1,0); + makeface1(1,2,3,4); + makeface2(1,2,5); + makeface3(2,3,5); + makeface4(3,4,5); + makeface5(4,1,5); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + f := (3,5,4); + Spread := 50; + pickup pencircle scaled 1pt; + sharpraytrace; +endfig; + +beginfig(2); % phtdpbp + numeric altura, raio, xp, xs, yp, ys; + altura = 0.5257311; + raio = 0.8506508; + yp = 0.80901699; + ys = 0.5; + xp = 0.2628655; + xs = -0.6881909; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Definition of the 3D-figure + V1 := (raio,0,0); + V2 := (xp,yp,0); + V3 := (xs,ys,0); + V4 := (xs,-ys,0); + V5 := (xp,-yp,0); + V6 := (0,0,altura); + V7 := (0,0,-altura); + makeface1(1,2,6); + makeface2(5,1,6); + makeface3(2,3,6); + makeface4(3,4,6); + makeface5(4,5,6); + makeface6(1,2,7); + makeface7(5,1,7); + makeface8(2,3,7); + makeface9(3,4,7); + makeface10(4,5,7); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + f := (3,5,1.8); + Spread := 50; + pickup pencircle scaled 1pt; + sharpraytrace; +endfig; + +beginfig(3); % phtcubo eps + defaultscale := 1; + defaultfont := "ccr10"; + V1 := (1,1,1); + V2 := (-1,1,1); + V3 := (-1,-1,1); + V4 := (1,-1,1); + V5 := (1,1,-1); + V6 := (-1,1,-1); + V7 := (-1,-1,-1); + V8 := (1,-1,-1); + makeface1(1,2,3,4); + makeface2(5,6,7,8); + makeface3(1,2,6,5); + makeface4(2,3,7,6); + makeface5(3,4,8,7); + makeface6(4,1,5,8); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + f := (3,5,3); + Spread := 50; + pickup pencircle scaled 1pt; + sharpraytrace; + label.lft("A", rp(V8) ); + label.top("B", rp(V1) ); + label.top("C", rp(V3) ); + label.lft("D", rp(V4) ); + label.rt("E", rp(V2) ); + label.rt("F", rp(V6) ); +endfig; + +beginfig(4); % phtptq + numeric high, low; + high = sqrt(2); + low = sqrt(2)-1.6818; + V1 := (1,1,high); + V2 := (-1,1,high); + V3 := (-1,-1,high); + V4 := (1,-1,high); + V5 := (high,0,low); + V6 := (0,high,low); + V7 := (-high,0,low); + V8 := (0,-high,low); + V9 := (0,0,0); + makeface1(5,6,7,8); + makeface2(6,1,2); + makeface3(7,2,3); + makeface4(8,3,4); + makeface5(5,4,1); + makeface6(5,6,1); + makeface7(6,7,2); + makeface8(7,8,3); + makeface9(8,5,4); + makeface10(9,1,2); + makeface11(9,2,3); + makeface12(9,3,4); + makeface13(9,4,1); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + f := (2,6,5); + Spread := 50; + pickup pencircle scaled 1pt; + sharpraytrace; +endfig; + +beginfig(5); % phtnonrec + numeric tro; + tro = 2; + V1 := (tro,0,0); + V2 := (0,tro,0); + V3 := (-tro,0,0); + V4 := (0,-tro,0); + V5 := (1,1,1); + V6 := (-1,1,1); + V7 := (-1,-1,1); + V8 := (1,-1,1); + V9 := (1,1,-1); + V10 := (-1,1,-1); + V11 := (-1,-1,-1); + V12 := (1,-1,-1); + V13 := (0,0,tro); + V14 := (0,0,-tro); + makeface1(1,5,13,8); + makeface2(2,6,13,5); + makeface3(3,7,13,6); + makeface4(4,8,13,7); + makeface5(1,5,2,9); + makeface6(2,6,3,10); + makeface7(3,7,4,11); + makeface8(4,8,1,12); + makeface9(1,9,14,12); + makeface10(2,10,14,9); + makeface11(3,11,14,10); + makeface12(4,12,14,11); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + f := 2*(5,3,1.5); + Spread := 50; + pickup pencircle scaled 1pt; + sharpraytrace; +endfig; + +beginfig(6); % pauphtflex eps + defaultscale := 1; + defaultfont := "ccr10"; + color A, B, C, D, E, F, G; + numeric tro, Adist; + tro = sqrt(3)/2; + Adist = 0.88854; + V1 := (-1.8,0,0); + V2 := (-1.8,0.6,1.2*tro); + V3 := (1,0.6,1.2*tro); + V4 := (1,0,0); + V5 := (1,2.5,0); + V6 := (-1.8,2.5,0); + V7 := (0,0,0); + V8 := (0,0.707,0); + V9 := (0,0.707/4,0.707*tro/2); + V10:= (0.21928,Adist/2,tro*Adist); + V11:= (-0.37392,0.39638,0); + V12:= (-1.2125,Adist,0); + makeface1(1,2,3,4); + makeface2(4,5,6,1); + makeface3(7,8,9); + makeface4(8,9,10); + makeface5(8,10,11); + makeface6(10,11,12); + A = (0,1.3,0); + B = (0,1.3+sqrt(0.75),0); + C = (-0.5,1.3+sqrt(0.75),0); + D = (E+B)/2; + E = (sqrt(0.75),1.3,0); + F = ((1+sqrt(3))/4,1.3+(1+sqrt(3))/4,0); + G = (-1.5,1.3+sqrt(0.75),0); + f := 3*(2,5,2); + Spread := 100; + draw rp(A)--rp(B)--rp(E)--cycle; + draw rp(F)--rp(B)--rp(E)--cycle; + draw rp(A)--rp(B)--rp(C)--cycle; + draw rp(A)--rp(C)--rp(G)--cycle; + draw rp(A)--rp(F) dashed evenly; + pickup pencircle scaled 1pt; + sharpraytrace; + draw rp(V7)--rp(V9); + draw rp(V10)--rp(V9); + draw rp(V12)--rp((-1.2125,0,0)) dashed evenly; + label.urt("Adist", rp((V12+(-1.2125,0,0))/2) ); + label.lft("A", rp(V10) ); + label.bot("B", rp(V8) ); + label.bot("B", rp(B) ); + label.lrt("C", rp(V11) ); + label.lft("D", rp(V9) ); + label.bot("D", rp(D) ); + label.llft("F", rp(V7) ); + label.bot("F", rp(F) ); + label.rt("G", rp(V12) ); + angline(V6, V2, V1, 0.6, btex $\alpha$ etex, rt); + angline(V10, 2*V9, V9, 0.7, btex $\theta$ etex, bot); + draw rp(V9+N(V10-V9)*0.65)--rp(V9+N(V10-V9)*0.8); + draw rp(V9+N(V9)*0.5)--rp(V9+N(V9)*0.8); + label.bot(btex $p$ etex, rp((F+B)/2) ); + label.ulft(btex $q$ etex, rp((D+B)/2) ); + label.lft(btex $r$ etex, rp((D+A)/2) ); + label.llft(btex $s$ etex, rp((A+B)/2) ); + label.llft(btex $t$ etex, rp((A+C)/2) ); + label.bot(btex $t$ etex, rp((G+C)/2) ); + label.bot(btex $u$ etex, rp((C+B)/2) ); + label.top(btex $v$ etex, rp((A+G)/2) ); +endfig; + +beginfig(7); % pauphttoro eps + defaultscale := 1; + defaultfont := "ccr10"; + numeric sinthe, costhe, ux, uz, lx, lz, co; + costhe = (4*sqrt(5)-sqrt(3))/11; + sinthe = sqrt(1-costhe**2); + ux = costhe*sqrt(2)/2; + uz = sinthe/2; + lx = sqrt(4/3)*sinthe; + lz = -sqrt(2/3)*costhe; + co = sqrt(2)*(2*sqrt(5)+5*sqrt(3))/22; + V1 := (ux,0,-uz); + V2 := (lx,0,-lz); + V3 := (0,ux,uz); + V4 := (0,lx,lz); + V5 := (co,co,0); + V6 := (-ux,0,-uz); + V7 := (-lx,0,-lz); + V8 := (-co,co,0); + makeface1(1,2,3); + makeface2(1,2,5); + makeface3(2,3,5); + makeface4(3,4,5); + makeface5(3,4,1); + makeface6(1,4,5); + makeface7(3,6,7); + makeface8(3,7,8); + makeface9(6,7,8); + makeface10(3,8,4); + makeface11(4,6,8); + makeface12(3,4,6); + Spread := 100; +% f := (1,-0.4,3); + f := 2*(2,1,2.8); + draw_invisible( false, false, TableC6, black ); +% cartaxes(0.2,0.2,0.2); + draw rp(V2)--rp(V1)--rp(V4) dashed evenly; + draw rp(V3)--rp(V1)--rp(V5) dashed evenly; + draw rp(V6)--rp(V4) dashed evenly; + draw rp(V6)--rp(V8) dashed evenly; +% pickup pencircle scaled 1pt; +% sharpraytrace; + label.rt("A", rp(V5) ); + label.rt("C", rp(V3+(0,0.05,0)) ); + label.rt("B", rp(V4) ); + label.rt("D", rp(V8) ); + label.lft("E", rp(V2) ); + label.llft("F", rp(V1) ); + label.lft("G", rp(V7) ); + label.lft("H", rp(V6) ); +endfig; + +verbatimtex \end{document} etex + +end; + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/rigorcubo.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/rigorcubo.mp new file mode 100644 index 00000000000..831861fc9b6 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/rigorcubo.mp @@ -0,0 +1,36 @@ +% rigorcubo.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +beginfig(0); + defaultscale := 3; + defaultfont := "ccr10"; + Spread := 50; + V1 := (1,1,1); + V2 := (-1,1,1); + V3 := (-1,-1,1); + V4 := (1,-1,1); + V5 := (1,1,-1); + V6 := (-1,1,-1); + V7 := (-1,-1,-1); + V8 := (1,-1,-1); + makeface1(1,2,3,4); + makeface2(5,6,7,8); + makeface3(1,2,6,5); + makeface4(2,3,7,6); + makeface5(3,4,8,7); + makeface6(4,1,5,8); + f := (3,5,3); + pickup pencircle scaled 1pt; + sharpraytrace; + label.lft("A", rp(V8) ); + label.top("B", rp(V1) ); + label.top("C", rp(V3) ); + label.lft("D", rp(V4) ); + label.rt("E", rp(V2) ); + label.rt("F", rp(V6) ); +endfig; + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/rmnbob.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/rmnbob.mp new file mode 100644 index 00000000000..54d568c1e49 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/rmnbob.mp @@ -0,0 +1,45 @@ + +Spread := 70; +f := (5,7,10); + +%input featpost3Dplus2D; + +beginfig(1); + numeric i, r[], stepr, len, Numr, Minn, Maxn; + numeric fws, NumLines, linex; + path aro[], oneline; + color centre, axe, baseone, basetwo; + + stepr := 0.1; + len := 3; + Numr := 5; + Minn := 5; + centre := (0,0,0); + axe := (1,0,0); + fws := 2; + NumLines := 30; + for i=0 upto NumLines: + linex := fws*(i/NumLines-0.5); + oneline := rp((linex,0.5*fws,-0.5*fws)) + --rp((linex,-0.5*fws,-0.5*fws)) + --rp((linex,-0.5*fws,0.5*fws)); + draw oneline withcolor (0.7*background); + endfor; + baseone := centre+0.5*len*axe; + basetwo := centre-0.5*len*axe; + Maxn := Minn+Numr; + for i=Minn upto Maxn: + r[i] := i*stepr; + aro[i] := rigorouscircle(baseone,axe,r[i]); + endfor; + rigorousdisc( 0, true, baseone, r[Maxn], -len*axe ); + drawoptions( dashed evenly ); + rigorousdisc( 0, true, baseone, r[Minn], -len*axe ); + for i=Maxn downto Minn: + filldraw aro[i] withcolor ((0.5+0.3*normaldeviate)*background); + endfor; + drawoptions( ); + draw aro[Maxn]; +endfig; + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/sal.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/sal.mp new file mode 100644 index 00000000000..e2c447a27a9 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/sal.mp @@ -0,0 +1,104 @@ +% Cesium Cloride Crystal Structure and EBG fields together +% L. Nobre G. +% 2002 + +verbatimtex +\documentclass{article} +\begin{document} +etex + +beginfig(1); + numeric sfr, radfac, ind; + color xv, yv, zv; + path p[]; + f := 3*(5,2,3); + Spread := 50; + sfr := 0.2; + radfac := 2.0; + xv := (sfr,0,0); + yv := (0,sfr,0); + zv := (0,0,sfr); + V1 := (-1,-1,-1); + V2 := (-1,1,-1); + V3 := (1,-1,-1); + V4 := (1,1,-1); + V5 := (-1,-1,1); + V6 := (-1,1,1); + V7 := (1,-1,1); + V8 := (1,1,1); + V9 := (0,0,0); + for ind=1 upto 8: + p[ind] := rigorousfearpath( V[ind], sfr ); + endfor; + p9 := rigorousfearpath( V9, sfr*radfac ); + unfill p1; + draw p1; + draw rp(V1+yv)--rp(V2-yv); + draw rp(V1+xv)--rp(V3-xv); + unfill p2; + draw p2; + unfill p3; + draw p3; + draw rp(V4-yv)--rp(V3+yv); + draw rp(V4-xv)--rp(V2+xv); + unfill p4; + draw p4; + draw rp(V1+zv)--rp(V5-zv); + draw rp(V2+zv)--rp(V6-zv); + unfill p9; + draw p9; + draw rp(V3+zv)--rp(V7-zv); + draw rp(V4+zv)--rp(V8-zv); + unfill p5; + draw p5; + draw rp(V5+yv)--rp(V6-yv); + draw rp(V5+xv)--rp(V7-xv); + unfill p6; + draw p6; + unfill p7; + draw p7; + draw rp(V8-yv)--rp(V7+yv); + draw rp(V8-xv)--rp(V6+xv); + unfill p8; + draw p8; + label( btex Cs${}^{+}$ etex, rp( V8 ) ); + label( btex Cl${}^{-}$ etex, rp( V9 ) ); +endfig; + +beginfig(2); + numeric inc, ind, tep, larg, altr, lene; + path efld, velv, arch, auxi; + picture bfld; + pair vpos, cent; + tep = 1cm; + larg = 4; + altr = 3; + lene = larg*tep; + bfld = btex $\times$ etex; +% bfld := bfld shifted -(center bfld); + efld = origin--(lene,0); + for ind = 0 upto altr: + drawarrow efld shifted (0,ind*tep); + endfor; + auxi = efld shifted (0,tep); + for ind = 1 upto altr: + for inc = 1 step 2 until 2*larg: + label( bfld, (0.5*inc*tep,(ind-0.5)*tep) ); + endfor; + endfor; + vpos = (tep,0.5tep); + label.lft( btex $\vec{B}$ etex, (0.5tep,(altr-0.5)*tep) ); + label.lft( btex $\vec{E}$ etex, origin ); + label.top( btex $\vec{v}$ etex, vpos ); + velv = vpos--((larg-1)*tep,(altr-0.5)*tep); + drawarrow velv; + cent = auxi intersectionpoint velv; + arch = ((fullcircle scaled (altr*tep*0.87)) shifted cent) cutafter velv; + draw arch; + label.rt( btex $\theta$ etex, point 0.5*length arch of arch ); +endfig; + +verbatimtex \end{document} etex + +end; + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/sfearschem.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/sfearschem.mp new file mode 100644 index 00000000000..a9f2ea6a344 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/sfearschem.mp @@ -0,0 +1,34 @@ +% sfearchem.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +defaultfont:="cmssu30"; + +beginfig(1); + f := (4,2,1.5); + cartaxes( 1.5,1.5,0.75 ); + drawoptions( withcolor red withpen pencircle scaled 1.3pt ); + draw goodcirclepath( (0,0,0), (0,0,1), 1 ); + drawoptions(); + draw rigorouscircle( (0,0,0), (0,0,1), 1 ); + draw spatialhalfcircle( (0,0,0), (0,0,1), 0.5, true ); + draw spatialhalfcircle( (0,0,0), (0,0,1), 0.5, false ) dashed evenly; + draw rigorousfearpath( (0,0,0), 0.5 ); + draw rp((0,0,0.5)) withpen pencircle scaled 1.3pt; +endfig; + +verbatimtex +\end{document} +etex + +end; diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/signalvertexSD.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/signalvertexSD.mp new file mode 100644 index 00000000000..dfc5eb3f501 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/signalvertexSD.mp @@ -0,0 +1,40 @@ +% signalvertexSD.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +% Draw a torus with NP dots, a section of 3.14*RS^2 +% and a total diameter of 2*(RB+RS). The dots are placed +% on a single closed line that turns around the $z$ axis +% NB times and around the section NS times. + +f := 0.45f; + +%SphericalDistortion := true; Spread := 11; + +beginfig(1); + NP:=2000; + RB:=1; + RS:=0.2; + R3:=0.0; + 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; + +end; + + + + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/spherample.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/spherample.mp new file mode 100644 index 00000000000..39352e6ba02 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/spherample.mp @@ -0,0 +1,49 @@ +% spherample.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +SphericalDistortion := true; + +beginfig(1); + color orig, axxc, ayyc, azzc; + color nalfa, gammacnt, vertex; + numeric altura, grids, radius, xxsize, aux, + yysize, zzsize, i, numc, slope; + path sfear; + + f := (5,4,2); + Spread := 120; + ShiftV := (200,200); + altura = 1; + radius = 0.3; + grids = 1; + numc = 9; + slope = 3; + + for i=1 upto numc: + aux := (i-1-0.5*(numc-1))*grids; + gammacnt := (0,aux,0); + vertex := (aux/slope,aux,altura); + nalfa := vertex - gammacnt; + sfear := rigorousfearpath(gammacnt,radius); + unfill sfear; + draw sfear; + draw spatialhalfcircle(gammacnt,nalfa,radius,true); + endfor; + xxsize = radius; + yysize = 0.5*(numc-1)*grids; + zzsize = altura; + orig = (0,0,0); + axxc = (xxsize,0,0); + ayyc = (0,yysize,0); + azzc = (0,0,zzsize); +% drawarrow rp(orig)..rp(axxc); +% drawarrow rp(orig)..rp(ayyc); +% drawarrow rp(orig)..rp(azzc); +endfig; + +end; + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/squareanglines.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/squareanglines.mp new file mode 100644 index 00000000000..769f2af8721 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/squareanglines.mp @@ -0,0 +1,14 @@ +% squareanglines.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +beginfig(1); + cartaxes(1,1,1); + squareangline( red, green, black, 0.4); + squareangline( green, blue, black, 0.6); + squareangline( blue, red, black, 0.8); +endfig; + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/troncoconedef.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/troncoconedef.mp new file mode 100644 index 00000000000..0429ac4533f --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/troncoconedef.mp @@ -0,0 +1,54 @@ +% troncoconedef.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +f := (5,0,3); + +def twoclicpathesinapen( expr CycleA, CycleB )= + begingroup + numeric TheLengthOfA, TheLengthOfB, TheMargin; + path SubPathA, SubPathB; + TheMargin = 0.02; + TheLengthOfA = ( length CycleA ) - TheMargin; + TheLengthOfB = ( length CycleB ) - TheMargin; + SubPathA = subpath ( 0, TheLengthOfA ) of CycleA; + SubPathB = subpath ( 0, TheLengthOfB ) of CycleB; + ( makepath makepen ( SubPathA--SubPathB--cycle ) ) + endgroup +enddef; + +beginfig(0); + numeric rayo, rayt; + path onec, twoc, botc; + color axec, baso, bast; + rayo = 1; + rayt = 0.7; + axec = red; + baso = black; + bast = (1,1,1); + onec = goodcirclepath( baso, axec, rayo ); + twoc = goodcirclepath( bast, axec, rayt ); + botc = twoclicpathesinapen( onec, twoc ); + fill botc withcolor green; + draw onec; + draw twoc; + draw botc; + dotlabel.bot( btex onec0 etex, point 0 of onec ); + dotlabel.bot( btex twoc0 etex, point 0 of twoc ); +endfig; + +verbatimtex +\end{document} +etex + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistnlc.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistnlc.mp new file mode 100644 index 00000000000..b3611cfbb14 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistnlc.mp @@ -0,0 +1,54 @@ +% explvis2 +% L. Nobre G. +% 1999 + +%input featpost3Dplus2D; + +beginfig(1); + + f := (2,1,1); + + Spread := 250; + + color gridvec, sizevec, currpos, starpos, bordpos; + numeric i, j, k, counter, theta, phi, thetamin, + thetamax, thetastp, long, base, radius, polar; + sizevec := (4,36,1); + gridvec := (0.14,0.1,0.3); + thetamin := 90; + thetamax := 150; + long := 0.08; + base := 0.02; + thetastp := (thetamax-thetamin)/(X(sizevec)-1); + starpos := ( -X(gridvec)*X(sizevec) , + -X(gridvec)*X(sizevec) , + 0 ); + bordpos := starpos; + npf1 := 4; + F1p1 := bordpos; + F1p2 := (X(bordpos),-Y(bordpos), Z(bordpos)); + F1p3 := (-X(bordpos),-Y(bordpos), Z(bordpos)); + F1p4 := (-X(bordpos),Y(bordpos), Z(bordpos)); + counter := 2; + for i=1 upto X(sizevec): + radius := (i-1)*X(gridvec); + polar := i*floor(Y(sizevec)/X(sizevec)); + for j=1 upto polar: + for k=1 upto Z(sizevec): + phi := 360*(j-1)/polar; + theta := thetamin+(i-1)*thetastp; + currpos := radius*(cosd(phi-90),sind(phi-90),0) + +(k-1)*(0,0,Z(gridvec)); + generatedirface( counter, phi, theta, long, base, currpos ); + counter := incr(counter); + endfor; + endfor; + endfor; + NF := decr(counter); + draw_all_test(false); +% sharpraytrace; +endfig; + +end; + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistroundbiax.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistroundbiax.mp new file mode 100644 index 00000000000..59a47907a88 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twistroundbiax.mp @@ -0,0 +1,62 @@ +% twistroundbiax.mp +% L. Nobre G. +% 2002 + +%input featpost3Dplus2D; + + + +beginfig(1); + + f := (2,1,1); + + Spread := 250; + + color gridvec, sizevec, currpos, starpos, bordpos; + numeric i, j, k, counter, theta, phi, gamma, thetamin, innercircle, + thetamax, thetastp, long, base, radius, polar, larg; + sizevec := (4,36,1); + gridvec := (0.143,0.1,0.1); + thetamin := 90; + thetamax := 150; + long := 0.08; + larg := 0.02; + base := 0.2; + gamma := -30; + innercircle := 0.5; + thetastp := (thetamax-thetamin)/(X(sizevec)-1); + starpos := ( -X(gridvec)*X(sizevec) , + -X(gridvec)*X(sizevec) , + 0 ); + bordpos := starpos; + npf1 := 4; + F1p1 := bordpos; + F1p2 := (X(bordpos),-Y(bordpos), Z(bordpos)); + F1p3 := (-X(bordpos),-Y(bordpos), Z(bordpos)); + F1p4 := (-X(bordpos),Y(bordpos), Z(bordpos)); + NF := 1; + draw facepath(1); + counter := 0; + for i=1 upto X(sizevec): + radius := (i-innercircle)*X(gridvec); + polar := i*floor(Y(sizevec)/X(sizevec)); + for j=1 upto polar: + for k=1 upto Z(sizevec): + phi := 360*(j-1)/polar; + theta := thetamin+(i-innercircle)*thetastp; + currpos := radius*(cosd(phi-90),sind(phi-90),0) + +(k-1)*(0,0,Z(gridvec)); + counter := incr(counter); +% generateonebiax( counter, phi, theta, long, +% gamma, larg, currpos ); + generatedirline( counter, phi, theta, long, currpos ); + endfor; + endfor; + endfor; + NL := counter; + director_invisible( true, base, false ); +endfig; + +end; + + diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/twocyclestogether.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twocyclestogether.mp new file mode 100644 index 00000000000..ca94e87dc2e --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twocyclestogether.mp @@ -0,0 +1,113 @@ +% twocyclestogether.mp +% L. Nobre G. +% 2003 + +%input featpost3Dplus2D; + +f := (4.5,-6,5); + +beginfig(1); + numeric len[], ray[]; + color axe[], pos[], fix[], lab[], Ve[]; + color reflabpos, reflabpoi; + picture txt[], dashpatt; + numeric inclang, aberang, sampang; + numeric squside, sqlevel, ul, outermagpos; + numeric innerray, polesep, fracone, fracsam; + numeric labelscale; + path tmpath, aupath, copath; + + pickup pencircle scaled 1.2pt; + dashpatt = evenly scaled 3; + ul = 0.1; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Change one of these at a time. %%%%%%%% + inclang = 129; + aberang = 19; + outermagpos = 22ul; + polesep = 1.7ul; + len4 = 30ul; +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + sampang = 30; + fracone = 0.33; + fracsam = 0.86; + ray1 = 10ul; + ray2 = 6ul; + ray3 = 8ul; + ray4 = 1.5ul; + ray5 = 4ul; + ray6 = 3ul; + ray7 = 3.5ul; + ray8 = 2ul; + len3 = 7ul; + len5 = 3ul; + len7 = 3.5ul; + len8 = 7ul; + + len1 = (1-fracone)*(outermagpos-ray5-polesep); + pos1 = (-outermagpos,0,0); + rigorousdisc( 0, true, pos1, ray1, len1*(1,0,0) ); + + len2 = fracone*(outermagpos-ray5-polesep); + pos2 = (len1-outermagpos,0,0); + tmpath := goodcirclepath( pos2, (1,0,0), ray1 ); + aupath := goodcirclepath( (-ray5-polesep,0,0), (1,0,0), ray2 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + + Ve5 := fracsam*ray5*( sind( sampang ), + cosd( sampang )*cosd( inclang -90 ), + cosd( sampang )*sind( inclang -90 ) ); + Ve6 := fracsam*ray5*( -sind( sampang ), + cosd( sampang )*cosd( inclang -90 ), + cosd( sampang )*sind( inclang -90 ) ); + Ve8 := fracsam*ray5*( sind( sampang ), + -cosd( sampang )*cosd( inclang -90 ), + -cosd( sampang )*sind( inclang -90 ) ); + Ve7 := fracsam*ray5*( -sind( sampang ), + -cosd( sampang )*cosd( inclang -90 ), + -cosd( sampang )*sind( inclang -90 ) ); + tmpath := rp(Ve5)--rp(Ve6)--rp(Ve7)--rp(Ve8)--cycle; + unfill tmpath; + draw tmpath; + + axe6 = ( 0, cosd( inclang+aberang ), sind( inclang+aberang ) ); + pos6 = ray1*axe6; + len6 = len4; + axe7 = ( 0, cosd( inclang-aberang ), sind( inclang-aberang ) ); + pos7 = ( ray1 + 0.5len6 )*axe7; + draw rp(pos6)--rp((0,0,0))--rp(pos7) dashed dashpatt; + + pos8 = pos7+len7*axe7; + tmpath := goodcirclepath( pos7, axe7, ray7 ); + aupath := goodcirclepath( pos8, axe7, ray8 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + + axe8 = axe7; + rigorousdisc( 0, true, pos8, ray8, len8*axe8 ); + + len9 = len2; + pos9 = (ray5+polesep,0,0); + ray9 = ray2; + ray10 = ray1; + tmpath := goodcirclepath( pos9, (1,0,0), ray9 ); + pos10 = pos9+len9*(1,0,0); + aupath := goodcirclepath( pos10, (1,0,0), ray10 ); + copath := twocyclestogether( tmpath, aupath ); + unfill copath; + draw copath; + draw aupath; + + len10 = len1; + rigorousdisc( 0, true, pos10, ray10, len10*(1,0,0) ); + + produce_auto_scale; +endfig; + +end. diff --git a/Master/texmf-dist/doc/metapost/featpost/example/repeated/twoupcones.mp b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twoupcones.mp new file mode 100644 index 00000000000..cc9b697dd37 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/repeated/twoupcones.mp @@ -0,0 +1,51 @@ +% twoupcones.mp +% L. Nobre G. +% 2004 + +%input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton,concmath,ccfonts} +\begin{document} +etex + +f := 3*(2,1,0.5); + +beginfig(1); + numeric raya, rayb, heia, heib, rang, marg, u; + color cena, cenb, vera, verb, auxa, auxb, pora, porb, poha, pohb; + u = 0.38; + raya = 1u; + rayb = 2u; + heia = 0.65u; + marg = 0.2u; + rang = 60; + heib = heia*rayb/raya; + cena = (raya*(1+marg),0,0); + cenb = (-rayb*(1+marg),0,0); + auxa = cena + raya*(cosd(rang),sind(rang),0); + auxb = cenb + rayb*(cosd(rang),sind(rang),0); + pora = 0.5[auxa,cena]; + porb = 0.5[auxb,cenb]; + vera = cena+heia*blue; + verb = cenb+heib*blue; + poha = 0.5[cena,vera]; + pohb = 0.5[cenb,verb]; + verygoodcone(true,cenb,blue,rayb,verb); + draw rp(verb)--rp(cenb)--rp(auxb) dashed evenly; + label.urt(btex $h_1$ etex, rp(pohb)); + label.urt(btex $R_1$ etex, rp(porb)); + verygoodcone(true,cena,blue,raya,vera); + draw rp(vera)--rp(cena)--rp(auxa) dashed evenly; + label.urt(btex $h_2$ etex, rp(poha)); + label.urt(btex $R_2$ etex, rp(pora)); +endfig; + +verbatimtex +\end{document} +etex + +end; + + |