PovJouets/incs/electric.inc

161 lines
3.4 KiB
PHP

/*
UNE LOCOMOTIVE ELECTRIQUE
-------------------------
necessite l'inclusion des elements communs 'train.inc'
*/
#include "incs/instruments.inc"
#declare Base_Loco_Electric = object
{
#local DYR = 3;
union {
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -12> }
object { Petite_Roue translate < 5.5, DYR, -12> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, -5> }
object { Petite_Roue translate < 5.5, DYR, -5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 5> }
object { Petite_Roue translate < 5.5, DYR, 5> }
object { Petite_Roue scale <-1, 1, 1> translate <-5.5, DYR, 12> }
object { Petite_Roue translate < 5.5, DYR, 12> }
}
}
#declare Chassis_Electric = object
{
box { <-4.5, 1, -10>, <4.5, 2, 10> }
texture {
pigment { color BlueViolet }
finish { phong 0.6 }
}
}
#declare Cabine_Loco_Electric = object
{
union {
box { <-4, 4, -11>, <4, 10, 11> }
cylinder { <-3, 10, -11>, <-3, 10, 11> 1 }
cylinder { < 3, 10, -11>, < 3, 10, 11> 1 }
cylinder { <0, 5, -11>, <0, 10, -11>, 4 }
difference {
cylinder { <0, 3, -11>, <0, 11, -11>, 3 }
cylinder { <0, 5, -11>, <0, 11.1, -11>, 2.8 }
}
torus { 3, 1 translate <0, 10, -11> }
cylinder { <0, 5, 11>, <0, 10, 11>, 4 }
difference {
cylinder { <0, 3, 11>, <0, 11, 11>, 3 }
cylinder { <0, 5, 11>, <0, 11.1, 11>, 2.8 }
}
torus { 3, 1 translate <0, 10, 11> }
}
texture {
pigment { color DarkGreen }
finish { phong 0.8 }
}
}
// -------------------------------------------------------------------
#declare Haut_Pento = 15;
#declare Base_Panto_0 = object
{
union {
cylinder { <0, 10, 0>, <0, 10.1, 0>, 1 }
cylinder { <0, 10, 0>, <0, Haut_Pento, 0>, .155 }
cylinder { <-2, Haut_Pento, 0>, <2, Haut_Pento, 0>, .155 }
sphere { <-2, Haut_Pento, 0>, .31 }
sphere { < 2, Haut_Pento, 0>, .31 }
}
}
#declare Bases_Panto = object
{
union {
object { Base_Panto_0 translate z*2.9 }
object { Base_Panto_0 translate z*-2.9 }
}
texture { T_Copper_2C }
}
// -------------------------------------------------------------------
#declare Armature_Cockpit = object
{
union {
torus { 3, 0.12 rotate <90, 0, 0> }
torus { 3, 0.12 rotate <90, 120, 0> }
torus { 3, 0.12 rotate <90, 240, 0> }
difference
{
cylinder { <0, 0, 0>, <0, .2, 0>, 3.2 }
cylinder { <0, -0.1, 0>, <0, .21, 0>, 2.8 }
}
cylinder { <0, 2.95, 0>, <0, 3.12, 0>, .8 }
}
texture { T_Chrome_2C }
}
#include "textures.inc"
#declare Bulle_Cockpit = object
{
difference {
sphere { <0, 0, 0>, 3.000 }
sphere { <0, 0, 0>, 2.996 }
}
interior { I_Glass }
texture { Glass2 }
finish { reflection 0.2 }
}
#declare Cockpit = object
{
difference
{
union
{
object { Armature_Cockpit }
object { Bulle_Cockpit }
}
box { <-5, -0.1, -5>, <5, -5, 5> }
}
scale <1, 0.8, 1>
translate y*11
}
// -------------------------------------------------------------------
#declare Les_Phares = object
{
union
{
object { Phare_0 translate < 3.6, 8, -15.7> }
object { Phare_0 translate <-3.6, 8, -15.7> }
box {
<3.8, 7.9, -14.5>, <-3.8, 8.1, -14>
texture { T_Chrome_3A }
}
}
}
// -------------------------------------------------------------------
#declare Locomotive_Electric = object
{
union
{
object { Base_Loco_Electric }
object { Cabine_Loco_Electric }
object { Cockpit translate z*11 }
object { Cockpit translate z*-11 }
object { Bases_Panto }
object { Les_Phares }
object { Chassis_Electric }
}
}
//-------------------- yo ! -------------------------------------------