You are on page 1of 8

#include "colors.

inc"
#include "textures.inc"
#include "shapes.inc"
#include "metals.inc"
#include "glass.inc"
#include "woods.inc"

light_source {< -50, 25, -50>


rgb<1,1,1>

camera {
location <0, 2,-50>
look_at <10,10,1>
}

background { <0.2, 0.2, 0.3> }


sphere{
<49, 39, 9>, 7
pigment{
color rgb <1,0, 4>
}

texture {
Silver_Metal // un objeto de metal ...
normal { // ... que ha sido golpeado
dents 2
scale 1.5
} } }

// riel de atr�s
#declare Riel_atras = box {
<-1000, -3,-3>, // Esquina de abajo a la izquierda
< 100,-2.5, -3> // Esquina de arriba a la derecha
pigment{
color Gray20
}
}

// Riel del frente


#declare Riel_frente = box {
<-1000, -5,-1>, // Esquina de abajo a la izquierda
< 1000,-5, -5> // Esquina de arriba a la derecha
pigment{
color Gray20
}
}

//primera tabla (izq/der)


#declare palo1 = box {
<-30, -5,20>, // Esquina de abajo a la izquierda
< -15,-5, -1> // Esquina de arriba a la derecha
pigment{
color Sienna
}
}

//segunda tabla (izq/der)


#declare palo2 = box {
< -10,-9, 21>, // Esquina de abajo a la izquierda
< 5,-9, 70> // Esquina de arriba a la derecha
pigment{
color Sienna
}
}

//tercera tabla (izq/der)


#declare palo3 = box {
< 42,-9, 25>, // Esquina de abajo a la izquierda
< 20,-9, 70> // Esquina de arriba a la derecha
pigment{
color Sienna
}
}

//cuarta tabla (izq/der)


#declare palo4 = box {
< 120,-9, 21>, // Esquina de abajo a la izquierda
< 69,-9, 60> // Esquina de arriba a la derecha
pigment{
color Sienna
}
}

// intersecciones rieles
intersection {
union {
object { Riel_atras }
object { palo1 }
object { palo2 }
object { palo3 }
object { palo4 }
object { Riel_frente }
} }

