// MC930 - Trabalho prĂ¡tico 11 - 1s2003
// Last edited on 2003-06-24 15:21:17 by stolfi
// Artur Manoel Passos RA 001388

#include "colors.inc"

#declare A11 = <4.5, 2.5, 0>;
#declare A12 = <3.5, 2.3, 0>;
#declare A13 = <2.5, 2.5, 0>;
#declare A14 = <1.5, 3.4, 0>;
#declare A21 = <4.4, 1.7, 0>;
#declare A22 = <3.5, 0.8, 1.2>;
#declare A23 = <2.5, 0.8, 1.6>;
#declare A24 = <1.5, 1.2, 2>;
#declare A31 = <4.3, 1.3, 0>;
#declare A32 = <3.5, -0.5, 1.2>;
#declare A33 = <2.5, -0.7, 1.6>;
#declare A34 = <1.5, -1.0, 2>;
#declare A41 = <4.2, 0.7, 0>;
#declare A42 = <3.5, -1.8, 0>;
#declare A43 = <2.5, -2.4, 0>;
#declare A44 = <1.5, -3.5, 0>;

#declare B11 = A14;
#declare B12 = <0.5, 4, 0>;
#declare B13 = <-0.5,3.4, 0>;
#declare B14 = <-1.5,2.5, 0>;
#declare B21 = A24;
#declare B22 = <0.5, 1.5, 2.4>;
#declare B23 = <-0.5,1.2, 2.4>;
#declare B24 = <-1.5,1, 2>;
#declare B31 = A34;
#declare B32 = <0.5,-1.5, 2.4>;
#declare B33 = <-0.5,-1.2, 2.4>;
#declare B34 = <-1.5,-0.8, 2>;
#declare B41 = A44;
#declare B42 = <0.5,-4,  0>;
#declare B43 = <-0.5,-3.4, 0>;
#declare B44 = <-1.5,-2.5, 0>;

#declare C11 = B14;
#declare C12 = <-2.5, 2.1, 0>;
#declare C13 = <-3.5, 2.1, 0>;
#declare C14 = <-4.5, 2.5, 0>;
#declare C21 = B24;
#declare C22 = <-2.5, 0.65, 1.32>;
#declare C23 = <-3.3, 0.65, 0.66>;
#declare C24 = <-4, 0.8, 0>;
#declare C31 = B34;
#declare C32 = <-2.5, -0.65, 1.32>;
#declare C33 = <-3.3, -0.65, 0.66>;
#declare C34 = <-4, -0.8, 0>;
#declare C41 = B44;
#declare C42 = <-2.5, -2.1, 0>;
#declare C43 = <-3.5, -2.1, 0>;
#declare C44 = <-4.5, -2.5, 0>;

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

#declare A =
  union{
    bicubic_patch {
      type 0
      flatness 0.03
      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 B =
  union{
    bicubic_patch {
        type 0
        flatness 0.03
        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 C =
  union{
    bicubic_patch {
        type 0
        flatness 0.03
        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 peixe =
  union {
    object {A}
    object {B}
    object {C}
  }

#declare angulox = 0;
#declare anguloy = 0;

#declare scene =
  union{
    object {peixe scale <1, 1, 1.3> rotate<angulox,anguloy,0>}
    object {peixe scale <1,1,-1.3> rotate<angulox,anguloy,0>}
  }

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