[Therion] North Grid and Mag
Bruce
bruce at tomo.co.nz
Mon Jun 27 11:17:20 CEST 2016
Dirk
I have posted this on the wiki, but not tested.
http://therion.speleo.sk/wiki/doku.php/metapost#special_symbol_examples
Bruce
_____
From: Dirk Peinelt [mailto:dirk.peinelt at t-online.de]
Sent: Thursday, 9 June 2016 7:35 a.m.
To: 'Martin Sluka'; Bruce Mutton
Subject: AW: [Therion] Therion Digest, Vol 126, Issue 7
Hi Martin, Bruce,
the definition may be published to the wiki.
I'dont know if the code is effective. (I've not used the A-D Pens.)
I combine this compass rose with a creation date in the map-header
(/currentdate).
A date variable is not present in metapost.
If the CS is not set, the declination is Zero.
Also if the declination is Zero, the northarrow is a Nmag arrow:
North grid/true rotate the whole plan with the north arrow. (merid. Conv.?)
A small change. (I hope i am not mistaken.)
def s_northarrow (expr rot) =
valscal=1.2; % scale your north arrow here
decl:=MagDecl;
T:=identity;
picture tmp_pic;
tmp_pic = image (
pickup pencircle scaled .3;
thfill fullcircle scaled 4cm withcolor 1white;
thdraw fullcircle scaled 3.1cm;
thdraw fullcircle scaled 4.05cm;
pickup pencircle scaled .1;
thdraw fullcircle scaled 3cm;
thdraw fullcircle scaled 4cm;
pickup pencircle scaled .2;
thdraw (dir(45)*2.025cm)--(dir(45)*3.7cm);
thdraw (dir(135)*2.025cm)--(dir(135)*3.7cm);
thdraw (dir(225)*2.025cm)--(dir(225)*3.7cm);
thdraw (dir(315)*2.025cm)--(dir(315)*3.7cm);
pickup pencircle scaled .1;
for whereto=0 step 15 until 345:
thdraw dir(whereto)*.65cm--dir(whereto)*.9cm;
thdraw dir(whereto)*1.4cm--dir(whereto)*1.5cm;
endfor;
for whereto=0 step 5 until 355:
thdraw dir(whereto)*.65cm--dir(whereto)*.8cm;
thdraw
dir(whereto)*1.45cm--dir(whereto)*1.5cm;
endfor;
for whereto=0 step 1 until 359:
thdraw dir(whereto)*1.94cm--dir(whereto)*2cm;
endfor;
pickup pencircle scaled 1;
thdraw fullcircle scaled 1cm;
thdraw fullcircle scaled 1.1cm;
thdraw fullcircle scaled 1.3cm withpen pencircle
scaled .3;
vald=90-decl;
texrot=0-decl;
drawarrow(dir(vald)*-2cm--dir(vald)*2cm) withpen
pencircle scaled .2;
if (MagDecl <> 0): thdraw image(label.top(btex
$mg$ etex, (0,0)) scaled .5 rotated texrot;) shifted (dir(vald)*2.04cm); fi;
thfill
(1.06cm,1.06cm)--(0,.2cm)--(-1.06cm,1.06cm)--(-.2cm,0)--(-1.06cm,-1.06cm)--(
0,-.2cm)--(1.06cm,-1.06cm)--(.2cm,0)--cycle;
thfill (-.2cm,.2cm)--(0,2cm)--(0,0)--cycle;
thfill (.2cm,-.2cm)--(0,-2cm)--(0,0)--cycle;
thfill (.2cm,.2cm)--(2cm,0)--(0,0)--cycle;
thfill (-.2cm,-.2cm)--(-2cm,0)--(0,0)--cycle;
thfill (.2cm,.2cm)--(-0,2cm)--(0,0)--cycle
withcolor 1white;
thfill (.2cm,-.2cm)--(2cm,0)--(0,0)--cycle
withcolor 1white;
thfill (-.2cm,-.2cm)--(0,-2cm)--(0,0)--cycle
withcolor 1white;
thfill (-.2cm,.2cm)--(-2cm,0)--(0,0)--cycle
withcolor 1white;
pickup pencircle scaled .2;
thdraw
(-.2cm,.2cm)--(0,2cm)--(.2cm,.2cm)--(2cm,0cm)--(.2cm,-.2cm)--(0,-2cm)--(-.2c
m,-.2cm)--(-2cm,0)--cycle;
thfill fullcircle scaled .56cm withcolor 1white;
pickup pencircle scaled .1;
thdraw
(.28cm,0)..(0,.28cm)..(-.28cm,0)..(0,-.28cm)..cycle;
pickup pencircle scaled .4;
thdraw
(.2cm,0)..(0,.2cm)..(-.2cm,0)..(0,-.2cm)..cycle;
if (MagDecl = 0): label.bot(btex $Nmag$ etex,
(0,2.6cm)); else: label.bot(btex $N$ etex, (0,2.6cm)); fi;
label.lft(btex $E$ etex, (2.6cm,0));
label.rt(btex $W$ etex, (-2.6cm,0));
label.top(btex $S$ etex, (0,-2.6cm));
);
thdraw tmp_pic scaled valscal rotatedaround(origin, -rot);
enddef;
//dirk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20160627/eb998037/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.jpg
Type: image/jpeg
Size: 13969 bytes
Desc: image001.jpg
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20160627/eb998037/attachment.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image003.jpg
Type: image/jpeg
Size: 13739 bytes
Desc: image003.jpg
URL: <http://mailman.speleo.sk/pipermail/therion/attachments/20160627/eb998037/attachment-0001.jpg>
More information about the Therion
mailing list