// Tuba canora e computosa
// 15/05/2003 Thiago Barroso Fonte Boa

#include "textures.inc"

light_source{
  <0,2,-7> color rgb <1,1,1>}

light_source{
  <-2,3,6> color rgb <1,1,1>}

light_source{
  <2,0,-3> color rgb <1,1,1>}

light_source{
  <0,1,2> color rgb <1,1,1>}

light_source{
  <1,0,-1> color rgb <1,1,1>}

light_source{
  <-1,1,-1> color rgb <1,1,1>}

plane{y,-3
  pigment{color rgb <0.5,0.3,0.1>}
}

camera {
  location  <  0, 0, -10 >
  look_at   <  -0.4, -0.3, -8 >
} 

sky_sphere{
  pigment {Blue_Sky}
}

#declare falante=
lathe{
  5,
  <0.5,0>,<0.8,0>,<1.4,-2>,<1.1,-2>,<0.5,0>
  finish{
    ambient 0.1 diffuse 0.1
    reflection 0.25
    specular 1 roughness 0.001
  }
  pigment {color rgb<0.5,0.6,0.3>}
}

#declare falante1=
lathe{
  5,
  <0.3,0>,<0.6,0>,<1.0,-2>,<0.7,-2>,<0.3,0>
  finish{
    ambient 0.1 diffuse 0.1
    reflection 0.25
    specular 1 roughness 0.001
  }
  pigment {color rgb<0.5,0.6,0.3>}
}

#declare pega=
prism{
  0,1.5,6,
  <0.3,0.3>,<0.6,0.3>,<0.7,0.6>,<0.4,1>,<0.2,0.7>,<0.3,0.3>
  finish{
    ambient 0.1 diffuse 0.1
    reflection 0.25
    specular 1 roughness 0.001
  }
  pigment {color rgb<0.5,0.6,0.3>}
}

#declare tuba=
difference{
union{
  lathe{
    5,
    <0.5,0>,<0.8,0>,<0.8,5>,<0.5,5>,<0.5,0>
    finish{
      ambient 0.1 diffuse 0.1
      reflection 0.25
      specular 1 roughness 0.001
    }
    pigment {color rgb<0.5,0.6,0.3>}
  }

  falante
  object{falante1 rotate<0,0,90> translate<0.4,1,0>}
  object{falante1 rotate<0,0,-90> translate<-0.4,1,0>}
  object{pega rotate<90,0,0> translate<-0.46,1.2,0.8> scale<2,2,1>}
  object{pega rotate<90,0,0> translate<-0.46,2.4,0.8> scale<2,2,1>}
}

cylinder{
  <0,1.7,0>,<0,1.7,-5>,0.4 pigment{color rgb<0.5,0.6,0.3>}}
cylinder{
  <0,3.6,0>,<0,3.6,-5>,0.4 pigment{color rgb<0.5,0.6,0.3>}}
}

object{tuba rotate<115,215,-20>}