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 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 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
|
% experimental2Dsetup.mp
% L. Nobre G.
% 2002
verbatimtex
\documentclass{article}
\usepackage{palatino}
\usepackage{concmath}
\usepackage{ccfonts}
\begin{document}
etex
beginfig(1);
% linecap := squared;
numeric salto, shif, rotang, cfac, posang;
numeric innerray, outerray, midleray, thebiray, otherray;
numeric midmidcir, midotharc, lblfac, wavecray, midwavarc;
path loricir, roricir, baserec, sampleh, wavecarc;
path innercirc, outercirc, midlecirc, otherarch;
path oridirh, oridirn, oridirp, oridirv, oridire;
path dirhoriz, dirnegat, dirposit, dirverti, direff;
path lowcut, higcut, glassre, wavecarch, field;
pair midmidcirpos, midotharcpos, midwavarcpos, mideffcirpos;
pen thickpen;
color samplecolor, magnetcolor, samplebordercolor;
picture lblpiplu, lblalpha, lblwavec, lblqu, lblno, lblfield;
numeric hei, wid, thi, pro, pol, mar;
path themagnet, effcirc, diry, oridiry;
numeric circleray, squareray, glasssize, effang, effraya, effrayb;
picture lblx, lbly, lbleff;
numeric mideffcir, yray;
pair lastoridire;
pickup pencircle scaled 0.15mm;
thickpen = pencircle scaled 1.7bp;
samplecolor = 0.88white;
magnetcolor = 0.37white;
samplebordercolor = 0.1white;
% samplecolor = (0.85,0.9,0.8);
% magnetcolor = (0.2,0.27,0.58);
% samplebordercolor = blue;
salto = 1mm;
rotang = 7;
posang = -28;
effang = -20;
shif = 50salto;
thi = 5salto;
pol = 25salto;
pro = 8salto;
wid = 58salto;
cfac = 0.5;
lblfac = 1.5;
innerray = 27salto;
circleray = 0.93innerray;
squareray = 0.93circleray;
glasssize = 0.42squareray;
outerray = 60salto;
midleray = 55salto;
yray = 53salto;
thebiray = 145salto;
otherray = 115salto;
wavecray = 0.5*(thebiray+otherray);
effraya = 0.45*(midleray+otherray);
effrayb = 0.56*(midleray+otherray);
innercirc = fullcircle scaled innerray;
outercirc = fullcircle scaled outerray;
midlecirc = (halfcircle cutbefore (origin--dir(90+posang)))
scaled midleray;
midmidcir = 0.5*length midlecirc;
midmidcirpos = point midmidcir of midlecirc;
effcirc = ((halfcircle cutbefore (origin--dir(90+effang)))
cutafter (origin--up))
scaled effraya;
mideffcir = 0.5*length effcirc;
mideffcirpos = point mideffcir of effcirc;
otherarch = ((halfcircle cutbefore (origin--dir(90+posang)))
cutafter (origin--up))
scaled otherray;
midotharc = 0.5*length otherarch;
midotharcpos = point midotharc of otherarch;
wavecarch = ((halfcircle cutafter (origin--dir(90+rotang)))
cutbefore (origin--up))
scaled wavecray;
midwavarc = 0.5*length wavecarch;
midwavarcpos = point midwavarc of wavecarch;
oridirh = origin--0.5*outerray*left;
oridirv = origin--0.5*thebiray*up;
oridirn = origin--0.5*thebiray*dir(90+rotang);
oridirp = origin--0.5*wavecray*dir(90+posang);
oridiry = origin--0.5*yray*dir(180+posang);
lastoridire = 0.5*effrayb*dir(90+effang);
oridire = origin--lastoridire;
dirhoriz = oridirh cutbefore innercirc;
dirverti = oridirv cutbefore innercirc;
dirnegat = oridirn cutbefore innercirc;
dirposit = oridirp cutbefore innercirc;
direff = oridire cutbefore innercirc;
diry = oridiry cutbefore innercirc;
field = (0.5innerray,0)--(0.5wid-salto,0);
loricir = halfcircle scaled circleray rotated 90;
roricir = halfcircle scaled circleray rotated 270;
baserec = (unitsquare shifted (-0.5*(1,1)))
xscaled 2
scaled squareray;
glassre = (unitsquare shifted (-0.5*(1,1)))
yscaled (13.0/6.0)
scaled glasssize;
lowcut = subpath (0,1) of baserec;
higcut = subpath (2,3) of baserec;
sampleh = buildcycle( higcut, loricir, reverse lowcut, roricir );
draw glassre rotated 90 dashed evenly withcolor (cfac*white);
% draw glassre rotated rotang dashed evenly withcolor (cfac*(white-blue));
fill glassre rotated posang withcolor samplecolor;
draw glassre rotated posang withcolor samplebordercolor;
draw sampleh rotated posang withpen thickpen withcolor blue;
drawarrow reverse midlecirc;
drawarrow reverse otherarch;
drawarrow wavecarch;
drawarrow reverse effcirc;
draw dirhoriz dashed evenly scaled 2;
draw dirverti dashed evenly scaled 2;
drawarrow dirnegat withpen thickpen;
drawarrow dirposit withpen thickpen;
drawarrow direff withpen thickpen;
drawarrow reverse field withpen thickpen;
drawarrow direff withpen thickpen;
drawarrow diry withpen thickpen;
lblpiplu = btex $\alpha = \frac{\pi}{2}+\beta$ etex scaled lblfac;
lblalpha = btex $\beta$ etex scaled lblfac;
lblwavec = btex $\Psi$ etex scaled lblfac;
lblqu = btex $\vec{q}\,$ etex scaled lblfac;
lblno = btex $\vec{n}_0$ etex scaled lblfac;
lblfield = btex $\vec{B}$ etex scaled lblfac;
lblx = btex $x$ etex scaled lblfac;
lbly = btex $y$ etex scaled lblfac;
lbleff = btex $\beta_{\mbox{\small eff}}$ etex scaled lblfac;
label.ulft( lblpiplu, midmidcirpos );
label.top( lblalpha, midotharcpos );
label.top( lblwavec, midwavarcpos );
label.llft( lblqu, point 0.7 of dirnegat );
label.lrt( lblx, point 0.7 of dirposit );
label.top( lblfield, point 0.5 of field );
label.llft( lbly, point 0.5 of diry );
label.top( lbleff, mideffcirpos );
label.top( lblno, lastoridire );
hei = pol+4thi;
mar = (hei-2*thi-pol)*0.5;
z100 = (pro,mar);
z0 = (wid,pol)*0.5;
z1 = z0 + z100;
z2 = z1 + (thi,0);
z3 = (xpart z2, pol*0.5+mar-hei);
z4 = (-xpart z2, ypart z3);
z5 = (-xpart z2, ypart z2);
z6 = (-xpart z1, ypart z1);
z7 = (-xpart z0, ypart z0);
z8 = (xpart z7, -pol*0.5);
z9 = z8 - z100;
z10 = z9 - (0,thi);
z11= (xpart z1, ypart z10);
z12= z11+ (0,thi);
z13= (xpart z0, -ypart z0);
themagnet = z0--z1--z2--z3--z4--z5--z6--z7--
z8--z9--z10--z11--z12--z13--cycle;
fill themagnet withcolor magnetcolor;
draw themagnet withpen thickpen;
endfig;
verbatimtex
\end{document}
etex
end;
|