diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/conicurv.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/conicurv.mp | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/conicurv.mp b/Master/texmf-dist/doc/metapost/featpost/example/conicurv.mp new file mode 100644 index 00000000000..937226a702b --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/conicurv.mp @@ -0,0 +1,103 @@ +% conicurv.mp +% L. Nobre G. +% Y2K, 2008 + +input featpost3Dplus2D; + +verbatimtex +\documentclass{article} +\usepackage{beton} +\usepackage{concmath} +\usepackage{ccfonts} +\begin{document} +etex + +beginfig(1); + f := (10,-5,5.44); + Spread := 30; + numeric shortradius, longradius, theta, width, height; + numeric updiff, refsize, vecsize, anglar, bord, totup; + color rn, fa, fc, pg, centre, speed, refx, refy, refz, refY, refX; + color iplow, iphig, oplow,ophig, anglebase, central, refo; + color eplow, ephig, aplow,aphig, anglebase, central, refo; + theta = 30; + width = 3; + shortradius = 2; + bord = 2; + refsize = 1; + vecsize = 2; + height = 0.3; + anglar = 1.75; + totup = 3; + longradius = shortradius + width*cosd(theta); + updiff = width*sind(theta); + iplow = (0,shortradius,0); + iphig = (0,longradius,updiff); + oplow = (-shortradius,0,0); + ophig = (-longradius,0,updiff); + aplow = -iplow; + aphig = (0,-longradius,updiff); + eplow = -oplow; + ephig = (longradius,0,updiff); + anglebase = (0,longradius,0); + centre = 0.5[iplow,iphig]+(0,0,height); + central = (0,0,Z(centre)); +% refo = (0,0,-shortradius*sind(theta)/cosd(theta)); + refo = (0,0.5*Y(centre),Z(centre)); + refx = refsize*(0,cosd(theta),sind(theta)); + refy = refsize*(0,-sind(theta),cosd(theta)); + refz = refsize*(1,0,0); + refX = refsize*green; + refY = refsize*blue; +% anglinen( iplow, oplow, (0,0,0), shortradius, "", 0 ); +% anglinen( iphig, ophig, (0,0,updiff), longradius, "", 0 ); + angline(iphig,anglebase,iplow,width/anglar,btex $\theta$ etex,rt); + draw rp(central) withpen pencircle scaled 2pt; + draw rp(iplow)--rp(iphig); + draw rp(oplow)--rp(ophig); + draw rp(aplow)--rp(aphig); + draw rp(eplow)--rp(ephig); + draw rp(iphig)--rp(anglebase)--rp(aplow) dashed evenly; + draw rp(oplow)--rp(eplow) dashed evenly; + draw rp(central)--rp(centre) dashed evenly; +% draw rp((0,-bord,-bord))--rp((0,longradius+bord,-bord)) +% --rp((0,longradius+bord,totup))--rp((0,-bord,totup))--cycle +% withpen pencircle scaled 2pt; + draw rp((0,0,-bord))--rp((0,longradius+bord,-bord)) + --rp((0,longradius+bord,totup))--rp((0,0,totup))--cycle; + drawarrow rp(refo)..rp(refo+refy); + drawarrow rp(refo)..rp(refo+refx); + drawarrow rp(black)..rp(refX); + drawarrow rp(black)..rp(refY); + drawarrow rp(refo)..rp(refo+refz); + label.llft(btex $y$ etex, rp(refo+refy)); + label.lrt(btex $x$ etex, rp(refo+refx)); + label.lft(btex $Y$ etex, rp(refY)); + label.bot(btex $X$ etex, rp(refX)); + label.llft(btex $z$ etex, rp(refo+refz)); + rn = centre+vecsize*refy; + fa = centre+vecsize*refx; + fc = centre+vecsize*(0,1,0); + pg = centre+vecsize*(0,0,-1); + speed = centre+vecsize*(1,0,0); + drawarrow rp(centre)..rp(rn); + drawarrow rp(centre)..rp(fa); + drawarrow rp(centre)..rp(fc); + drawarrow rp(centre)..rp(pg); + drawarrow rp(centre)..rp(speed); + label.rt(btex $\vec{R}_N$ etex, rp(rn)); + label.top(btex $\vec{F}_a$ etex, rp(fa)); + label.urt(btex $\vec{F}_c$ etex, rp(fc)); + label.rt(btex $\vec{P}$ etex, rp(pg)); + label.rt(btex $\vec{v}$ etex, rp(speed)); + draw rp(centre) withpen pencircle scaled 10pt withcolor blue; + pickup pencircle scaled 2pt; + draw rigorouscircle( (0,0,updiff), (0,0,1), longradius ); + draw rigorouscircle( (0,0,0), (0,0,1), shortradius ); +endfig; + +verbatimtex +\end{document} +etex + +end; |