From f0a6f930187eb0226ddd4735feba1d93667b8a58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20M=C3=BCller?= Date: Thu, 19 May 2022 22:12:27 +0200 Subject: add dreieck3d9.pov --- buch/papers/nav/images/Makefile | 7 ++++ buch/papers/nav/images/common.inc | 60 +++++++++++++++++++------------ buch/papers/nav/images/dreieck3d9.pov | 66 +++++++++++++++++++++++++++++++++++ 3 files changed, 111 insertions(+), 22 deletions(-) create mode 100644 buch/papers/nav/images/dreieck3d9.pov (limited to 'buch/papers/nav') diff --git a/buch/papers/nav/images/Makefile b/buch/papers/nav/images/Makefile index bbdea2f..da4defa 100644 --- a/buch/papers/nav/images/Makefile +++ b/buch/papers/nav/images/Makefile @@ -114,3 +114,10 @@ dreieck3d8.jpg: dreieck3d8.png dreieck3d8.pdf: dreieck3d8.tex dreieck3d8.jpg pdflatex dreieck3d8.tex +dreieck3d9.png: dreieck3d9.pov common.inc + povray +A0.1 $(POVRAYOPTIONS) -Odreieck3d9.png dreieck3d9.pov +dreieck3d9.jpg: dreieck3d9.png + convert dreieck3d9.png -density 300 -units PixelsPerInch dreieck3d9.jpg +dreieck3d9.pdf: dreieck3d9.tex dreieck3d9.jpg + pdflatex dreieck3d9.tex + diff --git a/buch/papers/nav/images/common.inc b/buch/papers/nav/images/common.inc index e2a1ed0..2c0ae6e 100644 --- a/buch/papers/nav/images/common.inc +++ b/buch/papers/nav/images/common.inc @@ -12,6 +12,7 @@ global_settings { #declare imagescale = 0.034; +#declare O = <0, 0, 0>; #declare A = vnormalize(< 0, 1, 0>); #declare B = vnormalize(< 1, 2, -8>); #declare C = vnormalize(< 5, 1, 0>); @@ -102,8 +103,8 @@ union { #declare pp = vnormalize(p - vdot(n, p) * n); #declare qq = vnormalize(q - vdot(n, q) * n); intersection { - sphere { <0, 0, 0>, 1 + staerke } - cone { <0, 0, 0>, 0, 1.2 * vnormalize(w), r } + sphere { O, 1 + staerke } + cone { O, 0, 1.2 * vnormalize(w), r } plane { -vcross(n, qq) * vdot(vcross(n, qq), pp), 0 } plane { -vcross(n, pp) * vdot(vcross(n, pp), qq), 0 } } @@ -132,6 +133,35 @@ union { } #end +#macro ebenerwinkel(a, p, q, s, r, farbe) + #declare n = vnormalize(-vcross(p, q)); + #declare np = vnormalize(-vcross(p, n)); + #declare nq = -vnormalize(-vcross(q, n)); +// arrow(a, a + n, 0.02, White) +// arrow(a, a + np, 0.01, Red) +// arrow(a, a + nq, 0.01, Blue) + intersection { + cylinder { a - (s/2) * n, a + (s/2) * n, r } + plane { np, vdot(np, a) } + plane { nq, vdot(nq, a) } + pigment { + farbe + } + finish { + metallic + specular 0.5 + } + } +#end + +#macro komplement(a, p, q, s, r, farbe) + #declare n = vnormalize(-vcross(p, q)); +// arrow(a, a + n, 0.015, Orange) + #declare m = vnormalize(-vcross(q, n)); +// arrow(a, a + m, 0.015, Pink) + ebenerwinkel(a, p, m, s, r, farbe) +#end + #declare fett = 0.015; #declare fein = 0.010; @@ -143,29 +173,15 @@ union { #declare gruen = rgb<0,0.6,0>; #declare blau = rgb<0.2,0.2,0.8>; +#declare kugelfarbe = rgb<0.8,0.8,0.8>; +#declare kugeltransparent = rgbt<0.8,0.8,0.8,0.5>; + +#macro kugel(farbe) sphere { <0, 0, 0>, 1 pigment { - color rgb<0.8,0.8,0.8> + color farbe } } +#end -//union { -// sphere { A, 0.02 } -// sphere { B, 0.02 } -// sphere { C, 0.02 } -// sphere { P, 0.02 } -// pigment { -// color Red -// } -//} - -//union { -// winkel(A, B, C) -// winkel(B, P, C) -// seite(B, C, 0.01) -// seite(B, P, 0.01) -// pigment { -// color rgb<0,0.6,0> -// } -//} diff --git a/buch/papers/nav/images/dreieck3d9.pov b/buch/papers/nav/images/dreieck3d9.pov new file mode 100644 index 0000000..24d3843 --- /dev/null +++ b/buch/papers/nav/images/dreieck3d9.pov @@ -0,0 +1,66 @@ +// +// dreiecke3d8.pov +// +// (c) 2022 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +// +#include "common.inc" + +//union { +// seite(A, B, fein) +// seite(B, C, fein) +// seite(A, C, fein) +// seite(A, P, fein) +// seite(B, P, fett) +// seite(C, P, fett) +// punkt(A, fein) +// punkt(B, fett) +// punkt(C, fett) +// punkt(P, fett) +// pigment { +// color dreieckfarbe +// } +// finish { +// specular 0.95 +// metallic +// } +//} + +//dreieck(A, B, C, White) + +kugel(kugeltransparent) + +ebenerwinkel(O, C, P, 0.01, 1.001, rot) +ebenerwinkel(P, C, P, 0.01, 0.3, rot) +komplement(P, C, P, 0.01, 0.3, Yellow) + +ebenerwinkel(O, B, P, 0.01, 1.001, blau) +ebenerwinkel(P, B, P, 0.01, 0.3, blau) +komplement(P, B, P, 0.01, 0.3, Green) + +arrow(B, 1.5 * B, 0.015, White) +arrow(C, 1.5 * C, 0.015, White) +arrow(P, 1.5 * P, 0.015, White) + +union { + cylinder { O, P, 0.7 * fein } + + cylinder { P, P + 3 * B, 0.7 * fein } + cylinder { O, B + 3 * B, 0.7 * fein } + + cylinder { P, P + 3 * C, 0.7 * fein } + cylinder { O, C + 3 * C, 0.7 * fein } + + pigment { + color White + } +} + +#declare imagescale = 0.044; + +camera { + location <40, 20, -20> + look_at <0, 0.24, -0.20> + right x * imagescale + up y * imagescale +} + -- cgit v1.2.1