3d/schlot/schlot.pov

221 lines
4.0 KiB
POVRay

#include "colors.inc"
#include "metals.inc"
#declare eps = 1e-6;
global_settings {
assumed_gamma 1.0
ambient_light rgb<0.5, 0.5, 0.5>
}
background { color rgb<0.2, 0.4, 0.8> }
light_source {
<+200, 200, -00>
color White
}
light_source {
<-200, 120, -171>
color White*0.5
}
camera {
location <-60, 12, -40>
look_at <40, 10, 0>
angle 30
}
// #declare schlot = union {
// #local h = 0;
// #while (h < 40)
// #local aa = 0;
// #while (aa < 360)
// box {
//
// }
// #local aa += 20
// #end
// #local h = h + 0.2
// #end
// }
#declare schlot =
union {
difference {
cone {
<0, 0, 0> 1.5
<0, 40, 0> 1.2
}
cone {
<0, 0-eps, 0> 1.2
<0, 40+eps, 0> 0.94
}
pigment {
color White
}
}
#local h = 0;
#while (h < 40)
#local aa = 0;
#local rr = 1.52 - h * .3 / 40;
#local w = rr * 6 * 20 / 360; // 6 = a bit less then 2pi
#while (aa < 360)
box {
<rr, h, w/2>, <rr - 0.3, h + 0.18, -w/2>
texture { pigment {color Red} }
rotate <0, aa + h * 50, 0>
}
#local aa = aa + 20;
#end
#local h = h + 0.2;
#end
}
#declare foerderband =
union {
union {
cylinder {<0, 0, -1>, <20, 0, -1>, 0.1 }
cylinder {<0, 0, +1>, <20, 0, +1>, 0.1 }
sphere {< 0, 0, -1>, 0.1 }
sphere {<20, 0, -1>, 0.1 }
sphere {< 0, 0, +1>, 0.1 }
sphere {<20, 0, +1>, 0.1 }
#local xx = 0;
#while (xx <= 20)
cylinder { <xx, 0, -0.9>, <xx, 0, +0.9>, 0.2 }
#local xx = xx + 1;
#end
union {
box {
<0, 0.2, -0.8>, <20, 0.21, +0.8>
}
box {
<0, -0.2, -0.8>, <20, -0.21, +0.8>
}
intersection {
cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 }
box { <-0.21, -0.21, -0.8>, <0, +0.21, +0.8> }
}
intersection {
cylinder { <0, 0, -0.8>, <0, 0, +0.8>, 0.21 }
box { <+0.21, -0.21, -0.8>, <0, +0.21, +0.8> }
translate <20, 0, 0>
}
pigment { color <0.5, 0.5, 0.5> }
}
pigment { color <0.7, 0.7, 0.7> }
rotate <0, 0, -30>
}
union {
#local xx = sqrt(20*20 - 10*10);
cylinder {
<xx, -10, -1>, <xx, -10.5, -1>, 0.1
}
cylinder {
<xx, -10, +1>, <xx, -10.5, +1>, 0.1
}
pigment { color <0.7, 0.7, 0.7> }
rotate <0, 0, -30>
}
}
#declare fabrik =
union {
difference {
union {
box {
<1.5, 0, -5>, <30, 15, 15>
}
prism {
linear_spline
1.5, 30
4
<15, -5>, <15, 15>, <20, 5>, <15, -5>
matrix <
0, 1, 0,
1, 0, 0,
0, 0, 1,
0, 0, 0
>
}
}
union {
// Fenster
#local xx = 6;
#while (xx < 30)
box {<xx, 2, -5-eps>, <xx + 2, 6, 15+eps>}
cylinder { <xx + 1, 6, -5-eps>, <xx + 1, 6, 15+eps>, 1}
box {<xx, 9, -5-eps>, <xx + 2, 13, 15+eps>}
cylinder { <xx + 1, 13, -5-eps>, <xx + 1, 13, 15+eps>, 1}
#local xx = xx + 4;
#end
// Tuer
box {<30+eps, 0, 3>, <29-eps, 3, 7>}
cylinder { <30+eps, 3, 5>, <29- eps, 3, 5>, 2}
// Innenraum
box {
<2.0, 0, -4>, <29, 15, 14>
}
// Durchlaesse fuer Foerderbander
box {<30+eps, 10, -3.2>, <29-eps, 11.5, -0.8>}
box {<30+eps, 10, 13.2>, <29-eps, 11.5, 10.8>}
}
pigment {
brick
brick_size <0.5, 0.2, 0.5>
mortar 0.02
}
}
object {
foerderband
translate <29, 10.5, -2>
}
object {
foerderband
translate <29, 10.5, +12>
}
union {
// Tuer
box {<-0.05, 0, 3>, <0.05, 3, 7>}
cylinder { <-0.05, 3, 5>, <0.05, 3, 5>, 2}
translate <29.5, 0, 0>
texture { T_Brass_1B }
}
}
object {
schlot
}
object {
fabrik
}
cone {
<56, 0, -2>, 10, <56, 5, -2>, 0
texture {
pigment { color <0.5, 0.5, 0.2> }
}
}
cone {
<56, 0, 12>, 10, <56, 5, 12>, 0
texture {
pigment { color <0.2, 0.2, 0.2> }
}
}
box {
<-10, 0, -20>, <70, 0.01, +30>
texture {
pigment { color <0.3, 0.3, 0.2> }
}
}
plane {
<0, 1, 0>
0
pigment {
color <0.2, 0.8, 0>
}
}