3d/pr/ag-schacht/ag-schacht.pov

142 lines
2.7 KiB
POVRay

#include "T_arkonstahl.pov"
#include "section.povinc"
#declare RHA = 750;
#declare RHI = 745;
#declare RAG = 5;
#declare DAG = 0.2;
#declare D = 1;
#declare Eps = 1E-6;
#declare HLeucht = 3;
#declare HLeuchtKap = 0.2;
#declare RLeucht = 0.04;
#declare ag_schacht =
union {
difference {
sphere {
<0, 0, 0>, RHA
}
sphere {
<0, 0, 0>, RHI
}
texture { T_arkonstahl }
}
#local A = 0;
#while (A < 360)
object {
section (
difference {
cylinder {
<0, -RHA, 0>,
<0, RHA, 0>,
RAG + DAG
}
cylinder {
<0, -(RHA+Eps), 0>,
<0, RHA+Eps, 0>,
RAG
}
}
A-10, A+10
)
texture { T_arkonstahl }
}
#local A = A + 60;
#end
#local H = 700;
#while (H < RHA)
#local R = sqrt(RHA*RHA - H * H);
union {
difference {
cylinder {
<0, H - D/2, 0>,
<0, H + D/2, 0>,
R
}
cylinder {
<0, H - D/2 - Eps, 0>,
<0, H + D/2 + Eps, 0>,
RAG
}
texture { T_arkonstahl }
}
#local A = 0;
#while (A < 360)
union {
union {
cylinder {
<0, H - HLeucht/2, RAG - RLeucht * 1.5>,
<0, H - HLeucht/2 - (HLeuchtKap - RLeucht/2) , RAG - RLeucht * 1.5>,
RLeucht
}
cylinder {
<0, H - HLeucht/2, RAG - RLeucht * 1.5>,
<0, H - HLeucht/2 - HLeuchtKap , RAG - RLeucht * 1.5>,
RLeucht/2
}
torus {
RLeucht/2, RLeucht/2
translate <0, H - HLeucht/2 - (HLeuchtKap - RLeucht/2) , RAG - RLeucht * 1.5>
}
cylinder {
<0, HLeucht/2 - HLeuchtKap/2, RAG - RLeucht * 1.5>,
<0, HLeucht/2 - HLeuchtKap/2, RAG>,
RLeucht
}
texture { T_arkonstahl }
}
union {
cylinder {
<0, H + HLeucht/2, RAG - RLeucht * 1.5>,
<0, H + HLeucht/2 + (HLeuchtKap - RLeucht/2) , RAG - RLeucht * 1.5>,
RLeucht
}
cylinder {
<0, H + HLeucht/2, RAG - RLeucht * 1.5>,
<0, H + HLeucht/2 + HLeuchtKap , RAG - RLeucht * 1.5>,
RLeucht/2
}
torus {
RLeucht/2, RLeucht/2
translate <0, H + HLeucht/2 + (HLeuchtKap - RLeucht/2) , RAG - RLeucht * 1.5>
}
cylinder {
<0, HLeucht/2 + HLeuchtKap/2, RAG - RLeucht * 1.5>,
<0, HLeucht/2 + HLeuchtKap/2, RAG>,
RLeucht
}
texture { T_arkonstahl }
}
cylinder {
<0, H - HLeucht/2, RAG - RLeucht * 1.5>,
<0, H + HLeucht/2, RAG - RLeucht * 1.5>,
RLeucht
texture {
pigment {
color <1-sin(radians(A))*0.2,
1-sin(radians(A+120))*0.2,
1-sin(radians(A+240))*0.2>
}
finish {
ambient 16
}
}
}
rotate <0, A, 0>
}
#local A = A + 60;
#end
}
#local H = H + 5;
#end
}