aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/95-homologie/images
diff options
context:
space:
mode:
Diffstat (limited to 'buch/chapters/95-homologie/images')
-rw-r--r--buch/chapters/95-homologie/images/Makefile35
-rw-r--r--buch/chapters/95-homologie/images/approx.m77
-rw-r--r--buch/chapters/95-homologie/images/approximation.pdfbin0 -> 32134 bytes
-rw-r--r--buch/chapters/95-homologie/images/approximation.tex69
-rw-r--r--buch/chapters/95-homologie/images/complexbasis.pdfbin0 -> 27033 bytes
-rw-r--r--buch/chapters/95-homologie/images/complexbasis.tex158
-rw-r--r--buch/chapters/95-homologie/images/gausshomobasis.pdfbin0 -> 24156 bytes
-rw-r--r--buch/chapters/95-homologie/images/gausshomobasis.tex109
-rw-r--r--buch/chapters/95-homologie/images/gausshomoex.pdfbin0 -> 15128 bytes
-rw-r--r--buch/chapters/95-homologie/images/gausshomoex.tex120
-rw-r--r--buch/chapters/95-homologie/images/homoboundaries.pdfbin0 -> 17362 bytes
-rw-r--r--buch/chapters/95-homologie/images/homoboundaries.tex115
-rw-r--r--buch/chapters/95-homologie/images/homoclasses.pdfbin0 -> 11791 bytes
-rw-r--r--buch/chapters/95-homologie/images/homoclasses.tex109
-rw-r--r--buch/chapters/95-homologie/images/homocycles.pdfbin0 -> 17039 bytes
-rw-r--r--buch/chapters/95-homologie/images/homocycles.tex170
-rw-r--r--buch/chapters/95-homologie/images/tetraeder.jpgbin0 -> 68762 bytes
-rw-r--r--buch/chapters/95-homologie/images/tetraeder.pdfbin0 -> 84492 bytes
-rw-r--r--buch/chapters/95-homologie/images/tetraeder.pov116
-rw-r--r--buch/chapters/95-homologie/images/tetraeder.tex97
20 files changed, 1174 insertions, 1 deletions
diff --git a/buch/chapters/95-homologie/images/Makefile b/buch/chapters/95-homologie/images/Makefile
index ac964ff..0a3979e 100644
--- a/buch/chapters/95-homologie/images/Makefile
+++ b/buch/chapters/95-homologie/images/Makefile
@@ -3,7 +3,9 @@
#
# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
#
-all: dreieck.pdf polyeder.pdf
+all: complexbasis.pdf homocycles.pdf homoboundaries.pdf homoclasses.pdf \
+ gausshomoex.pdf gausshomobasis.pdf dreieck.pdf polyeder.pdf \
+ approximation.pdf tetraeder.pdf
dreieck.pdf: dreieck.tex
pdflatex dreieck.tex
@@ -11,3 +13,34 @@ dreieck.pdf: dreieck.tex
polyeder.pdf: polyeder.tex
pdflatex polyeder.tex
+gausshomobasis.pdf: gausshomobasis.tex
+ pdflatex gausshomobasis.tex
+
+gausshomoex.pdf: gausshomoex.tex
+ pdflatex gausshomoex.tex
+
+homocycles.pdf: homocycles.tex
+ pdflatex homocycles.tex
+
+homoboundaries.pdf: homoboundaries.tex
+ pdflatex homoboundaries.tex
+
+homoclasses.pdf: homoclasses.tex
+ pdflatex homoclasses.tex
+
+complexbasis.pdf: complexbasis.tex
+ pdflatex complexbasis.tex
+
+approximation.pdf: approximation.tex approx.tex
+ pdflatex approximation.tex
+
+approx.tex: approx.m
+ octave approx.m
+
+tetraeder.png: tetraeder.pov
+ povray +A0.1 -W1920 -H1080 -O$@ $<
+tetraeder.jpg: tetraeder.png Makefile
+ convert -extract 1080x1080+520 tetraeder.png tetraeder.jpg
+tetraeder.pdf: tetraeder.tex tetraeder.jpg
+ pdflatex tetraeder.tex
+
diff --git a/buch/chapters/95-homologie/images/approx.m b/buch/chapters/95-homologie/images/approx.m
new file mode 100644
index 0000000..0db41c2
--- /dev/null
+++ b/buch/chapters/95-homologie/images/approx.m
@@ -0,0 +1,77 @@
+#
+# approx.m
+#
+# (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+#
+x = zeros(7,7);
+y = zeros(7,7);
+
+s = 1.05;
+
+for i = (1:7)
+ winkel = (i-1) * 8.333333 + 20;
+ for j = (1:7)
+ radius = (j-1) * 0.5 + 3;
+ x(i,j) = 1.05 * radius * cosd(winkel);
+ y(i,j) = 1.05 * radius * sind(winkel);
+ endfor
+endfor
+
+X = x;
+Y = y;
+for i = (1:7)
+ for j = (1:7)
+ X(i,j) = round(2 * x(i,j)) / 2;
+ Y(i,j) = round(2 * y(i,j)) / 2;
+ endfor
+endfor
+
+fn = fopen("approx.tex", "w");
+
+
+for i = (1:6)
+ for j = (1:6)
+ winkel = (i-1+0.6666) * 8.33333 + 20;
+ radius = (j-1+0.3333) * 0.5 + 3;
+ fprintf(fn, "\\definecolor{mycolor}{rgb}{%.2f,%.2f,%.2f};\n",
+ (winkel - 20) / 50, 0.8, (radius-3)/3);
+ fprintf(fn, "\\fill[color=mycolor] (%.3f,%.3f) -- (%.3f,%.3f) -- (%.3f,%.3f) -- cycle;\n",
+ X(i,j), Y(i,j),
+ X(i+1,j+1), Y(i+1,j+1),
+ X(i+1,j), Y(i+1,j));
+ winkel = (i-1+0.3333) * 8.33333 + 20;
+ radius = (j-1+0.6666) * 0.5 + 3;
+ fprintf(fn, "\\definecolor{mycolor}{rgb}{%.2f,%.2f,%.2f};\n",
+ (winkel - 20) / 50, 0.8, (radius-3)/3);
+ fprintf(fn, "\\fill[color=mycolor] (%.3f,%.3f) -- (%.3f,%.3f) -- (%.3f,%.3f) -- cycle;\n",
+ X(i,j), Y(i,j),
+ X(i,j+1), Y(i,j+1),
+ X(i+1,j+1), Y(i+1,j+1));
+ endfor
+endfor
+
+linewidth = 0.4;
+
+fprintf(fn, "\\gitter\n");
+
+for i = (1:7)
+ for j = (1:6)
+ fprintf(fn, "\\draw[color=darkred,line width=%.1fpt] (%.3f,%.3f) -- (%.3f,%.3f);\n", linewidth,
+ X(i,j), Y(i,j), X(i,j+1), Y(i,j+1));
+ endfor
+endfor
+for i = (1:6)
+ for j = (1:7)
+ fprintf(fn, "\\draw[color=darkred,line width=%.1fpt] (%.3f,%.3f) -- (%.3f,%.3f);\n", linewidth,
+ X(i,j), Y(i,j), X(i+1,j), Y(i+1,j));
+ endfor
+endfor
+for i = (1:6)
+ for j = (1:6)
+ fprintf(fn, "\\draw[color=darkred,line width=%.1fpt] (%.3f,%.3f) -- (%.3f,%.3f);\n", linewidth,
+ X(i,j), Y(i,j), X(i+1,j+1), Y(i+1,j+1));
+ endfor
+endfor
+
+fclose(fn)
+
diff --git a/buch/chapters/95-homologie/images/approximation.pdf b/buch/chapters/95-homologie/images/approximation.pdf
new file mode 100644
index 0000000..8bdd2e7
--- /dev/null
+++ b/buch/chapters/95-homologie/images/approximation.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/approximation.tex b/buch/chapters/95-homologie/images/approximation.tex
new file mode 100644
index 0000000..042f0e2
--- /dev/null
+++ b/buch/chapters/95-homologie/images/approximation.tex
@@ -0,0 +1,69 @@
+%
+% approximation.tex -- Approximation einer Abbildung durch eine simpliziale
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1.3}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkred}{rgb}{0.8,0,0}
+\definecolor{darkred}{rgb}{0,0,0}
+
+\def\gitter{
+ \foreach \x in {1,1.5,...,6}{
+ \draw[color=gray] (\x,1) -- (\x,6);
+ \draw[color=gray] (1,\x) -- (6,\x);
+ }
+}
+
+\def\s{1.05}
+
+\def\colorsector{
+ \foreach \r in {3,3.2,...,5.8}{
+ \foreach \a in {20,...,69}{
+ \pgfmathparse{(\a-20)/50}
+ \xdef\rot{\pgfmathresult}
+ \pgfmathparse{(\r-3)/3}
+ \xdef\blau{\pgfmathresult}
+ \definecolor{mycolor}{rgb}{\rot,0.8,\blau}
+ \fill[color=mycolor]
+ (\a:{\s*\r}) -- (\a:{\s*(\r+0.2)}) -- ({\a+1}:{\s*(\r+0.2)}) -- ({\a+1}:{\s*\r}) -- cycle;
+ }
+ }
+}
+
+\begin{scope}[xshift=0cm]
+\colorsector
+\gitter
+\foreach \r in {3,3.5,...,6.0}{
+ \draw[color=black,line width=0.4pt] (20:{\s*\r}) arc (20:70:{\s*\r});
+}
+\foreach \a in {20,28.3333,...,70}{
+ \draw[color=black,line width=0.4pt] (\a:{\s*3}) -- (\a:{\s*6});
+}
+\begin{scope}
+\clip (20:{\s*3}) -- (20:{\s*6}) arc (20:70:{\s*6}) -- (70:{\s*3});
+\foreach \a in {-5,...,5}{
+ \draw[color=black,line width=0.4pt]
+ plot[domain={20+8.33333*\a}:{70+8.3333*\a},samples=100]
+ (\x:{\s*(3+3*(\x-(20+8.3333*\a))/50)});
+}
+\end{scope}
+
+\end{scope}
+
+\begin{scope}[xshift=5.5cm]
+\input{approx.tex}
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/complexbasis.pdf b/buch/chapters/95-homologie/images/complexbasis.pdf
new file mode 100644
index 0000000..9ff6709
--- /dev/null
+++ b/buch/chapters/95-homologie/images/complexbasis.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/complexbasis.tex b/buch/chapters/95-homologie/images/complexbasis.tex
new file mode 100644
index 0000000..bab89d2
--- /dev/null
+++ b/buch/chapters/95-homologie/images/complexbasis.tex
@@ -0,0 +1,158 @@
+%
+% complexbasis.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\usetikzlibrary{decorations.pathreplacing}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+
+\def\s{0.5}
+\def\h{0.02}
+
+\def\rechteck#1#2#3{
+ \fill[color=#3!20,rounded corners=2pt]
+ ({-\s+\h},{(2*(#1)-1)*\s+\h})
+ rectangle
+ ({\s-\h},{(2*(#2)+1)*\s-\h});
+ \draw[color=#3,rounded corners=2pt]
+ ({-\s+\h},{(2*(#1)-1)*\s+\h})
+ rectangle
+ ({\s-\h},{(2*(#2)+1)*\s-\h});
+ \foreach \y in {{#1},...,{#2}}{
+ \fill[color=#3] (0,{2*\y*\s}) circle[radius=0.05];
+ }
+}
+\def\Rechteck#1#2{
+ \draw[rounded corners=3pt]
+ ({-\s-\h},{(2*(#1)-1)*\s-\h})
+ rectangle
+ ({\s+\h},{(2*(#2)+1)*\s+\h});
+}
+
+\def\abbildung#1#2#3#4{
+ \fill[color=gray!20]
+ ({\s+\h},{(2*(#1)+1)*\s})
+ --
+ ({3.5-\s-\h},{-\s})
+ --
+ ({3.5-\s-\h},{(2*(#3)+1)*\s})
+ --
+ ({\s+\h},{(2*(#1)+1)*\s})
+ --
+ cycle;
+ \fill[color=gray!40]
+ ({\s+\h},{(2*(#1+1)-1)*\s})
+ --
+ ({3.5-\s-\h},{(2*(#3+1)-1)*\s})
+ --
+ ({3.5-\s-\h},{(2*(#4)+1)*\s})
+ --
+ ({\s+\h},{(2*(#2)+1)*\s})
+ --
+ cycle;
+ \draw[<-,color=gray]
+ ({\s+\h},{(2*(#1+1)-1)*\s})
+ --
+ ({3.5-\s-\h},{(2*(#3+1)-1)*\s});
+ \draw[->,color=gray]
+ ({3.5-\s-\h},{(2*(#4)+1)*\s})
+ --
+ ({\s+\h},{(2*(#2)+1)*\s});
+ \draw[<-,color=gray!40]
+ ({\s+\h},{(2*(#1)+1)*\s})
+ --
+ ({3.5-\s-\h},{-\s});
+}
+
+\clip ({-3.5-1.7},-1.2) rectangle ({7+1.7},11.7);
+
+\begin{scope}[xshift=-7cm]
+ \abbildung{6}{7}{10}{11}
+\end{scope}
+
+\begin{scope}[xshift=-3.5cm]
+ \abbildung{6}{10}{7}{11}
+ \rechteck{0}{6}{red}
+ \rechteck{7}{10}{darkgreen}
+ \rechteck{11}{11}{blue}
+ \Rechteck{0}{11}
+ \node[color=darkgreen] at ({0},{(9*2-1)*\s}) {$B_{k-2\mathstrut}$};
+ \node at (1.75,{9*2*\s}) {$\Delta_{k-1}$};
+ \node at (1.75,{-\s}) [above] {$\partial_{k-1\mathstrut}$};
+ \draw[decorate,decoration={brace,amplitude=4pt}]
+ ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*10+1)*\s});
+ \node at ({-\s-0.17},{10*\s}) [left] {$Z_{k-2\mathstrut}$};
+ \node at (0,{-\s}) [below] {$C_{k-2\mathstrut}$};
+\end{scope}
+
+\begin{scope}
+ \abbildung{2}{7}{5}{10}
+ \rechteck{8}{11}{blue}
+ \rechteck{3}{7}{darkgreen}
+ \rechteck{0}{2}{red}
+ \Rechteck{0}{11}
+ \node at (0,{-\s}) [below] {$C_{k-1\mathstrut}$};
+ \node[color=darkgreen] at ({0},{(5*2-1)*\s}) {$B_{k-1\mathstrut}$};
+ \node at (1.75,{6.5*2*\s}) {$\Delta_k$};
+ \node at (1.75,{-\s}) [above] {$\partial_{k\mathstrut}$};
+ \draw[decorate,decoration={brace,amplitude=4pt}]
+ ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*7+1)*\s});
+ \node at ({-\s-0.17},{7*\s}) [left] {$Z_{k-1\mathstrut}$};
+\end{scope}
+
+\begin{scope}[xshift=3.5cm]
+ \abbildung{3}{5}{5}{7}
+ \rechteck{6}{10}{blue}
+ \rechteck{4}{5}{darkgreen}
+ \rechteck{0}{3}{red}
+ \Rechteck{0}{10}
+ \node at (0,{-\s}) [below] {$C_{k\mathstrut}$};
+ \node[color=darkgreen] at ({-0.25},{9*\s})
+ {$B_{k\mathstrut}$};
+ \node[color=darkgreen] at (0.24,{2*4*\s}) {$b_1$};
+ \node[color=darkgreen] at (0.24,{2*4.5*\s+0.1}) {$\vdots$};
+ \node[color=darkgreen] at (0.24,{2*5*\s}) {$b_r$};
+ \node[color=red] at (0.24,{2*0*\s}) {$z_1$};
+ \node[color=red] at (0.24,{2*1*\s}) {$z_2$};
+ \node[color=red] at (0.24,{2*2*\s+0.1}) {$\vdots$};
+ \node[color=red] at (0.24,{2*3*\s}) {$z_l$};
+ \node[color=blue] at (0.24,{2*6*\s}) {$c_1$};
+ \node[color=blue] at (0.24,{2*7*\s}) {$c_2$};
+ \node[color=blue] at (0.24,{2*8*\s}) {$c_3$};
+ \node[color=blue] at (0.24,{2*9*\s}) {$\vdots$};
+ \node[color=blue] at (0.24,{2*10*\s}) {$c_s$};
+ \node at (1.75,{5.5*2*\s}) {$\Delta_{k+1}$};
+ \node at (1.75,{-\s}) [above] {$\partial_{k+1\mathstrut}$};
+ \draw[decorate,decoration={brace,amplitude=4pt}]
+ ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*5+1)*\s});
+ \node at ({-\s-0.17},{5*\s}) [left] {$Z_{k\mathstrut}$};
+\end{scope}
+
+\begin{scope}[xshift=7cm]
+ \abbildung{0}{5}{4}{8}
+ \rechteck{5}{7}{blue}
+ \rechteck{1}{5}{darkgreen}
+ \rechteck{0}{0}{red}
+ \Rechteck{0}{7}
+ \node at (0,{-\s}) [below] {$C_{k+1\mathstrut}$};
+ \node[color=darkgreen] at ({0},{(2.0*2+1)*\s})
+ {$B_{k+1\mathstrut}$};
+ \draw[decorate,decoration={brace,amplitude=4pt}]
+ ({-\s-0.1},{-\s}) -- ({-\s-0.1},{(2*5+1)*\s});
+ \node at ({-\s-0.17},{5*\s}) [left] {$Z_{k+1\mathstrut}$};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/gausshomobasis.pdf b/buch/chapters/95-homologie/images/gausshomobasis.pdf
new file mode 100644
index 0000000..07414bb
--- /dev/null
+++ b/buch/chapters/95-homologie/images/gausshomobasis.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/gausshomobasis.tex b/buch/chapters/95-homologie/images/gausshomobasis.tex
new file mode 100644
index 0000000..ba21f54
--- /dev/null
+++ b/buch/chapters/95-homologie/images/gausshomobasis.tex
@@ -0,0 +1,109 @@
+%
+% gaushomobasis.tex -- Bestimmung einer Basis der Homologiegruppen
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.5}
+\def\inset{0.05}
+\def\w{8}
+
+\def\zeile#1#2{
+ \fill[color=#2] ({0+\inset},{(12-#1)*\s+\inset})
+ rectangle ({\w*\s-\inset},{(13-#1)*\s-\inset});
+}
+\def\marke#1#2{
+\node at ({0.5*\w*\s},{12.5-#1)*\s}) {$#2\mathstrut$};
+}
+
+\def\gauss{
+\draw (0,0) rectangle ({\w*\s},{12*\s});
+\draw (0,{7*\s}) -- ({\w*\s},{7*\s});
+}
+
+\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-1)*\s})
+ to[out=180,in=90] (-3.6,-2);
+\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-2)*\s})
+ to[out=180,in=90] (-2.2,-2);
+\draw[->,color=red,line width=1pt] ({0.1*\s},{(12.5-4)*\s})
+ to[out=180,in=90] (-0.7,-2);
+
+\draw[->,color=darkgreen,line width=1pt] ({0.1*\s},{(12.5-7)*\s})
+ to[out=180,in=90] (0.9,-2);
+\draw[->,color=darkgreen,line width=1pt] ({0.1*\s},{(12.5-8)*\s})
+ to[out=180,in=90] (1.6,-2);
+\draw[->,color=darkgreen,line width=1pt] ({(\w-0.1)*\s},{(12.5-12)*\s})
+ to[out=0,in=90] (2.6,-2);
+
+\draw[->,line width=2pt] ({\w*\s+0.1},{6*\s}) -- (5.4,{6*\s});
+\node at ({0.5*(\w*\s+5.5)},{6*\s}) [above] {Gauss};
+
+\begin{scope}
+\zeile{1}{red!30}
+\zeile{2}{red!30}
+\zeile{4}{red!30}
+\zeile{7}{darkgreen!30}
+\zeile{8}{darkgreen!30}
+%\zeile{10}{darkgreen!30}
+\zeile{12}{darkgreen!30}
+\marke{1}{\scriptstyle\partial_{k+1}e_1^{(k+1)}}
+\marke{2}{\scriptstyle\partial_{k+1}e_2^{(k+1)}}
+\marke{3}{\scriptstyle\partial_{k+1}e_3^{(k+1)}}
+\marke{4}{\vdots}
+\marke{5}{\scriptstyle\partial_{k+1}e_{n_{k+1}}^{(k+1)}}
+\marke{6}{\scriptstyle z_1^{(k)}}
+\marke{7}{\scriptstyle z_2^{(k)}}
+\marke{8}{\scriptstyle z_3^{(k)}}
+\marke{9}{\scriptstyle z_4^{(k)}}
+\marke{10}{\vdots}
+\marke{11}{\scriptstyle z_{l-1}^{(k)}}
+\marke{12}{\scriptstyle z_{l}^{(k)}}
+\gauss
+\end{scope}
+
+\begin{scope}[xshift=5.5cm]
+\zeile{1}{black!20}
+\zeile{2}{black!20}
+\zeile{3}{black}
+\marke{3}{\color{white}0}
+\zeile{4}{black!20}
+\zeile{5}{black}
+\marke{5}{\color{white}0}
+\zeile{6}{black}
+\marke{6}{\color{white}0}
+\zeile{7}{black!20}
+\zeile{8}{black!20}
+\zeile{9}{black}
+\marke{9}{\color{white}0}
+\zeile{10}{black}
+\marke{10}{\color{white}0}
+\zeile{11}{black}
+\marke{11}{\color{white}0}
+\zeile{12}{black!20}
+\gauss
+\end{scope}
+
+\node at (-4.4,-2) [below right] {$\{
+{\color{red}\partial_{k+1}e_1^{(k+1)}},
+{\color{red}\partial_{k+1}e_2^{(k+1)}},
+{\color{red}\partial_{k+1}e_{i_3}^{(k+1)}},\dots,
+{\color{darkgreen}z_2^{(k)}},
+{\color{darkgreen}z_3^{(k)}},
+\dots
+{\color{darkgreen}z_l^{(k)}}
+\} = {\color{red}\mathcal{B}_k} \cup {\color{darkgreen}\mathcal{Z}_k'}$};
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/gausshomoex.pdf b/buch/chapters/95-homologie/images/gausshomoex.pdf
new file mode 100644
index 0000000..bc0b766
--- /dev/null
+++ b/buch/chapters/95-homologie/images/gausshomoex.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/gausshomoex.tex b/buch/chapters/95-homologie/images/gausshomoex.tex
new file mode 100644
index 0000000..df53f70
--- /dev/null
+++ b/buch/chapters/95-homologie/images/gausshomoex.tex
@@ -0,0 +1,120 @@
+%
+% gausshomoex.tex -- Beispiel für die Bestimmung einer Basis von H_1
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{2.0}
+
+\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})}
+
+\def\knoten#1#2#3{
+ \fill[color=white] \punkt{#1}{#2} circle[radius=0.3];
+ \node at \punkt{#1}{#2} {$#3$\strut};
+ \draw \punkt{#1}{#2} circle[radius=0.3];
+}
+\def\dreieck#1#2#3{
+ \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1}{(#2)+1} -- cycle;
+ \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+ \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+ \punkt{#1}{#2} -- \punkt{#1+1}{#2};
+ \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+ \punkt{#1+1}{#2} -- \punkt{#1}{#2+1};
+ \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+ \punkt{#1}{#2+1} -- \punkt{#1}{#2};
+}
+
+\def\Dreieck#1#2#3{
+ \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1+1}{(#2)-1} -- cycle;
+ \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+}
+
+\def\kante#1#2#3{
+ \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15];
+ \node at \punkt{#1}{#2} {$\scriptstyle #3$};
+}
+
+\dreieck{0}{0}{1}
+\dreieck{1}{0}{2}
+\dreieck{2}{0}{3}
+\dreieck{3}{0}{4}
+
+\dreieck{0}{1}{5}
+\dreieck{2}{1}{6}
+
+\dreieck{0}{2}{7}
+\dreieck{1}{2}{8}
+
+\dreieck{0}{3}{9}
+
+
+\knoten{0}{0}{1}
+\knoten{1}{0}{2}
+\knoten{2}{0}{3}
+\knoten{3}{0}{4}
+\knoten{4}{0}{5}
+
+\knoten{0}{1}{6}
+\knoten{1}{1}{7}
+\knoten{2}{1}{8}
+\knoten{3}{1}{9}
+
+\knoten{0}{2}{10}
+\knoten{1}{2}{11}
+\knoten{2}{2}{12}
+
+\knoten{0}{3}{13}
+\knoten{1}{3}{14}
+
+\knoten{0}{4}{15}
+
+\kante{0.5}{0}{1}
+\kante{1.5}{0}{2}
+\kante{2.5}{0}{3}
+\kante{3.5}{0}{4}
+
+\kante{0}{0.5}{5}
+\kante{0.5}{0.5}{6}
+\kante{1}{0.5}{7}
+\kante{1.5}{0.5}{8}
+\kante{2}{0.5}{9}
+\kante{2.5}{0.5}{10}
+\kante{3}{0.5}{11}
+\kante{3.5}{0.5}{12}
+
+\kante{0.5}{1}{13}
+\kante{2.5}{1}{14}
+
+\kante{0}{1.5}{15}
+\kante{0.5}{1.5}{16}
+\kante{2}{1.5}{17}
+\kante{2.5}{1.5}{18}
+
+\kante{0.5}{2}{19}
+\kante{1.5}{2}{20}
+
+\kante{0}{2.5}{21}
+\kante{0.5}{2.5}{22}
+\kante{1}{2.5}{23}
+\kante{1.5}{2.5}{24}
+
+\kante{0.5}{3}{25}
+
+\kante{0}{3.5}{26}
+\kante{0.5}{3.5}{27}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/homoboundaries.pdf b/buch/chapters/95-homologie/images/homoboundaries.pdf
new file mode 100644
index 0000000..fb94ec8
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homoboundaries.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/homoboundaries.tex b/buch/chapters/95-homologie/images/homoboundaries.tex
new file mode 100644
index 0000000..53087fa
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homoboundaries.tex
@@ -0,0 +1,115 @@
+%
+% tikztemplate.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.55}
+
+\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})}
+\def\A{\punkt{0}{0}}
+\def\B{\punkt{1}{0}}
+\def\C{\punkt{2}{0}}
+\def\D{\punkt{3}{0}}
+\def\E{\punkt{4}{0}}
+\def\F{\punkt{0}{1}}
+\def\G{\punkt{1}{1}}
+\def\H{\punkt{2}{1}}
+\def\I{\punkt{3}{1}}
+\def\J{\punkt{0}{2}}
+\def\K{\punkt{1}{2}}
+\def\L{\punkt{2}{2}}
+\def\M{\punkt{0}{3}}
+\def\N{\punkt{1}{3}}
+\def\O{\punkt{0}{4}}
+
+\def\dreieck#1#2#3{
+ \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1}{(#2)+1} -- cycle;
+}
+
+\def\blau#1#2{
+ \draw[color=blue] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1}{(#2)+1} -- cycle;
+ \draw[->,color=blue] \punkt{#1}{#2} -- \punkt{#1+1}{#2};
+}
+
+\def\gebiet{
+ \dreieck{0}{0}{1}
+ \dreieck{1}{0}{2}
+ \dreieck{2}{0}{3}
+ \dreieck{3}{0}{4}
+ \dreieck{0}{1}{5}
+ \dreieck{2}{1}{6}
+ \dreieck{0}{2}{7}
+ \dreieck{1}{2}{8}
+ \dreieck{0}{3}{9}
+}
+
+\begin{scope}
+\gebiet
+\blau{0}{0}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_1^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=3cm]
+\gebiet
+\blau{1}{0}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_2^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=6cm]
+\gebiet
+\blau{2}{0}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_3^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=9cm]
+\gebiet
+\blau{3}{0}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_4^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=1.5cm,yshift=2.59cm]
+\gebiet
+\blau{0}{1}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_5^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=7.5cm,yshift=2.59cm]
+\gebiet
+\blau{2}{1}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_6^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=3cm,yshift=5.19cm]
+\gebiet
+\blau{0}{2}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_7^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=6cm,yshift=5.19cm]
+\gebiet
+\blau{1}{2}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_8^{(2)}$};
+\end{scope}
+
+\begin{scope}[xshift=4.5cm,yshift=7.79cm]
+\gebiet
+\blau{0}{3}
+\node[color=blue] at ({2*\s},-0.5) {$\partial_2e_9^{(2)}$};
+\end{scope}
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/homoclasses.pdf b/buch/chapters/95-homologie/images/homoclasses.pdf
new file mode 100644
index 0000000..fbbaedd
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homoclasses.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/homoclasses.tex b/buch/chapters/95-homologie/images/homoclasses.tex
new file mode 100644
index 0000000..4467f08
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homoclasses.tex
@@ -0,0 +1,109 @@
+%
+% homoclasses.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1.4}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\definecolor{darkgreen}{rgb}{0,0.6,0}
+\def\s{0.4}
+\def\h{-0.3}
+
+\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})}
+\def\A{\punkt{0}{0}}
+\def\B{\punkt{1}{0}}
+\def\C{\punkt{2}{0}}
+\def\D{\punkt{3}{0}}
+\def\E{\punkt{4}{0}}
+\def\F{\punkt{0}{1}}
+\def\G{\punkt{1}{1}}
+\def\H{\punkt{2}{1}}
+\def\I{\punkt{3}{1}}
+\def\J{\punkt{0}{2}}
+\def\K{\punkt{1}{2}}
+\def\L{\punkt{2}{2}}
+\def\M{\punkt{0}{3}}
+\def\N{\punkt{1}{3}}
+\def\O{\punkt{0}{4}}
+
+%\def\knoten#1#2#3{
+% \fill[color=white] \punkt{#1}{#2} circle[radius=0.3];
+% \node at \punkt{#1}{#2} {$#3$\strut};
+% \draw \punkt{#1}{#2} circle[radius=0.3];
+%}
+\def\dreieck#1#2#3{
+ \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1}{(#2)+1} -- cycle;
+% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1}{#2} -- \punkt{#1+1}{#2};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1+1}{#2} -- \punkt{#1}{#2+1};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1}{#2+1} -- \punkt{#1}{#2};
+}
+
+%\def\Dreieck#1#2#3{
+% \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+% -- \punkt{#1+1}{(#2)-1} -- cycle;
+% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+%}
+
+%\def\kante#1#2#3{
+% \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15];
+% \node at \punkt{#1}{#2} {$\scriptstyle #3$};
+%}
+
+\def\gebiet{
+ \dreieck{0}{0}{1}
+ \dreieck{1}{0}{2}
+ \dreieck{2}{0}{3}
+ \dreieck{3}{0}{4}
+ \dreieck{0}{1}{5}
+ \dreieck{2}{1}{6}
+ \dreieck{0}{2}{7}
+ \dreieck{1}{2}{8}
+ \dreieck{0}{3}{9}
+}
+
+\begin{scope}
+\gebiet
+\draw[color=darkgreen] \B -- \G -- \J -- \F -- cycle;
+\draw[->,color=darkgreen] \B -- \G;
+\node[color=darkgreen] at ({2*\s},{\h}) {$z_5'$};
+\end{scope}
+
+\begin{scope}[xshift=2cm]
+\gebiet
+\draw[color=darkgreen] \D -- \I -- \L -- \H -- cycle;
+\draw[->,color=darkgreen] \D -- \I;
+\node[color=darkgreen] at ({2*\s},{\h}) {$z_6'$};
+\end{scope}
+
+\begin{scope}[xshift=4cm]
+\gebiet
+\draw[color=darkgreen] \C -- \L -- \N -- \K -- \M -- \J -- cycle;
+\draw[->,color=darkgreen] \C -- \L;
+\node[color=darkgreen] at ({2*\s},{\h}) {$z_9'$};
+\end{scope}
+
+\begin{scope}[xshift=6cm]
+\gebiet
+\draw[color=darkgreen] \K -- \N -- \O -- \M -- cycle;
+\draw[->,color=darkgreen] \K -- \N;
+\node[color=darkgreen] at ({2*\s},{\h}) {$z_{12}'$};
+\end{scope}
+
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/homocycles.pdf b/buch/chapters/95-homologie/images/homocycles.pdf
new file mode 100644
index 0000000..b68519e
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homocycles.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/homocycles.tex b/buch/chapters/95-homologie/images/homocycles.tex
new file mode 100644
index 0000000..8f20a0c
--- /dev/null
+++ b/buch/chapters/95-homologie/images/homocycles.tex
@@ -0,0 +1,170 @@
+%
+% tikztemplate.tex -- template for standalon tikz images
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{amsmath}
+\usepackage{times}
+\usepackage{txfonts}
+\usepackage{pgfplots}
+\usepackage{csvsimple}
+\usetikzlibrary{arrows,intersections,math}
+\begin{document}
+\def\skala{1}
+\begin{tikzpicture}[>=latex,thick,scale=\skala]
+
+\def\s{0.4}
+
+\def\punkt#1#2{({((#1)+0.5*(#2))*\s},{(#2)*\s*sqrt(3)/2})}
+\def\A{\punkt{0}{0}}
+\def\B{\punkt{1}{0}}
+\def\C{\punkt{2}{0}}
+\def\D{\punkt{3}{0}}
+\def\E{\punkt{4}{0}}
+\def\F{\punkt{0}{1}}
+\def\G{\punkt{1}{1}}
+\def\H{\punkt{2}{1}}
+\def\I{\punkt{3}{1}}
+\def\J{\punkt{0}{2}}
+\def\K{\punkt{1}{2}}
+\def\L{\punkt{2}{2}}
+\def\M{\punkt{0}{3}}
+\def\N{\punkt{1}{3}}
+\def\O{\punkt{0}{4}}
+
+%\def\knoten#1#2#3{
+% \fill[color=white] \punkt{#1}{#2} circle[radius=0.3];
+% \node at \punkt{#1}{#2} {$#3$\strut};
+% \draw \punkt{#1}{#2} circle[radius=0.3];
+%}
+\def\dreieck#1#2#3{
+ \fill[color=gray] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+ -- \punkt{#1}{(#2)+1} -- cycle;
+% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1}{#2} -- \punkt{#1+1}{#2};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1+1}{#2} -- \punkt{#1}{#2+1};
+% \draw[->,line width=1pt,shorten >= 0.3cm,shorten <= 0.3cm]
+% \punkt{#1}{#2+1} -- \punkt{#1}{#2};
+}
+
+%\def\Dreieck#1#2#3{
+% \fill[color=gray!50] \punkt{#1}{#2} -- \punkt{#1+1}{#2}
+% -- \punkt{#1+1}{(#2)-1} -- cycle;
+% \node at \punkt{#1+0.3333}{#2+0.3333} {$#3$\strut};
+%}
+
+%\def\kante#1#2#3{
+% \fill[color=white,opacity=0.8] \punkt{#1}{#2} circle[radius=0.15];
+% \node at \punkt{#1}{#2} {$\scriptstyle #3$};
+%}
+
+\def\gebiet{
+ \dreieck{0}{0}{1}
+ \dreieck{1}{0}{2}
+ \dreieck{2}{0}{3}
+ \dreieck{3}{0}{4}
+ \dreieck{0}{1}{5}
+ \dreieck{2}{1}{6}
+ \dreieck{0}{2}{7}
+ \dreieck{1}{2}{8}
+ \dreieck{0}{3}{9}
+}
+
+\begin{scope}
+\gebiet
+\draw[->,color=red] \A -- \B -- \F -- cycle;
+\draw[->,color=red] \A -- \B;
+\node[color=red] at ({2*\s},-0.5) {$z_1$};
+\end{scope}
+
+\begin{scope}[xshift=2cm]
+\gebiet
+\draw[color=red] \B -- \C -- \G -- cycle;
+\draw[->,color=red] \B -- \C;
+\node[color=red] at ({2*\s},-0.5) {$z_2$};
+\end{scope}
+
+\begin{scope}[xshift=4cm]
+\gebiet
+\draw[color=red] \C -- \D -- \H -- cycle;
+\draw[->,color=red] \C -- \D;
+\node[color=red] at ({2*\s},-0.5) {$z_3$};
+\end{scope}
+
+\begin{scope}[xshift=6cm]
+\gebiet
+\draw[color=red] \D -- \E -- \I -- cycle;
+\draw[->,color=red] \D -- \E;
+\node[color=red] at ({2*\s},-0.5) {$z_4$};
+\end{scope}
+
+\begin{scope}[xshift=8cm]
+\gebiet
+\draw[color=red] \A -- \B -- \G -- \F -- cycle;
+\draw[<-,color=red] \A -- \B;
+\node[color=red] at ({2*\s},-0.5) {$z_5$};
+\end{scope}
+
+\begin{scope}[xshift=10cm]
+\gebiet
+\draw[color=red] \C -- \D -- \I -- \H -- cycle;
+\draw[<-,color=red] \C -- \D;
+\node[color=red] at ({2*\s},-0.5) {$z_6$};
+\end{scope}
+
+\begin{scope}[xshift=12cm]
+\gebiet
+\draw[color=red] \A -- \B -- \G -- \J -- \F -- cycle;
+\draw[->,color=red] \A -- \B;
+\node[color=red] at ({2*\s},-0.5) {$z_7$};
+\end{scope}
+
+\begin{scope}[xshift=0cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \C -- \D -- \I -- \L -- \H -- cycle;
+\draw[->,color=red] \C -- \D;
+\node[color=red] at ({2*\s},-0.5) {$z_8$};
+\end{scope}
+
+\begin{scope}[xshift=2cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \A -- \B -- \C -- \H -- \L -- \K -- \J -- \F -- cycle;
+\draw[<-,color=red] \A -- \B;
+\node[color=red] at ({2*\s},-0.5) {$z_9$};
+\end{scope}
+
+\begin{scope}[xshift=4cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \J -- \K -- \M -- cycle;
+\draw[->,color=red] \J -- \K;
+\node[color=red] at ({2*\s},-0.5) {$z_{10}$};
+\end{scope}
+
+\begin{scope}[xshift=6cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \A -- \B -- \C -- \H -- \L -- \N -- \K -- \J -- \F -- cycle;
+\draw[->,color=red] \A -- \B;
+\node[color=red] at ({2*\s},-0.5) {$z_{11}$};
+\end{scope}
+
+\begin{scope}[xshift=8cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \J -- \K -- \N -- \M -- cycle;
+\draw[<-,color=red] \J -- \K;
+\node[color=red] at ({2*\s},-0.5) {$z_{12}$};
+\end{scope}
+
+\begin{scope}[xshift=10cm,yshift=-3cm]
+\gebiet
+\draw[color=red] \J -- \K -- \N -- \O -- \M -- cycle;
+\draw[->,color=red] \J -- \K;
+\node[color=red] at ({2*\s},-0.5) {$z_{13}$};
+\end{scope}
+
+
+\end{tikzpicture}
+\end{document}
+
diff --git a/buch/chapters/95-homologie/images/tetraeder.jpg b/buch/chapters/95-homologie/images/tetraeder.jpg
new file mode 100644
index 0000000..0ec168b
--- /dev/null
+++ b/buch/chapters/95-homologie/images/tetraeder.jpg
Binary files differ
diff --git a/buch/chapters/95-homologie/images/tetraeder.pdf b/buch/chapters/95-homologie/images/tetraeder.pdf
new file mode 100644
index 0000000..0a57e95
--- /dev/null
+++ b/buch/chapters/95-homologie/images/tetraeder.pdf
Binary files differ
diff --git a/buch/chapters/95-homologie/images/tetraeder.pov b/buch/chapters/95-homologie/images/tetraeder.pov
new file mode 100644
index 0000000..b110f96
--- /dev/null
+++ b/buch/chapters/95-homologie/images/tetraeder.pov
@@ -0,0 +1,116 @@
+//
+// tetraeder.pov
+//
+// (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+//
+#version 3.7;
+#include "colors.inc"
+
+global_settings {
+ assumed_gamma 1
+}
+
+#declare imagescale = 0.169;
+#declare O = <0, 0, 0>;
+#declare at = 0.02;
+
+camera {
+ location <-2, 3, -10>
+ look_at <0, 0.18, 0>
+ right 16/9 * x * imagescale
+ up y * imagescale
+}
+
+//light_source {
+// <-14, 20, -50> color White
+// area_light <1,0,0> <0,0,1>, 10, 10
+// adaptive 1
+// jitter
+//}
+
+light_source {
+ <-41, 20, -20> color White
+ area_light <1,0,0> <0,0,1>, 10, 10
+ adaptive 1
+ jitter
+}
+
+sky_sphere {
+ pigment {
+ color rgb<1,1,1>
+ }
+}
+
+#declare v1 = <1,1,1>;
+#declare v2 = <-1,1,-1>;
+#declare farbe = rgbf<0.8,0.8,1.0,0.5>;
+
+#declare tetraederwinkel = acos(vdot(v1,v2)/(vlength(v1)*vlength(v2)));
+
+#declare O = < 0, 0, 0 >;
+#declare A = < 0, 1, 0 >;
+#declare B = < sin(tetraederwinkel), cos(tetraederwinkel), 0>;
+#declare C = < sin(tetraederwinkel)*cos(2*pi/3), cos(tetraederwinkel), sin(2*pi/3)>;
+#declare D = < sin(tetraederwinkel)*cos(2*pi/3), cos(tetraederwinkel), -sin(2*pi/3)>;
+
+#macro arrow(from, to, arrowthickness, c)
+#declare arrowdirection = vnormalize(to - from);
+#declare arrowlength = vlength(to - from);
+union {
+ sphere {
+ from, 1.0 * arrowthickness
+ }
+ cylinder {
+ from,
+ from + (arrowlength - 8 * arrowthickness) * arrowdirection,
+ arrowthickness
+ }
+ cone {
+ from + (arrowlength - 8 * arrowthickness) * arrowdirection,
+ 2 * arrowthickness,
+ to - 3 * arrowthickness * arrowdirection,
+ 0
+ }
+ pigment {
+ color c
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+#end
+
+union {
+ arrow(B, C, at, White)
+ arrow(D, C, at, White)
+ arrow(D, B, at, White)
+ arrow(B, A, at, White)
+ arrow(C, A, at, White)
+ arrow(D, A, at, White)
+ sphere { A, 4 * at }
+ sphere { B, 4 * at }
+ sphere { C, 4 * at }
+ sphere { D, 4 * at }
+ pigment {
+ color White
+ }
+ finish {
+ specular 0.9
+ metallic
+ }
+}
+
+mesh {
+ triangle { A, B, C }
+ triangle { A, C, D }
+ triangle { A, D, B }
+ triangle { B, C, D }
+ pigment {
+ color farbe
+ }
+// finish {
+// specular 0.9
+// metallic
+// }
+}
diff --git a/buch/chapters/95-homologie/images/tetraeder.tex b/buch/chapters/95-homologie/images/tetraeder.tex
new file mode 100644
index 0000000..e62770f
--- /dev/null
+++ b/buch/chapters/95-homologie/images/tetraeder.tex
@@ -0,0 +1,97 @@
+%
+% tetraeder.tex
+%
+% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule
+%
+\documentclass[tikz]{standalone}
+\usepackage{times}
+\usepackage{amsmath}
+\usepackage{txfonts}
+\usepackage[utf8]{inputenc}
+\usepackage{graphics}
+\usetikzlibrary{arrows,intersections,math,calc}
+\usepackage{ifthen}
+\begin{document}
+
+\newboolean{showgrid}
+\setboolean{showgrid}{false}
+\def\breite{7}
+\def\hoehe{4}
+
+\begin{tikzpicture}[>=latex,thick]
+
+% Povray Bild
+\node at (0,0) {\includegraphics[width=8cm]{tetraeder.jpg}};
+
+% Gitter
+\ifthenelse{\boolean{showgrid}}{
+\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe);
+\draw (-\breite,-\hoehe) grid (\breite, \hoehe);
+\fill (0,0) circle[radius=0.05];
+}{}
+
+\def\knoten#1#2{
+ %\fill[color=white,opacity=0.5] #1 circle[radius=0.2];
+ \node at #1 {$#2$};
+}
+
+\knoten{(-2.2,-3.6)}{0};
+\knoten{( 3.3,-1.9)}{1};
+\knoten{(-3.4,-1.2)}{2};
+\knoten{(-0.75,3.6)}{3};
+
+\def\s{0.2}
+
+\def\kante#1#2{
+ %\fill[color=white,opacity=0.5] #1 circle[radius=0.2];
+ \fill[color=white,opacity=0.5]
+ ($#1+(-\s,-\s)$) --
+ ($#1+(+\s,-\s)$) --
+ ($#1+(+\s,+\s)$) --
+ ($#1+(-\s,+\s)$) -- cycle;
+ \node at #1 {$#2$};
+}
+
+\kante{(0.5,-2.8)}{k_0}
+\kante{(-2.8,-2.3)}{k_1}
+\kante{(-1.4,0)}{k_2}
+\kante{(-0.4,-1.55)}{k_3}
+\kante{(1.25,0.95)}{k_4}
+\kante{(-2.08,1.1)}{k_5}
+
+\def\r{0.33}
+
+\def\flaeche#1#2{
+ \fill[color=white,opacity=0.5]
+ ($#1+({-\r*cos(30)},{-\r*sin(30)})$) --
+ ($#1+({\r*cos(30)},{-\r*sin(30)})$) --
+ ($#1+(0,{\r})$) -- cycle;
+ \node at #1 {$#2$};
+}
+
+\flaeche{(-0.7,-5)}{f_0}
+\draw (-0.7,-4.7) -- (-0.7,-3.25);
+\draw[->,color=black!70] (-0.7,-3.06) -- (-0.7,-2.5);
+\flaeche{(0.2,-0.5)}{f_1}
+\flaeche{(-2.3,-0.7)}{f_2}
+\coordinate (A) at (1,2.6);
+\coordinate (B) at (0,1);
+
+\flaeche{($1.2*(A)-0.2*(B)$)}{f_3}
+
+\def\t{0.58}
+\pgfmathparse{1-\t}
+\xdef\T{\pgfmathresult}
+\draw (A) -- ($\t*(A)+\T*(B)$);
+
+\def\t{0.48}
+\pgfmathparse{1-\t}
+\xdef\T{\pgfmathresult}
+\draw[->,color=black!70] ($\t*(A)+\T*(B)$) -- (B);
+
+
+\end{tikzpicture}
+
+\end{document}
+