#include "colors.inc"
#include "metals.inc"
#include "shapes.inc"
#include "glass.inc"
#include "functions.inc"
#include "rand.inc"
camera { location <0,0,-100> look_at <0,0,0> translate <0,0,0> }
background {color White*0.5}
global_settings { ambient_light rgb <1, 1, 1> }
light_source {<-50,0,-100> color White*2 }
// sky -------------------------------------------------
plane{<0,1,0>,1 hollow
texture{
pigment{ bozo turbulence 0.2
color_map {
[0.00 rgb <1, 0.8, 1>*0.9]
[0.50 rgb <1, 0.8, 1>*0.9]
[0.70 rgb <1,0.4,1>]
[0.85 rgb <1,0.6,0.6>]
[1.0 rgb <1,0.4,0.6>]}
scale<1,1,1.5>*2.5
translate<1.0,0,-1>
}// end of pigment
finish {ambient 1 diffuse 0}
}// end of texture
scale 10000
}// end of plane
// fog on the ground --------------------------------
fog { fog_type 2
distance 50
color rgb <0.6,0.2,0>
fog_offset 0.1
fog_alt 1.5
turbulence 1.8
}
fog{distance 300000 color rgb <1,0.4,0.4>}
//Drone 1 ******************************************************************
//Main union
union{
#declare head_rotate = 0;
//Plasma Drill
union{
cone { <0,5,0>, 10, <0,-17,0>, 0.2
pigment { rgbt <1,0,0,0.5> } finish { F_MetalA }
}
#declare screw = 0;
#declare screws = 8;
#while(screw <= screws)
difference{
cylinder { <0,3,0>, <0,3.4,0>, 10-(screw*0.95) translate <0,-2.1*screw,0>
pigment { rgb <1,0.01,0> } finish { F_MetalA }
}
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 } }
}
#declare screw = screw + 1;
#end
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 }
hollow
interior
{ media
{ emission 10
density
{ cylindrical density_map
{
[ 0.0 rgb <1, 0.4, 0> ]
[ 0.3 rgb <1, 0.2, 0> ]
[ 0.5 rgb <1, 0.5, 0> ] //yellow
[ 0.75 rgb <.5, 0, 0> ]
[ 1.0 rgb <0, 0, 0> ]
}
turbulence 0.1
frequency 1
}
}
}
}
scale 1.1
}
cone { <0,5,0>, 13, <0,8,0>, 14.5
texture { T_Chrome_4A }
}
union{
cylinder { <0,8,0>, <0,7,0>, 15 pigment { rgbt 0.5 } finish { F_MetalE } }
light_source { <17,6,0> color Blue*15 rotate <0,110,0> }
}
//Dome
difference {
sphere { <0,1,0>, 18 }
cylinder { <0,8,0>, <0,-25,0>, 18 }
#declare SF = 0.8;
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1>
}
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1>
scale <-1,0,0>
}
texture { T_Chrome_5A } rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0> rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0>
scale <-1,0,0> rotate <0,head_rotate,0>
}
union{
difference{
difference{
cylinder { <0,0,-1>, <0,0,1>, 3 }
cylinder { <0,0,-2>, <0,0,2>, 1.5 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
//pigment { rgb <1,0,0> }
}
cylinder { <0,3,-4>, <0,3,4>, 1.7 }
pigment { rgb 0.7 } finish { F_MetalD }
translate <0,7,-20>
scale <1,1.1,0.5>
}
difference{
difference{
cylinder { <0,0,-0.9>, <0,0,0.9>, 2.7 }
cylinder { <0,0,-2>, <0,0,2>, 1.7 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
//pigment { rgb <1,0,0> }
}
cylinder { <0,2,-4>, <0,2,4>, 1.0 }
pigment { rgb 1 }
translate <0,8,-20>
scale <0.8,1.0,0.5>
}
scale <1,1.5,1>
rotate <20,0,0>
translate <0,-7.2,-12> rotate <0,head_rotate,0>
}
intersection{
difference {
cylinder { <0,0,-0.9>, <0,0,0.9>, 4}
cylinder { <0,0,-2>, <0,0,2>, 2.5 }
pigment { rgb 0.5 } finish { F_MetalD }
}
cone { <0,1,-1>, 2, <0,-5,-1>, 0.2 pigment { rgb 0.7 } finish { F_MetalD } }
translate <0,13.5,-16> rotate <0,head_rotate,0>
}
//Ground laser
difference{
sphere { 0,1 scale <1,1000,1> hollow
pigment { rgbt 1 }
interior
{ media
{ emission 4+4
density
{ cylindrical density_map
{
[ 0 rgb <0, 0, 0> ]
[ 0.25 rgb <0, 0.4, 0.8> ]
[ 0.5 rgb <0.2, 0.6, 1> ]
[ 0.75 rgb <0.6, 0.8, 1> ]
[ 1.0 rgb <0.6, 1, 1> ]
}
turbulence 0.1
frequency 0.5
}
}
}
}
cylinder { <0,-980,0>, <0,-1000,0>, 2 }
rotate <0,0,90> translate <-980,13,0> rotate <0,-20-40,0> rotate <-30,0,0>
}
finish { ambient 1 }
rotate <-10,0,0>
}
//Drone 2 ******************************************************************
//Main union
union{
#declare head_rotate = 10;
//Drill
union{
cone { <0,5,0>, 10, <0,-17,0>, 0.2
pigment { rgbt <1,0,0,0.5> } finish { F_MetalA }
}
#declare screw = 0;
#declare screws = 8;
#while(screw <= screws)
difference{
cylinder { <0,3,0>, <0,3.4,0>, 10-(screw*0.95) translate <0,-2.1*screw,0>
pigment { rgb <1,0.01,0> } finish { F_MetalA }
}
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 } }
}
#declare screw = screw + 1;
#end
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 }
hollow
interior
{ media
{ emission 10
density
{ cylindrical density_map
{
[ 0.0 rgb <1, 0.4, 0> ]
[ 0.3 rgb <1, 0.2, 0> ]
[ 0.5 rgb <1, 0.5, 0> ] //yellow
[ 0.75 rgb <.5, 0, 0> ]
[ 1.0 rgb <0, 0, 0> ]
}
turbulence 0.1
frequency 1
}
}
}
}
scale 1.1
}
cone { <0,5,0>, 13, <0,8,0>, 14.5
texture { T_Chrome_4A }
}
union{
cylinder { <0,8,0>, <0,7,0>, 15 pigment { rgbt 0.5 } finish { F_MetalE } }
light_source { <17,6,0> color Blue*15 rotate <0,110,0> }
}
//Dome
difference {
sphere { <0,1,0>, 18 }
cylinder { <0,8,0>, <0,-25,0>, 18 }
#declare SF = 0.8;
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1> rotate <0,head_rotate,0>
}
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1>
scale <-1,0,0>
}
texture { T_Chrome_5A } rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0> rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0>
scale <-1,0,0> rotate <0,head_rotate,0>
}
union{
difference{
difference{
cylinder { <0,0,-1>, <0,0,1>, 3 }
cylinder { <0,0,-2>, <0,0,2>, 1.5 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
//pigment { rgb <1,0,0> }
}
cylinder { <0,3,-4>, <0,3,4>, 1.7 }
pigment { rgb 0.7 } finish { F_MetalD }
translate <0,7,-20>
scale <1,1.1,0.5>
}
difference{
difference{
cylinder { <0,0,-0.9>, <0,0,0.9>, 2.7 }
cylinder { <0,0,-2>, <0,0,2>, 1.7 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
//pigment { rgb <1,0,0> }
}
cylinder { <0,2,-4>, <0,2,4>, 1.0 }
pigment { rgb 1 }
translate <0,8,-20>
scale <0.8,1.0,0.5>
}
scale <1,1.5,1>
rotate <20,0,0>
translate <0,-7.2,-12> rotate <0,head_rotate,0>
}
intersection{
difference {
cylinder { <0,0,-0.9>, <0,0,0.9>, 4}
cylinder { <0,0,-2>, <0,0,2>, 2.5 }
pigment { rgb 0.5 } finish { F_MetalD }
}
cone { <0,1,-1>, 2, <0,-5,-1>, 0.2 pigment { rgb 0.7 } finish { F_MetalD } }
translate <0,13.5,-16> rotate <0,head_rotate,0>
}
//Ground laser
difference{
sphere { 0,1 scale <1,1000,1> hollow
pigment { rgbt 1 }
interior
{ media
{ emission 1
density
{ cylindrical density_map
{
[ 0 rgb <0, 0, 0> ]
[ 0.25 rgb <0, 0.4, 0.8> ]
[ 0.5 rgb <0.2, 0.6, 1> ]
[ 0.75 rgb <0.6, 0.8, 1> ]
[ 1.0 rgb <0.6, 1, 1> ]
}
turbulence 0.1
frequency 0.5
}
}
}
}
cylinder { <0,-980,0>, <0,-1000,0>, 2 }
rotate <0,0,90> translate <-980,12.3,0> rotate <0,-20-40,0> rotate <-20,0,0>
}
finish { ambient 1 }
translate <100,50,100>
rotate <-10,0,0>
}
//Flight****************************************************************
#declare ant_lion = 1;
#declare ant_lions = 18;
#while(ant_lion <= ant_lions)
#declare head_rotate = RRand(-40,40,0.8);
//Main union
union{
//Plasma Drill
union{
cone { <0,5,0>, 10, <0,-17,0>, 0.2
pigment { rgbt <1,0,0,0.5> } finish { F_MetalA }
}
#declare screw = 0;
#declare screws = 8;
#while(screw <= screws)
difference{
cylinder { <0,3,0>, <0,3.4,0>, 10-(screw*0.95) translate <0,-2.1*screw,0>
pigment { rgb <1,0.01,0> } finish { F_MetalA }
}
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 } }
}
#declare screw = screw + 1;
#end
cone { <0,5,0>, 8, <0,-15,0>, 0.2 pigment { rgbt 1 }
hollow
interior
{ media
{ emission 10
density
{ cylindrical density_map
{
[ 0.0 rgb <1, 0.4, 0> ]
[ 0.3 rgb <1, 0.2, 0> ]
[ 0.5 rgb <1, 0.5, 0> ] //yellow
[ 0.75 rgb <.5, 0, 0> ]
[ 1.0 rgb <0, 0, 0> ]
}
turbulence 0.1
frequency 1
}
}
}
}
scale 1.1
}
cone { <0,5,0>, 13, <0,8,0>, 14.5
texture { T_Chrome_4A }
}
union{
cylinder { <0,8,0>, <0,7,0>, 15 pigment { rgbt 0.5 } finish { F_MetalE } }
light_source { <17,6,0> color Blue*15 rotate <0,110,0> }
}
//Dome
difference {
sphere { <0,1,0>, 18 }
cylinder { <0,8,0>, <0,-25,0>, 18 }
#declare SF = 0.8;
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
//pigment { rgb <0,1,0,0.8> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1>
}
intersection {
sphere { <0,0,0>, 10*SF }
cone { <0,10,10>*SF, 3*SF, <0,10,-10>*SF, 0.1*SF scale <0.6,1,1> }
pigment { rgb 0.5 }
rotate <0,0,15>
rotate <-35,0,0>
translate <0,6,-7>*(1/SF)
rotate <0,25,0>
rotate <-15,0,0> scale <1,1.1,1>
scale <-1,0,0>
}
texture { T_Chrome_5A } rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0> rotate <0,head_rotate,0>
}
//Laser turret
union{
difference{
sphere { <0,0,0>, 5 pigment { rgb 0.5 } finish { F_MetalD } }
cylinder { <0.5,3,0>, <-0.5,3,0>, 4 rotate <0,0,-30> }
}
sphere { <0,0,0>, 4.8 pigment { rgb 0.5 } finish { F_MetalA } }
translate <8+2,14-1,0>
scale <-1,0,0> rotate <0,head_rotate,0>
}
union{
difference{
difference{
cylinder { <0,0,-1>, <0,0,1>, 3 }
cylinder { <0,0,-2>, <0,0,2>, 1.5 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
}
cylinder { <0,3,-4>, <0,3,4>, 1.7 }
pigment { rgb 0.7 } finish { F_MetalD }
translate <0,7,-20>
scale <1,1.1,0.5>
}
difference{
difference{
cylinder { <0,0,-0.9>, <0,0,0.9>, 2.7 }
cylinder { <0,0,-2>, <0,0,2>, 1.7 }
}
difference{
cylinder { <0,0,-3>, <0,0,3>, 5 }
cylinder { <0,0,-2>, <0,0,2>, 3 }
translate <0,2,0>
}
cylinder { <0,2,-4>, <0,2,4>, 1.0 }
pigment { rgb 1 }
translate <0,8,-20>
scale <0.8,1.0,0.5>
}
scale <1,1.5,1>
rotate <20,0,0>
translate <0,-7.2,-12> rotate <0,head_rotate,0>
}
intersection{
difference {
cylinder { <0,0,-0.9>, <0,0,0.9>, 4}
cylinder { <0,0,-2>, <0,0,2>, 2.5 }
pigment { rgb 0.5 } finish { F_MetalD }
}
cone { <0,1,-1>, 2, <0,-5,-1>, 0.2 pigment { rgb 0.7 } finish { F_MetalD } }
translate <0,13.5,-16> rotate <0,head_rotate,0>
}
finish { ambient 1 }
#declare VR = VRand_In_Box(<-100,-50,100>, <200,100,600>, 3.2);
translate VR*1 translate <0,0,0>
rotate <-10,0,0>
}
#declare ant_lion = ant_lion+1;
#end