250 lines
4.3 KiB
PHP
250 lines
4.3 KiB
PHP
/*
|
|
Un wagon de voyageurs
|
|
---------------------
|
|
|
|
*/
|
|
|
|
#declare Chassis_Corail = object
|
|
{
|
|
union
|
|
{
|
|
box { <-4, 5.5, -20>, <4, 6.5, 20> }
|
|
box { <-3.5, 3.5, -5>, <3.5, 5.4, -1> }
|
|
box { <-3.5, 3.5, 5>, <3.5, 5.4, 1> }
|
|
}
|
|
texture {
|
|
pigment { color Yellow }
|
|
finish { phong 0.7 }
|
|
}
|
|
}
|
|
|
|
#declare Base_Corail = object
|
|
{
|
|
union
|
|
{
|
|
object { Chassis_Corail }
|
|
object { Boogie translate z*-13.8 }
|
|
object { Boogie translate z* 13.8 }
|
|
}
|
|
finish { phong 0.65 }
|
|
}
|
|
|
|
|
|
#declare LARG_FEN = 5;
|
|
#declare HAUT_FEN = 4;
|
|
#declare E_FEN = 0.5;
|
|
|
|
#declare Bord_Fenetre = object
|
|
{
|
|
difference
|
|
{
|
|
box { <-1, -HAUT_FEN, -LARG_FEN>,
|
|
<1, HAUT_FEN, LARG_FEN> }
|
|
box { <-2, -HAUT_FEN+E_FEN, -LARG_FEN+E_FEN>,
|
|
<2, HAUT_FEN-E_FEN, LARG_FEN-E_FEN> }
|
|
}
|
|
|
|
texture { T_Chrome_2C }
|
|
}
|
|
|
|
#declare Cabine_Corail = object
|
|
{
|
|
difference
|
|
{
|
|
box { <-4.5, 6.6, -20>, <4.5, 15, 20> }
|
|
box { <-4, 6.6, -19.5>, <4, 15.1, 19.5> }
|
|
|
|
#declare foo = -4;
|
|
#while (foo <= 4)
|
|
#declare px = foo * 4.16;
|
|
box { <-5, 9.42, px-1.7>, <5, 13.5, px+1.7> }
|
|
#declare foo = foo + 1;
|
|
#end
|
|
|
|
/*
|
|
* c'est quoi, ce truc ?
|
|
* ben, les portes des deux bouts !
|
|
*/
|
|
box { <-2.2, 7, -21>, < 2.2, 14.8, -19> }
|
|
box { <-2.2, 7, 21>, < 2.2, 14.8, 19> }
|
|
}
|
|
pigment { color Orange }
|
|
finish { phong 0.5 }
|
|
}
|
|
|
|
#declare Toit_Corail = object
|
|
{
|
|
intersection
|
|
{
|
|
box { <-4.7, 0, -21>, <4.7, 14, 21> }
|
|
cylinder { <0, -11, -22>, <0, -11, 22>, 12.5 }
|
|
}
|
|
translate y*15
|
|
texture
|
|
{
|
|
pigment { color Red }
|
|
finish { phong 0.6 }
|
|
}
|
|
}
|
|
|
|
//
|
|
// la tuyauterie sur les deux caissons d'en dessous
|
|
//
|
|
#declare Tuyaux_Corail = object
|
|
{
|
|
#local posX = 4.8;
|
|
#local diametre = 1.2;
|
|
union
|
|
{
|
|
cylinder { <-4.7, 4.5, -5>, <-4.7, 4.5, 5>, diametre }
|
|
sphere { <-4.7, 4.5, -5>, diametre }
|
|
sphere { <-4.7, 4.5, 5>, diametre }
|
|
cylinder { < 4.7, 4.5, -5>, < 4.7, 4.5, 5>, diametre }
|
|
sphere { < 4.7, 4.5, -5>, diametre }
|
|
sphere { < 4.7, 4.5, 5>, diametre }
|
|
}
|
|
texture { T_Chrome_4C }
|
|
}
|
|
|
|
// ------------------------------------------
|
|
|
|
#declare Armature_Siege_Corail = object
|
|
{
|
|
union
|
|
{
|
|
cylinder { <-1.3, 0, 0>, <-1.3, 1.50, 0>, 0.2 }
|
|
cylinder { < 1.3, 0, 0>, < 1.3, 1.50, 0>, 0.2 }
|
|
|
|
cylinder { <-1.3, 0, 0>, <-1.3, .10, 0>, 0.5 }
|
|
cylinder { < 1.3, 0, 0>, < 1.3, .10, 0>, 0.5 }
|
|
|
|
cylinder { <-2.1, 1.03, 0>, < 2.1, 1.03, 0>, 0.096 }
|
|
|
|
/*
|
|
* les deux barres qui tiennent les dossiers
|
|
*/
|
|
cylinder { <-1.3, 0.9, 0.9>, <-1.3, 3.7, 0.9>, 0.068 }
|
|
cylinder { < 1.3, 0.9, 0.9>, < 1.3, 3.7, 0.9>, 0.068 }
|
|
|
|
sphere { <-1.3, 3.7, 0.9>, 0.068 }
|
|
sphere { < 1.3, 3.7, 0.9>, 0.068 }
|
|
}
|
|
texture { T_Chrome_2C }
|
|
}
|
|
|
|
#declare Coussins_Siege_Corail = object
|
|
{
|
|
union
|
|
{
|
|
box { <-2, 1.75, -1>, <2, 1.40, 1> }
|
|
box { <-2, 1.95, 1>, <2, 3.10, 0.8> }
|
|
|
|
cylinder { <-2, 3.38, 0.9>, <2, 3.38, 0.9>, 0.2 }
|
|
}
|
|
texture
|
|
{
|
|
pigment { color Brown }
|
|
normal { bumps 0.6 scale 0.42 }
|
|
finish { phong 0.4 diffuse 0.3 }
|
|
}
|
|
}
|
|
|
|
#declare Siege_Corail = object
|
|
{
|
|
union
|
|
{
|
|
object { Armature_Siege_Corail }
|
|
object { Coussins_Siege_Corail }
|
|
}
|
|
}
|
|
|
|
// ------------------------------------------
|
|
//
|
|
// avant de faire les lumieres, il faut faire l'ampoule.
|
|
//
|
|
#declare Ampoule_Corail = object
|
|
{
|
|
sphere { <0, 0, 0> 0.2 pigment { color Gray90 } }
|
|
}
|
|
|
|
// ------------------------------------------
|
|
|
|
#declare Lumieres_Corail = object
|
|
{
|
|
|
|
union
|
|
{
|
|
#declare foo = -2;
|
|
#while (foo <= 2)
|
|
#declare px = foo * 6.97;
|
|
|
|
sphere { <0, 15.3, px> 0.6 pigment { color BakersChoc } }
|
|
|
|
light_source {
|
|
<0, 0, px> color Gray35
|
|
fade_distance 6 fade_power 1
|
|
looks_like { Ampoule_Corail }
|
|
translate y*13.8
|
|
}
|
|
|
|
#declare foo = foo + 1;
|
|
#end
|
|
}
|
|
|
|
}
|
|
|
|
#declare Interieur_Corail = object
|
|
{
|
|
union
|
|
{
|
|
#declare foo = -4;
|
|
#while (foo <= 4)
|
|
#declare px = foo * 4.16;
|
|
object { Siege_Corail translate <1.5, 6.6, px> }
|
|
#declare foo = foo + 1;
|
|
#end
|
|
}
|
|
}
|
|
// ------------------------------------------
|
|
|
|
/*
|
|
* MAIS CETTE RAMPE EST COMPLETEMENT FAUSSE !!!
|
|
*/
|
|
#declare Rampe = object
|
|
{
|
|
union
|
|
{
|
|
#declare foo = -2;
|
|
#while (foo <= 2)
|
|
#declare px = foo * 6.97;
|
|
|
|
sphere { <0, 15.3, px> 0.6 pigment { color BakersChoc } }
|
|
|
|
light_source {
|
|
<0, 0, px> color Gray25
|
|
fade_distance 6 fade_power 1
|
|
looks_like { Ampoule_Corail }
|
|
translate y*13.8
|
|
}
|
|
|
|
#declare foo = foo + 1;
|
|
#end
|
|
}
|
|
}
|
|
// ------------------------------------------
|
|
|
|
#declare Wagon_Corail = object
|
|
{
|
|
union
|
|
{
|
|
object { Base_Corail }
|
|
object { Cabine_Corail }
|
|
object { Toit_Corail }
|
|
object { Tuyaux_Corail }
|
|
object { Interieur_Corail }
|
|
object { Lumieres_Corail }
|
|
object { Rampe }
|
|
}
|
|
}
|
|
|