// Last edited on DATE TIME by USER
// Processed by remove-cam-lights

background{ color rgb < 0.75, 0.80, 0.85 > }

#include "eixos.inc"
#include "textures.inc"
#include "retalho.inc"

#declare tx_azul =
  texture{
    pigment{ color rgb < 0.10, 0.80, 0.90 > }
    finish{ diffuse 0.9 ambient 0.5 specular 0.5 roughness 0.005 }
  }

#declare txg =
  texture{
    pigment{ color rgb < 0, 1, 0 > }
   }

# declare txr =
texture{ tx_azul }

#declare rad = 0.01;

#local a11 = <0, 0, 0.5>;
#local a12 = <1, 0, 0.5>;
#local a13 = <2, 0, 0.5>;
#local a14 = <3, 0, 2>;

#local a22 = <1, -1, 0.5>;
#local a23 = <2, -1, 0.5>;
#local a24 = <3, -1, 2>;

#local a32 = <1, -2, 1.5>;
#local a33 = <2, -2, 1.5>;
#local a34 = <3, -2, 1.5>;

#local b11 = <0, 0, 0>;    #local b12 = <1, 0, 0>;    #local b13 = <2, 0, 0>;    #local b14 = <3, 0, 0>;
#local b21 = <0, -1, 0.2>; #local b22 = <1, -1, 0.2>; #local b23 = <2, -1, 0.2>; #local b24 = <3, -1, 0.2>;
#local b31 = <0, -2, 0.5>; #local b32 = <1, -2, 0.5>; #local b33 = <2, -2, 0.5>; #local b34 = <3, -2, 0.5>;

#local c11 = <-3, 0, 2>;    #local c12 = <-2, 0, 2>;    #local c13 = <-1, 0, 0.5>;   // #local c14 = <0, 0, 0.5>;
#local c21 = <-3, -1, 2>; #local c22 = <-2, -1, 2>; #local c23 = <-1, -1, 0.5>; #local c24 = <0, -1, 0.5>;
#local c31 = <-3, -2, 1.5>; #local c32 = <-2, -2, 1.5>; #local c33 = <-1, -2, 1.5>; #local c34 = <0, -2, 1.5>;

#local d11 = <-3, 0, 0>;    #local d12 = <-2, 0, 0>;    #local d13 = <-1, 0, 0>;    #local d14 = <0, 0, 0>;
#local d21 = <-3, -1, 0.2>; #local d22 = <-2, -1, 0.2>; #local d23 = <-1, -1, 0.2>; #local d24 = <0, -1, 0.2>;
#local d31 = <-3, -2, 0.5>; #local d32 = <-2, -2, 0.5>; #local d33 = <-1, -2, 0.5>; #local d34 = <0, -2, 0.5>;

#local a11 = (a12 + c13)/2;
#local a21 = (a22 + c23)/2;
#local a31 = (a32 + c33)/2;

#local c14 = a11;
#local c24 = a21;
#local c34 = a31;

#local a41 = (a31+b31)/2;
#local a42 = (a32+b32)/2;
#local a43 = (a33+b33)/2;
#local a44 = (a34+b34)/2;
#local b41 = a41;
#local b42 = a42;
#local b43 = a43;
#local b44 = a44;

#local c41 = (c31+d31)/2;
#local c42 = (c32+d32)/2;
#local c43 = (c33+d33)/2;
#local c44 = (c34+d34)/2;

#local a41 = (a42 + c43)/2;
#local c44 = a41;

#local d41 = c41;
#local d42 = c42;
#local d43 = c43;
#local d44 = c44;

#local f11 = a14;
#local f12 = a24;
#local f13 = a34;
#local f14 = a44;

#local f41 = b14;
#local f42 = b24;
#local f43 = b34;
#local f44 = b44;

#local f24 = (f14 + f44)/2;
#local f34 = (f14 + f44)/2;
#local f31 = (f11 + f41)/2;
#local f32 = (f12 + f42)/2;
#local f33 = (f13 + f43)/2;

#local f23 = (f13 + f43)/2;
#local f21 = (f11 + f41)/2;
#local f22 = (f12 + f42)/2;

#declare planoF = object{
                        retalho(f11, f12, f13, f14,
                                f21, f22, f23, f24,
                                f31, f32, f33, f34,
                                f41, f42, f43, f44,
                                rad, txg, txr)
                }

#declare plano1 = object{
                        retalho(a11, a12, a13, a14,
                                a21, a22, a23, a24,
                                a31, a32, a33, a34,
                                a41, a42, a43, a44,
                                rad, txg, txr)
                }

#declare plano2 = object{
                        retalho(b11, b12, b13, b14,
                                b21, b22, b23, b24,
                                b31, b32, b33, b34,
                                b41, b42, b43, b44,
                                rad, txg, txr)
                }

#declare plano3 = object{
                        retalho(c11, c12, c13, c14,
                                c21, c22, c23, c24,
                                c31, c32, c33, c34,
                                c41, c42, c43, c44,
                                rad, txg, txr)
                }

#declare plano4 = object{
                        retalho(d11, d12, d13, d14,
                                d21, d22, d23, d24,
                                d31, d32, d33, d34,
                                d41, d42, d43, d44,
                                rad, txg, txr)
                }

        object{eixos(3)}
        object{plano1 texture{tx_azul}}
        object{plano2 texture{tx_azul}}
        object{plano3 texture{tx_azul}}
        object{plano4 texture{tx_azul}}

        object{plano1 texture{tx_azul} scale -y}
        object{plano2 texture{tx_azul} scale -y}
        object{plano3 texture{tx_azul} scale -y}
        object{plano4 texture{tx_azul} scale -y}

        object{planoF texture{tx_azul}}
        object{planoF texture{tx_azul} scale -y}
        object{planoF texture{tx_azul} scale -x}
        object{planoF texture{tx_azul} scale <-1, -1, 0>}

        box{<0, 0, 0>, <1, 4, 0.5> texture{tx_azul}}
        box{<0, 0, 0>, <1, 4, 0.5> texture{tx_azul} scale -y}

#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 1.00 >;
#declare raio_cena = 7.0;
#declare dir_camera = < 10.00, -8.00, 4.00 >;
#declare dist_camera = 16.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)