// Last edited on 2003-06-21 23:55:47 by stolfi

# include "colors.inc"

#declare A11=<0,4,0>;
#declare A12=<0.5,4.3,0>;
#declare A13=<1,4.6,0>;
#declare A14=<1.5,4.6,0>;
#declare A21=<0,3.9,0.5>;
#declare A22=<0.5,4.1,2>;
#declare A23=<1,4.4,2>;
#declare A24=<1.5,4.4,2>;
#declare A31=<0,2,0.5>;
#declare A32=<0.5,1.5,2>;
#declare A33=<1,1.4,2>;
#declare A34=<1.5,1.4,2>;
#declare A41=<0,1,0>;
#declare A42=<0.5,0.5,0>;
#declare A43=<1,0.4,0>;
#declare A44=<1.5,0.4,0>;

#declare B11=<1.5,4.6,0>;
#declare B12=<2.0,4.6,0>;
#declare B13=<2.5,3.8,0>;
#declare B14=<3,3.8,0>;
#declare B21=<1.5,4.4,2>;
#declare B22=<2,4.4,2>;
#declare B23=<2.5,3.6,2>;
#declare B24=<3,3.6,2>;
#declare B31=<1.5,1.4,2>;
#declare B32=<2,1.4,2>;
#declare B33=<2.5,3,2>;
#declare B34=<3,3,2>;
#declare B41=<1.5,0.4,0>;
#declare B42=<2,0.4,0>;
#declare B43=<2.5,0.8,0>;
#declare B44=<3,0.8,0>;

#declare C11=<3,3.8,0>;
#declare C12=<3.5,3.8,0>;
#declare C13=<4,4.2,0>;
#declare C14=<4.5,4.5,0>;
#declare C21=<3,3.6,2>;
#declare C22=<3.5,3.6,2>;
#declare C23=<4,4,2>;
#declare C24=<4.5,4.3,2>;
#declare C31=<3,3,2>;
#declare C32=<3.5,3,2>;
#declare C33=<4,2.5,2>;
#declare C34=<4.5,2.5,0.5>;
#declare C41=<3,0.8,0>;
#declare C42=<3.5,0.8,0>;
#declare C43=<4,0.4,0>;
#declare C44=<4.5,0.4,0>;

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


#declare ret1 = 
  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 ret2= 
  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 ret3= 
  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{ret1}
      object{ret1 scale<1,1,-1>}
      object{ret2}
      object{ret2 scale<1,1,-1>}
      object{ret3}
      object{ret3 scale<1,1,-1>}
      translate < -2, -3.5, 0 >
    }
    // object{ bz_axes }
    rotate 180*y
  }

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