aboutsummaryrefslogtreecommitdiffstats
path: root/vorlesungen/slides/7
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2021-05-06 17:57:06 +0200
committerAndreas Müller <andreas.mueller@ost.ch>2021-05-06 17:57:06 +0200
commita90d54e578b7d309ba680d5fd5f6c8721b082096 (patch)
tree49bd3c1f686aa7035cc513d56aad7733efb3c111 /vorlesungen/slides/7
parentadd slide (diff)
downloadSeminarMatrizen-a90d54e578b7d309ba680d5fd5f6c8721b082096.tar.gz
SeminarMatrizen-a90d54e578b7d309ba680d5fd5f6c8721b082096.zip
new slide
Diffstat (limited to 'vorlesungen/slides/7')
-rw-r--r--vorlesungen/slides/7/Makefile.inc2
-rw-r--r--vorlesungen/slides/7/chapter.tex2
-rw-r--r--vorlesungen/slides/7/images/Makefile12
-rw-r--r--vorlesungen/slides/7/images/interpolation.ini8
-rw-r--r--vorlesungen/slides/7/images/interpolation.m54
-rw-r--r--vorlesungen/slides/7/images/interpolation.pov10
-rw-r--r--vorlesungen/slides/7/images/test.pov7
-rw-r--r--vorlesungen/slides/7/interpolation.tex105
8 files changed, 199 insertions, 1 deletions
diff --git a/vorlesungen/slides/7/Makefile.inc b/vorlesungen/slides/7/Makefile.inc
index 52c37d8..4d291ed 100644
--- a/vorlesungen/slides/7/Makefile.inc
+++ b/vorlesungen/slides/7/Makefile.inc
@@ -21,6 +21,8 @@ chapter5 = \
../slides/7/kommutator.tex \
../slides/7/bch.tex \
../slides/7/dg.tex \
+ ../slides/7/interpolation.tex \
+ ../slides/7/exponentialreihe.tex \
../slides/7/zusammenhang.tex \
../slides/7/quaternionen.tex \
../slides/7/qdreh.tex \
diff --git a/vorlesungen/slides/7/chapter.tex b/vorlesungen/slides/7/chapter.tex
index 172b78a..36e0bb1 100644
--- a/vorlesungen/slides/7/chapter.tex
+++ b/vorlesungen/slides/7/chapter.tex
@@ -20,6 +20,8 @@
\folie{7/kommutator.tex}
\folie{7/bch.tex}
\folie{7/dg.tex}
+\folie{7/interpolation.tex}
+\folie{7/exponentialreihe.tex}
\folie{7/zusammenhang.tex}
\folie{7/quaternionen.tex}
\folie{7/qdreh.tex}
diff --git a/vorlesungen/slides/7/images/Makefile b/vorlesungen/slides/7/images/Makefile
index cc67c8a..6f99bc3 100644
--- a/vorlesungen/slides/7/images/Makefile
+++ b/vorlesungen/slides/7/images/Makefile
@@ -3,7 +3,7 @@
#
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
-all: rodriguez.jpg
+all: rodriguez.jpg test.png
rodriguez.png: rodriguez.pov
povray +A0.1 -W1920 -H1080 -Orodriguez.png rodriguez.pov
@@ -16,4 +16,14 @@ commutator: commutator.ini commutator.pov common.inc
jpg:
for f in c/c*.png; do convert $${f} c/`basename $${f} .png`.jpg; done
+dreibein/timestamp: interpolation.m
+ octave interpolation.m
+ touch dreibein/timestamp
+test.png: test.pov drehung.inc dreibein/d025.inc dreibein/timestamp
+ povray +A0.1 -W1080 -H1080 -Otest.png test.pov
+
+dreibein/d025.inc: dreibein/timestamp
+
+animation:
+ povray +A0.1 -W1080 -H1080 -Ointerpolation/i.png interpolation.ini
diff --git a/vorlesungen/slides/7/images/interpolation.ini b/vorlesungen/slides/7/images/interpolation.ini
new file mode 100644
index 0000000..f07c079
--- /dev/null
+++ b/vorlesungen/slides/7/images/interpolation.ini
@@ -0,0 +1,8 @@
+Input_File_Name=interpolation.pov
+Initial_Frame=0
+Final_Frame=50
+Initial_Clock=0
+Final_Clock=50
+Cyclic_Animation=off
+Pause_when_Done=off
+
diff --git a/vorlesungen/slides/7/images/interpolation.m b/vorlesungen/slides/7/images/interpolation.m
new file mode 100644
index 0000000..31554e8
--- /dev/null
+++ b/vorlesungen/slides/7/images/interpolation.m
@@ -0,0 +1,54 @@
+#
+# interpolation.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+global N;
+N = 50;
+global A;
+global B;
+
+A = (pi / 2) * [
+ 0, 0, 0;
+ 0, 0, -1;
+ 0, 1, 0
+];
+g0 = expm(A)
+
+B = (pi / 2) * [
+ 0, 0, 1;
+ 0, 0, 0;
+ -1, 0, 0
+];
+g1 = expm(B)
+
+function retval = g(t)
+ global A;
+ global B;
+ retval = expm((1-t)*A+t*B);
+endfunction
+
+function dreibein(fn, M, funktion)
+ fprintf(fn, "%s(<%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>, <%.4f,%.4f,%.4f>)\n",
+ funktion,
+ M(1,1), M(3,1), M(2,1),
+ M(1,2), M(3,2), M(2,2),
+ M(1,3), M(3,3), M(2,3));
+endfunction
+
+G = g1 * inverse(g0);
+[V, lambda] = eig(G);
+H = real(V(:,3));
+
+D = logm(g1*inverse(g0));
+
+for i = (0:N)
+ filename = sprintf("dreibein/d%03d.inc", i);
+ fn = fopen(filename, "w");
+ t = i/N;
+ dreibein(fn, g(t), "quadrant");
+ dreibein(fn, expm(t*D)*g0, "drehung");
+ fprintf(fn, "achse(<%.4f,%.4f,%.4f>)\n", H(1,1), H(3,1), H(2,1));
+ fclose(fn);
+endfor
+
diff --git a/vorlesungen/slides/7/images/interpolation.pov b/vorlesungen/slides/7/images/interpolation.pov
new file mode 100644
index 0000000..71e0257
--- /dev/null
+++ b/vorlesungen/slides/7/images/interpolation.pov
@@ -0,0 +1,10 @@
+//
+// commutator.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "drehung.inc"
+
+#declare filename = concat("dreibein/d", str(clock, -3, 0), ".inc");
+#include filename
+
diff --git a/vorlesungen/slides/7/images/test.pov b/vorlesungen/slides/7/images/test.pov
new file mode 100644
index 0000000..5707be1
--- /dev/null
+++ b/vorlesungen/slides/7/images/test.pov
@@ -0,0 +1,7 @@
+//
+// test.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#include "drehung.inc"
+#include "dreibein/d025.inc"
diff --git a/vorlesungen/slides/7/interpolation.tex b/vorlesungen/slides/7/interpolation.tex
new file mode 100644
index 0000000..3d40d7b
--- /dev/null
+++ b/vorlesungen/slides/7/interpolation.tex
@@ -0,0 +1,105 @@
+%
+% interpolation.tex -- slide template
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\bgroup
+\def\bild#1#2{\only<#1|handout:0>{\includegraphics[width=\textwidth]{../slides/7/images/interpolation/#2.png}}}
+\begin{frame}[t]
+\setlength{\abovedisplayskip}{5pt}
+\setlength{\belowdisplayskip}{5pt}
+\frametitle{Interpolation}
+\vspace{-20pt}
+\begin{columns}[t,onlytextwidth]
+\begin{column}{0.48\textwidth}
+\begin{block}{Aufgabe}
+Finde einen Weg $g(t)\in \operatorname{SO}(3)$ zwischen
+$g_0\in\operatorname{SO}(3)$
+und
+$g_1\in\operatorname{SO}(3)$:
+\[
+g_0=g(0)
+\quad\wedge\quad
+g_1=g(1)
+\]
+\end{block}
+\vspace{-10pt}
+\uncover<2->{%
+\begin{block}{Lösung}
+$g_i=\exp(A_i) \uncover<3->{\Rightarrow A_i^t=-A_i}$
+\begin{align*}
+\uncover<4->{A(t) &= (1-t)A_0 + tA_1}\uncover<8->{ \in \operatorname{so}(3)}
+\\
+\uncover<5->{A(t)^t
+&=(1-t)A_0^t + tA_1^t}
+\\
+&\uncover<6->{=
+-(1-t)A_0 - t A_1}
+\uncover<7->{=
+-A(t)}
+\\
+\uncover<9->{\Rightarrow
+g(t) &= \exp A(t) \in \operatorname{SO}(3)}
+\end{align*}
+\end{block}}
+\end{column}
+\begin{column}{0.48\textwidth}
+\uncover<10->{%
+\begin{block}{Animation}
+\centering
+\bild{11}{i00}
+\bild{12}{i01}
+\bild{13}{i02}
+\bild{14}{i03}
+\bild{15}{i04}
+\bild{16}{i05}
+\bild{17}{i06}
+\bild{18}{i07}
+\bild{19}{i08}
+\bild{20}{i09}
+\bild{21}{i10}
+\bild{22}{i11}
+\bild{23}{i12}
+\bild{24}{i13}
+\bild{25}{i14}
+\bild{26}{i15}
+\bild{27}{i16}
+\bild{28}{i17}
+\bild{29}{i18}
+\bild{30}{i19}
+\bild{31}{i20}
+\bild{32}{i21}
+\bild{33}{i22}
+\bild{34}{i23}
+\bild{35}{i24}
+\bild{36}{i25}
+\bild{37}{i26}
+\bild{38}{i27}
+\bild{39}{i28}
+\bild{40}{i29}
+\bild{41}{i30}
+\bild{42}{i31}
+\bild{43}{i32}
+\bild{44}{i33}
+\bild{45}{i34}
+\bild{46}{i35}
+\bild{47}{i36}
+\bild{48}{i37}
+\bild{49}{i38}
+\bild{50}{i39}
+\bild{51}{i40}
+\bild{52}{i41}
+\bild{53}{i42}
+\bild{54}{i43}
+\bild{55}{i44}
+\bild{56}{i45}
+\bild{57}{i46}
+\bild{58}{i47}
+\bild{59}{i48}
+\bild{60}{i49}
+\bild{61}{i50}
+\end{block}}
+\end{column}
+\end{columns}
+\end{frame}
+\egroup