aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/95-homologie/images/tetraeder.pov
diff options
context:
space:
mode:
authorAndreas Müller <andreas.mueller@ost.ch>2021-08-24 20:00:12 +0200
committerAndreas Müller <andreas.mueller@ost.ch>2021-08-24 20:00:12 +0200
commitc2e5769ae3749663985e36adf278d06c2c45f5fa (patch)
treefd32a2ebad908c03d0884c67fa7567ff9c036669 /buch/chapters/95-homologie/images/tetraeder.pov
parentMerge branch 'master' of github.com:AndreasFMueller/SeminarMatrizen (diff)
downloadSeminarMatrizen-c2e5769ae3749663985e36adf278d06c2c45f5fa.tar.gz
SeminarMatrizen-c2e5769ae3749663985e36adf278d06c2c45f5fa.zip
new image: tetraeder
Diffstat (limited to 'buch/chapters/95-homologie/images/tetraeder.pov')
-rw-r--r--buch/chapters/95-homologie/images/tetraeder.pov116
1 files changed, 116 insertions, 0 deletions
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
+// }
+}