diff options
Diffstat (limited to 'Master/texmf-dist/doc/metapost/featpost/example/vanallenbelt.mp')
-rw-r--r-- | Master/texmf-dist/doc/metapost/featpost/example/vanallenbelt.mp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/metapost/featpost/example/vanallenbelt.mp b/Master/texmf-dist/doc/metapost/featpost/example/vanallenbelt.mp new file mode 100644 index 00000000000..6420ea64dc0 --- /dev/null +++ b/Master/texmf-dist/doc/metapost/featpost/example/vanallenbelt.mp @@ -0,0 +1,51 @@ +% vanallenbelt.mp +% L. Nobre G. +% 2004 + +input featpost3Dplus2D; + +def magnfield( expr pos ) = + begingroup + save dist, anga, angb, angp, bv, bh, br, bx, by, bz, fin; + numeric dist, anga, angb, bv, bh, br, bx, by, bz; + pair angp; + color fin; + dist = conorm( pos ); + angp = getanglepair( pos ); + anga = xpart( angp ); + angb = ypart( angp ); + bh = 0.5*cosd( angb )/dist**3; + bv = sind( angb )/dist**3; + br = bv*cosd( angb ) - bh*sind( angb ); + bz = bv*sind( angb ) + bh*cosd( angb ); + bx = br*cosd( anga ); + by = br*sind( anga ); + fin = ( bx, by, bz ); + ( 25*fin ) + endgroup +enddef; + +def pmf( expr pos ) = + (2*red/(((greenpart pos) ++ (bluepart pos))**2)) +enddef; + +beginfig(1); + color vel; + vel = 1.1*(-0.25,0.0,0.1); + cartaxes(1,1,1); + draw magnetictrajectorypath(200, red, vel, 0.22, magnfield ); +% draw magnetictrajectorypath(400, red,-vel, 0.22, magnfield ); +endfig; + +beginfig(2); + f := 2*red; + Spread := 200; + numeric ang; + color vel; + ang = 145; + vel = 0.8*( 0, cosd( ang ), sind( ang ) ); + draw magnetictrajectorypath(200, green, vel, 0.1, pmf ); + drawarrow reverse (rp(blue)--rp(black)--rp(green)); +endfig; + +end.
\ No newline at end of file |