// M.C. Escher pipes
// )C( 8/1995 Christian Perle
// a very simple scene...

#max_trace_level 25

camera {
  location <.2, .11, -.9>
  direction <0, 0, .5>
  look_at <-.2, 0, .9>
}

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

#declare Pipe = cylinder { <-1, -1, -1>, <1, -1, -1>, .09 }

#declare Pipes = union {
  object { Pipe }
  object { Pipe rotate 90*y }
  object { Pipe rotate 180*y }
  object { Pipe rotate 270*y }
  object { Pipe translate 2*y }
  object { Pipe rotate 90*y translate 2*y }
  object { Pipe rotate 180*y translate 2*y }
  object { Pipe rotate 270*y translate 2*y }
  object { Pipe rotate 90*z }
  object { Pipe rotate 90*z rotate 90*y }
  object { Pipe rotate 90*z rotate 180*y }
  object { Pipe rotate 90*z rotate 270*y }
}

union {
  box {
    <-1, -1, -1>, <1, 1, 1>
    pigment { color rgb<.4, .4, 1> }
    finish { ambient 0 diffuse .1 reflection 1 }
  }
  object {
    Pipes
    pigment { color rgb<.2, .2, .2> }
    finish { specular .8 }
  }
}