
#include "colors.inc"
#include "librerias.inc"

// Configuración de la cámara
camera {
  orthographic
  location <10, 10, -10>
  look_at <0, 0, 0>
}

// Configuración de las fuentes de luz
light_source { <4, 5, -6> color White shadowless }
light_source { <9, -9, -6> color White shadowless }

// Macro para crear cuadriláteros
#macro cuadrilatero(v1, v2, v3, v4, c)
  triangle {
    v1, v2, v3
    pigment { color c }
  }
  triangle {
    v1, v3, v4
    pigment { color c }
  }
#end

/*
// PRIMERA FIGURA (Figura A)
#declare figuraA = union {
  // Primera cara

  cuadrilatero(a, b, f, e, Magenta)

  // Segunda cara

  cuadrilatero(a, e, h, d, Red)

  // Tercera cara

  cuadrilatero(a, b, c, d, Blue)

  // Cuarta cara
 
  cuadrilatero(c, d, h, g, Gray)

  // Quinta cara

  cuadrilatero(b, c, g, f, Orange)

  // Sexta cara

  cuadrilatero(e, h, g, f, Green)
}
figuraA

object {
  figuraA
  matrix <
    0.0000,  0.0000, -0.6667,
    0.0000,  2.0000,  0.0000,
    1.0000,  0.0000,  0.0000,
    4.0000, -6.0000,  0.6667
  > 
}
*/

//SEGUNDA FIGURA (Figura B)
#declare figuraB = union {
  #declare a = <5, -6, 0>;
  #declare b = <5, -6, -2>;
  #declare c = <7, -6, -2>;
  #declare d = <7, -6, 0>;
  #declare e = <5, -2, 0>;
  #declare f = <5, -4, -2>;
  #declare g = <7, -4, -2>;
  #declare h = <7, -2, 0>;

  // Primera cara
  cuadrilatero(a, b, c, d, Red)

  // Segunda cara
  cuadrilatero(e, h, d, a, Blue)

  // Tercera cara
  cuadrilatero(e, f, b, a, Yellow)

  // Cuarta cara
  cuadrilatero(h, d, c, g, Green)

  // Quinta cara
  cuadrilatero(b, c, g, f, Blue)

  // Sexta cara
  triangle {
    f, g, h
    pigment { color White }
  }
  triangle {
    h, e, f
    pigment { color White }
  }
}
figuraB

object {
  figuraB
  matrix <
    0.0000,  0.0000,  1.0000,
    0.0000,  0.5000,  0.0000,
   -1.5000, -0.0000,  0.0000,
    1.0000,  3.0000, -4.0000
  >
}
plane  { y,-0.1 pigment {checker Gray White }}
ejes3D