//Cilindro tren
union{
cylinder
{
<3,2.7,-30>, <-3,2.7,-30>, 2
pigment{
color Red
}
}

//punta del tren


sphere
{ <-3,2.7,-30>, 2
pigment{
color Red
}
}
//ca�on 1
cone
{
<-3,3.8,-30>, 0.5, <-3,8,-30>, 1.1
pigment{
color Red
}
}

//ca�on 2
cylinder
{
<-0.5,4.6,-30>, <-0.5,6,-30>, 0.7
pigment{
color Red
}
}

//campana
cone
{
<1,5.6,-30>,0.5, <2,7,-30>, 0.1
pigment{
color Yellow
}
}

box {
<3,1,-20>, // Esquina de abajo a la izquierda
<2,10,-20> // Esquina de arriba a la derecha
pigment{
color Black
}
}

//Cabina vidrio
box {
<3,0.3,-30>, // Esquina de abajo a la izquierda
<3.3,10.8,-10> // Esquina de arriba a la derecha
pigment{
DarkSlateGray transmit .50
}
}
// techo cabina
box {
<2,10.5,-20>, // Esquina de abajo a la izquierda
<12,10.5,-30.7> // Esquina de arriba a la derecha
pigment{
color Red
}
}

// fondo cabina
box {
<5,20,-1>, // Esquina de abajo a la izquierda
<16,-1,-3> // Esquina de arriba a la derecha
pigment{
color Red
}
}

// frente cabina
box {
<3,0.5,-10>, // Esquina de abajo a la izquierda
<9,4,-32> // Esquina de arriba a la derecha
pigment{
color Red
}
}

// lado derecho cabina


box {
<10,10.6,-30>, // Esquina de abajo a la izquierda
<10.1,1,-20> // Esquina de arriba a la derecha
pigment{
color Red
}
}

//carro
box {
<14,0,-30>, // Esquina de abajo a la izquierda
<20,7,-20> // Esquina de arriba a la derecha
pigment{
color Green
}
}

//union carro
box {
<10,2.5,-27>, // Esquina de abajo a la izquierda
<20,3,-10> // Esquina de arriba a la derecha
pigment{
color Gray20
}
}

//carb�n
sphere
{ <20,9,-20>,1
pigment{
color Black
}
}

sphere
{ <22,9,-20>,1
pigment{
color Black
}
}

sphere
{ <24,9,-20>,1
pigment{
color Black
}
}

sphere
{ <26,9,-20>,1
pigment{
color Black
}
}

sphere
{ <28,9,-20>,1
pigment{
color Black
}
}

sphere
{ <20,9,-22>,1
pigment{
color Black
}
}

sphere
{ <20,9,-24>,1
pigment{
color Black
}
}

sphere
{ <20,9,-26>,1
pigment{
color Black
}
}

sphere
{ <20,9,-28>,1
pigment{
color Black
}
}

sphere
{ <20,8.5,-28.5>,1
pigment{
color Black
}
}

sphere
{ <30,10,-20>,1
pigment{
color Black
}
}

sphere
{ <15,7,-24>,1
pigment{
color Black
}}

sphere
{ <20,9,-17>,1
pigment{
color Black
}}

//Rueda 1 adelante
torus
{
5,0.5
translate <-20,20,10>
rotate z*90
rotate y*90
translate <-10,20,-20>
pigment{
color Black
}
}

//Rueda 2 atras
torus
{
10,0.8
translate <-27,25,20>
rotate z*90
rotate y*90
translate <-27,25,40>
pigment{
color Black
}
}

//Rueda 3 cabina adelante


torus
{
5,0.5
translate <40,10,-20>
rotate z*90
rotate y*90
translate <33,-39,-20>
pigment{
color Black
}
}

//Rueda 4 carro atras


torus
{
5,0.5
translate <40,10,-1>
rotate z*90
rotate y*90
translate <37,-39.5,0>
pigment{
color Black
}
}

//Rueda 5 carro adelante


torus
{
5,0.5
translate <20,-20,25>
rotate z*90
rotate y*90
translate <17,-20,20>
pigment{
color Black
}
}

//Rueda 6 cabina a
torus
{
4.9,0.5
translate <29,0,-5>
rotate z*90
rotate y*90
translate <17,-28,-5>
pigment{
color Black
}
}
}
//Maquinista

union {
difference {
sphere{ < 12,12.7, -0.2>, 3.7 }//cabeza
sphere{ <10,13.5,-4.5>, 1.4 }//ojo izquiero
texture{
pigment { Feldspar transmit .27 }
finish { phong 0.3 }
} }}
sphere{ <9.3,12,-4>, 0.5 pigment { Feldspar transmit .27 } finish { phong
0.3 } } //nariz

//cuerpo
union {
sphere{ < 12,8, -0.2>, 4.0 texture { pigment { color White } finish { phong
0.3 }}} }//panza
sphere{ <10,9.9,-4>, 0.4 texture { pigment { color Black } finish { phong 0.3 } }
}//boton
plane { <0, 1, 0>, -9.004
texture {
pigment { Gold transmit .25 } }}

//Humo
union{
sphere
{ <-3,8,-30>,1
pigment{
White transmit .70
}
}

sphere
{ <-2.5,9,-30>,1
pigment{
White transmit .70
}
}

sphere
{ <-2,9.4,-30>,1
pigment{
White transmit .70
}
}

sphere
{ <-1.9,10,-30>,1
pigment{
White transmit .70
}
}

sphere
{ <-1,10,-30>,1
pigment{
White transmit .70
}
}
}

fog {
distance 250
color <0.2, 0.2, 0.3>
}