aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/kugel/images/curvature.pov
diff options
context:
space:
mode:
Diffstat (limited to 'buch/papers/kugel/images/curvature.pov')
-rw-r--r--buch/papers/kugel/images/curvature.pov72
1 files changed, 69 insertions, 3 deletions
diff --git a/buch/papers/kugel/images/curvature.pov b/buch/papers/kugel/images/curvature.pov
index 3535488..9dbaa86 100644
--- a/buch/papers/kugel/images/curvature.pov
+++ b/buch/papers/kugel/images/curvature.pov
@@ -11,17 +11,17 @@ global_settings {
assumed_gamma 1
}
-#declare imagescale = 0.1;
+#declare imagescale = 0.09;
camera {
- location <40, 10, -20>
+ location <10, 10, -40>
look_at <0, 0, 0>
right 16/9 * x * imagescale
up y * imagescale
}
light_source {
- <10, 10, -40> color White
+ <-10, 10, -40> color White
area_light <1,0,0> <0,0,1>, 10, 10
adaptive 1
jitter
@@ -70,3 +70,69 @@ arrow(<0,-1,0>, <0,1,0>, 0.01, White)
arrow(<0,0,-2.1>, <0,0,2.1>, 0.01, White)
#include "curvature.inc"
+
+#declare sigma = 1;
+#declare N0 = 0.5;
+#declare funktion = function(r) {
+ (exp(-r*r/(sigma*sigma)) / sigma
+ -
+ exp(-r*r/(2*sigma*sigma)) / (sqrt(2)*sigma)) / N0
+};
+#declare hypot = function(xx, yy) { sqrt(xx*xx+yy*yy) };
+
+#declare Funktion = function(x,y) { funktion(hypot(x+1,y)) - funktion(hypot(x-1,y)) };
+#macro punkt(xx,yy)
+ <xx, Funktion(xx, yy), yy>
+#end
+
+#declare griddiameter = 0.006;
+union {
+ #declare xmin = -3;
+ #declare xmax = 3;
+ #declare ymin = -2;
+ #declare ymax = 2;
+
+
+ #declare xstep = 0.2;
+ #declare ystep = 0.02;
+ #declare xx = xmin;
+ #while (xx < xmax + xstep/2)
+ #declare yy = ymin;
+ #declare P = punkt(xx, yy);
+ #while (yy < ymax - ystep/2)
+ #declare yy = yy + ystep;
+ #declare Q = punkt(xx, yy);
+ sphere { P, griddiameter }
+ cylinder { P, Q, griddiameter }
+ #declare P = Q;
+ #end
+ sphere { P, griddiameter }
+ #declare xx = xx + xstep;
+ #end
+
+ #declare xstep = 0.02;
+ #declare ystep = 0.2;
+ #declare yy = ymin;
+ #while (yy < ymax + ystep/2)
+ #declare xx = xmin;
+ #declare P = punkt(xx, yy);
+ #while (xx < xmax - xstep/2)
+ #declare xx = xx + xstep;
+ #declare Q = punkt(xx, yy);
+ sphere { P, griddiameter }
+ cylinder { P, Q, griddiameter }
+ #declare P = Q;
+ #end
+ sphere { P, griddiameter }
+ #declare yy = yy + ystep;
+ #end
+
+ pigment {
+ color rgb<0.8,0.8,0.8>
+ }
+ finish {
+ metallic
+ specular 0.8
+ }
+}
+