// Last edited on 2003-06-22 02:09:02 by stolfi
#include "colors.inc"


#declare A11 = <-16, 6.0, 0>;
#declare A12 = <-14, 5.5, 0>;
#declare A13 = <-12, 5.0, 0>;
#declare A14 = <-10, 4.5, 0>;
#declare A21 = <-16, 2, 0>;
#declare A22 = <-14, 2, 1>;
#declare A23 = <-12, 2, 2>;
#declare A24 = <-10, 2, 1>;
#declare A31 = <-16, -2, 0>;
#declare A32 = <-14, -2, 1>;
#declare A33 = <-12, -2, 2>;
#declare A34 = <-10, -2, 1>;
#declare A41 = <-16, -6.0 ,0>;
#declare A42 = <-14, -5.5 ,0>;
#declare A43 = <-12, -5.0 ,0>;
#declare A44 = <-10, -4.5 ,0>;


#declare B11 = <-10, 4.5, 0>;
#declare B12 = <-5, 6.0, 0>;
#declare B13 = < 0, 6.0, 0>;
#declare B14 = < 5, 6.0, 0>;
#declare B21 = <-10, 2, 1>;
#declare B22 = <-5, 2, 4>;
#declare B23 = < 0, 2, 4>;
#declare B24 = < 5, 2, 3>;
#declare B31 = <-10, -2, 1>;
#declare B32 = <-5, -2, 4>;
#declare B33 = < 0, -2, 4>;
#declare B34 = < 5, -2, 3>;
#declare B41 = <-10, -4.5 ,0>;
#declare B42 = <-5, -6.0 ,0>;
#declare B43 = < 0, -6.0 ,0>;
#declare B44 = < 5, -6.0 ,0>;

#declare C11 = < 5, 6.0, 0>;
#declare C12 = < 8, 4.5, 0>;
#declare C13 = <10, 3.0, 0>;
#declare C14 = <13, 1.0, 0>;
#declare C21 = < 5, 3, 3>;
#declare C22 = < 8, 2, 2>;
#declare C23 = <10, 1, 1>;
#declare C24 = <11, 0.5, 0>;
#declare C31 = < 5, -3, 3>;
#declare C32 = < 8, -2, 2>;
#declare C33 = <10, -1, 1>;
#declare C34 = <11, -0.5, 0>;
#declare C41 = < 5, -6.0 ,0>;
#declare C42 = < 8, -4.5 ,0>;
#declare C43 = <10, -3.0 ,0>;
#declare C44 = <13, -1.0 ,0>;

#declare bz_scale = 0.72;
#include "../../bz-things.inc"

#declare retalho1 = 
  union{
    bicubic_patch{
      type 1 flatness 0
      u_steps 4 v_steps 4
      A11, A12, A13, A14,
      A21, A22, A23, A24,
      A31, A32, A33, A34,
      A41, A42, A43, A44
      texture { bz_tx_A }
    }
    object { bz_grid_A }
  }


#declare retalho2 = 
  union{
    bicubic_patch{
      type 1 flatness 0
      u_steps 4 v_steps 4
      B11, B12, B13, B14,
      B21, B22, B23, B24,
      B31, B32, B33, B34,
      B41, B42, B43, B44
      texture { bz_tx_B }
    }
    object { bz_grid_B }
  }

#declare retalho3 = 
  union{
    bicubic_patch{
      type 1 flatness 0
      u_steps 4 v_steps 4
      C11, C12, C13, C14,
      C21, C22, C23, C24,
      C31, C32, C33, C34,
      C41, C42, C43, C44
      texture { bz_tx_C }
    }
    object { bz_grid_C }
  }

#declare scene =
  union{
    union{
      object{retalho1 scale<1,1,1> }
      object{retalho2 scale<1,1,1> }
      object{retalho3 scale<1,1,1> }
      object{retalho1 scale<1,1,-1> }
      object{retalho2 scale<1,1,-1> }
      object{retalho3 scale<1,1,-1> }
      translate < 0, 0, 0 >
    }
    // object{ bz_axes }
  }

object{ bz_checker_bg }
object{ scene translate bz_rite_pos }
object{ scene rotate -90*y translate bz_left_pos }