aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/10/vektorfelder.mp
diff options
context:
space:
mode:
Diffstat (limited to 'vorlesungen/slides/10/vektorfelder.mp')
-rw-r--r--vorlesungen/slides/10/vektorfelder.mp361
1 files changed, 361 insertions, 0 deletions
diff --git a/vorlesungen/slides/10/vektorfelder.mp b/vorlesungen/slides/10/vektorfelder.mp
new file mode 100644
index 0000000..e63b2d5
--- /dev/null
+++ b/vorlesungen/slides/10/vektorfelder.mp
@@ -0,0 +1,361 @@
+%
+% Stroemungsfelder linearer Differentialgleichungen
+%
+% (c) 2015 Prof Dr Andreas Mueller, Hochschule Rapperswil
+% 2021-04-14, Roy Seitz, Copied for SeminarMatrizen
+%
+verbatimtex
+\documentclass{book}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{amsfonts}
+\usepackage{txfonts}
+\begin{document}
+etex;
+
+input TEX;
+
+TEXPRE("%&latex" & char(10) &
+"\documentclass{book}" &
+"\usepackage{times}" &
+"\usepackage{amsmath}" &
+"\usepackage{amssymb}" &
+"\usepackage{amsfonts}" &
+"\usepackage{txfonts}" &
+"\begin{document}");
+TEXPOST("\end{document}");
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% so(2)
+%
+beginfig(1)
+
+% Scaling parameter
+numeric unit;
+unit := 150;
+
+% Some points
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+% % Draw circles
+% for x = 0.2 step 0.2 until 1.4:
+% path p;
+% p = (x,0);
+% for a = 5 step 5 until 355:
+% p := p--(x*cosd(a), x*sind(a));
+% endfor;
+% p := p--cycle;
+% pickup pencircle scaled 1pt;
+% draw p scaled unit withcolor red;
+% endfor;
+
+% Define DGL
+def dglField(expr x, y) =
+ %(-0.5 * (x + y), -0.5 * (y - x))
+ (-y, x)
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% Euler(1)
+%
+beginfig(2)
+
+numeric unit;
+unit := 150;
+
+z0 = ( 0, 0);
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+def dglField(expr x, y) =
+ (-y, x)
+enddef;
+
+def dglFieldp(expr z) =
+ dglField(xpart z, ypart z)
+enddef;
+
+def curve(expr z, l, s) =
+ path p;
+ p := z;
+ for t = 0 step 1 until l:
+ p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p)));
+ endfor;
+ draw p scaled unit withcolor red;
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+curve(A, 0, 1);
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% Euler(2)
+%
+beginfig(3)
+
+numeric unit;
+unit := 150;
+
+z0 = ( 0, 0);
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+def dglField(expr x, y) =
+ (-y, x)
+enddef;
+
+def dglFieldp(expr z) =
+ dglField(xpart z, ypart z)
+enddef;
+
+def curve(expr z, l, s) =
+ path p;
+ p := z;
+ for t = 0 step 1 until l:
+ p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p)));
+ endfor;
+ draw p scaled unit withcolor red;
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+curve(A, 1, 0.5);
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% Euler(3)
+%
+beginfig(4)
+
+numeric unit;
+unit := 150;
+
+z0 = ( 0, 0);
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+def dglField(expr x, y) =
+ (-y, x)
+enddef;
+
+def dglFieldp(expr z) =
+ dglField(xpart z, ypart z)
+enddef;
+
+def curve(expr z, l, s) =
+ path p;
+ p := z;
+ for t = 0 step 1 until l:
+ p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p)));
+ endfor;
+ draw p scaled unit withcolor red;
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+curve(A, 3, 0.25);
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% Euler(4)
+%
+beginfig(5)
+
+numeric unit;
+unit := 150;
+
+z0 = ( 0, 0);
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+def dglField(expr x, y) =
+ (-y, x)
+enddef;
+
+def dglFieldp(expr z) =
+ dglField(xpart z, ypart z)
+enddef;
+
+def curve(expr z, l, s) =
+ path p;
+ p := z;
+ for t = 0 step 1 until l:
+ p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p)));
+ endfor;
+ draw p scaled unit withcolor red;
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+curve(A, 7, 0.125);
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+%
+% Vektorfeld in der Ebene mit Lösungskurve
+% Euler(5)
+%
+beginfig(6)
+
+numeric unit;
+unit := 150;
+
+z0 = ( 0, 0);
+z1 = (-1.5, 0) * unit;
+z2 = ( 1.5, 0) * unit;
+z3 = ( 0, -1.5) * unit;
+z4 = ( 0, 1.5) * unit;
+
+pickup pencircle scaled 1pt;
+drawarrow (z1 shifted (-10,0))--(z2 shifted (10,0));
+drawarrow (z3 shifted (0,-10))--(z4 shifted (0,10));
+label.top(btex $x_1$ etex, z2 shifted (10,0));
+label.rt(btex $x_2$ etex, z4 shifted (0,10));
+
+def dglField(expr x, y) =
+ (-y, x)
+enddef;
+
+def dglFieldp(expr z) =
+ dglField(xpart z, ypart z)
+enddef;
+
+def curve(expr z, l, s) =
+ path p;
+ p := z;
+ for t = 0 step 1 until l:
+ p := p--((point (length p) of p) shifted (s * dglFieldp(point (length p) of p)));
+ endfor;
+ draw p scaled unit withcolor red;
+enddef;
+
+pair A;
+A := (1, 0);
+draw A scaled unit withpen pencircle scaled 8bp withcolor red;
+curve(A, 99, 0.01);
+
+% Draw arrows for each grid point
+pickup pencircle scaled 0.5pt;
+for x = -1.5 step 0.1 until 1.55:
+ for y = -1.5 step 0.1 until 1.55:
+ drawarrow ((x, y) * unit)
+ --(((x,y) * unit) shifted (8 * dglField(x,y)))
+ withcolor blue;
+ endfor;
+endfor;
+
+endfig;
+
+
+end;