4.3 - Figur - Spegling i x-axeln

Förberedande kurs i matematik 1

(Skillnad mellan versioner)
Hoppa till: navigering, sök
(Ny sida: <noinclude>Detta är en figur som används i teoriavsnitt 4.3 och är ritad i språket [http://en.wikipedia.org/wiki/Metapost Metapost]. Du kan redigera bild...)
Rad 9: Rad 9:
verbatimtex \begin{document} etex
verbatimtex \begin{document} etex
-
vardef reflectarrow(expr pnt, direc) =
+
vardef reflectarrow(expr mid, alpha) =
-
save L, w, b, wee, ell, p_middle, p_lwr, p_upr, s, s_lwr, s_upr,
+
save h, r, extra_width, over_shoot, slim, creep_in, x,y , p,
-
p_left, p_right, p;
+
small_angle, tiny_angle;
-
+
h := 4pt;
-
L := 10pt; % Length of arrow
+
r := 3.5pt;
-
w := 3pt; % Width of arrow
+
extra_width := 1.5pt;
-
b := 6pt; % Bending of arrow
+
over_shoot := 1pt;
-
wee := 0.5pt; % Arrow tip extra width
+
slim := 0.3pt; %0.4pt; %0.7pt;
-
ell := 4pt; % Arrow tip length
+
creep_in := 0.4pt;
 +
small_angle := 20;
 +
tiny_angle := 10;
-
% Define middle line
+
z1 = (2r,r/2);
-
path p_middle;
+
z2 = (r-creep_in,r/2-slim);
-
p_middle := (0,b+w/2){right}..(L/2,0);
+
z3 = z2+(creep_in,slim+extra_width);
-
s := arctime ((arclength p_middle)-ell) of p_middle;
+
z4 = (-over_shoot,0);
 +
z5 = (x3,-y3);
 +
z6 = (x2,-y2);
 +
z0 = (x1,-y1);
-
% Define lower and upper lines
 
-
path p_lwr, p_upr;
 
-
p_lwr := (0,b){right}..(L/2,0);
 
-
p_upr := (0,b+w){right}..(L/2,0);
 
- 
-
% Find arrow tip times
 
path p;
path p;
-
p := point s of p_middle + (b+w)*((direction s of p_middle) rotated -90)
 
-
-- point s of p_middle + (b+w)*((direction s of p_middle) rotated 90);
 
-
s_lwr := xpart (p_lwr intersectiontimes p);
 
-
s_upr := xpart (p_upr intersectiontimes p);
 
- 
-
% Draw double lines
 
-
path q_lwr, q_upr;
 
-
q_lwr := subpath(0,s_lwr) of p_lwr;
 
-
q_upr := subpath(0,s_upr) of p_upr;
 
-
% Draw arrow tip
+
p := z1{left}..{left}z2
-
path q_tip;
+
& z2{up}..z3
-
q_tip := point s_lwr of p_lwr
+
& z3{dir ((angle (z4-z3))+small_angle)}
-
-- point s_lwr of p_lwr + wee*((direction s of p_middle) rotated -90)
+
..{dir ((angle (z4-z3))-small_angle)}z4
-
.. {direction 1 of p_lwr}(L/2,0)
+
& z4{dir ((angle (z5-z4))+small_angle)}
-
& (L/2,0){-(direction 1 of p_upr)}
+
..{dir ((angle (z5-z4))-small_angle)}z5
-
.. point s_upr of p_upr + wee*((direction s of p_middle) rotated 90)
+
& z5..{up}z6
-
-- point s_upr of p_upr;
+
& z6..{right}z0;
-
% Create double arrow
+
p := p -- (reverse (p reflectedabout ((2r,-1),(2r,1)))) -- cycle;
-
path q_dblarrow;
+
p := p shifted (-2r,-r/2);
-
q_dblarrow := q_lwr
+
-
-- q_tip
+
p := z0{dir (90+tiny_angle)}
-
-- (reverse q_upr)
+
..{dir (90-tiny_angle)}z1
-
-- (q_upr reflectedabout (origin,(0,1)))
+
& z1{left}..{left}z2
-
-- reverse (q_tip reflectedabout (origin,(0,1)))
+
& z2{up}..z3
-
-- reverse (q_lwr reflectedabout (origin,(0,1)))
+
& z3{dir ((angle (z4-z3))+small_angle)}
-
-- cycle;
+
..{dir ((angle (z4-z3))-small_angle)}z4
-
draw (q_dblarrow rotated ((angle direc)-90) shifted pnt);
+
& z4{dir ((angle (z5-z4))+small_angle)}
 +
..{dir ((angle (z5-z4))-small_angle)}z5
 +
& z5..{up}z6
 +
& z6..{right}z0
 +
& cycle;
 +
p := p shifted (-r,0);
 +
 +
p rotated alpha shifted mid
 +
enddef;
enddef;
Rad 115: Rad 113:
% The coordinate axes
% The coordinate axes
pickup pencircle scaled 0.4pt;
pickup pencircle scaled 0.4pt;
-
draw (-Lx_lft,0)--(3.1dx,0);
+
drawarrow (-Lx_lft,0)--(Lx_rt,0);
-
draw (3.1dx,0)--(3.9dx,0) withcolor 0.7[lightgrey,white];
+
-
drawarrow (3.9dx,0)--(Lx_rt,0);
+
label.rt(btex \small\strut $x$ etex, (Lx_rt,0));
label.rt(btex \small\strut $x$ etex, (Lx_rt,0));
drawarrow (0,-Ly_lwr)--(0,Ly_upr);
drawarrow (0,-Ly_lwr)--(0,Ly_upr);
Rad 143: Rad 139:
pickup pencircle scaled 0.6pt;
pickup pencircle scaled 0.6pt;
p_radius := (0,0)--R*2dx*(dir -v);
p_radius := (0,0)--R*2dx*(dir -v);
-
draw p_radius withcolor lightgrey dashed evenly;
+
draw p_radius dashed evenly;
pickup pencircle scaled 2.8pt;
pickup pencircle scaled 2.8pt;
-
drawdot point infinity of p_radius withcolor lightgrey;
+
drawdot point infinity of p_radius;
% The angle v
% The angle v
path p_angle;
path p_angle;
-
r := 0.55;
+
r := 0.7;
ahangle := 20; % Angle of the arrow tip
ahangle := 20; % Angle of the arrow tip
ahlength := 3bp; % Length of the arrow tip
ahlength := 3bp; % Length of the arrow tip
Rad 161: Rad 157:
picture p;
picture p;
p := thelabel.urt(btex $v$ etex, origin);
p := thelabel.urt(btex $v$ etex, origin);
-
draw p scaled 0.7 shifted (r*2dx*(dir 10));
+
draw p scaled 1.0 shifted (r*2dx*(dir 10));
% The angle -v
% The angle -v
path p_angle;
path p_angle;
-
r := 0.53;
+
r := 0.7;
ahangle := 20; % Angle of the arrow tip
ahangle := 20; % Angle of the arrow tip
ahlength := 3bp; % Length of the arrow tip
ahlength := 3bp; % Length of the arrow tip
Rad 174: Rad 170:
..{dir (-v-90)}r*2dx*(dir -v);
..{dir (-v-90)}r*2dx*(dir -v);
pickup pencircle scaled 0.2pt;
pickup pencircle scaled 0.2pt;
-
drawarrow endshy p_angle withcolor lightgrey;
+
drawarrow endshy p_angle;
picture p;
picture p;
p := thelabel.lrt(btex $-v$ etex, origin);
p := thelabel.lrt(btex $-v$ etex, origin);
-
draw p scaled 0.7 shifted (r*2dx*(dir -10));
+
draw p scaled 1.0 shifted (r*2dx*(dir -10)+(-1pt,-1pt));
% The double arrow
% The double arrow
 +
pickup pencircle scaled 3.0pt;
 +
draw reflectarrow((3.0dx,0),90) withcolor background;
pickup pencircle scaled 0.4pt;
pickup pencircle scaled 0.4pt;
-
reflectarrow((2.6dx,0),(1,0));
+
draw reflectarrow((3.0dx,0),90);
 +
%pickup pencircle scaled 0.4pt;
 +
%drawdblarrow (3dx,-dy)--(3dx,dy);
% Rescale the image
% Rescale the image

Versionen från 23 mars 2008 kl. 13.08

Detta är en figur som används i teoriavsnitt 4.3 och är ritad i språket Metapost. Du kan redigera bilden genom att klicka på redigera-fliken.


[Image]