/*
Autor: Mario Antonio Herrero Machado
fecha: 17 de junio de 2002
modificada: 6 de junio de 2004
email: cabgraf2002@yahoo.com

Persistence of Vision Raytracer Version 3.1
tortuga.inc, Logo con PovRay

Procedimientos definidos

IniTortuga() : Para inicializar la Tortuga.
Andar(Pasos) : Avanza la distancia Pasos, con -Pasos retrocede
y llama al procedimiento graficar, el que pone una esfera y un cilindro
del largo de Pasos.
ConPluma() : Andar llama a graficar
SinPluma() : La tortuga no grafica al andar.
Virar(ang) : Vira un angulo en grados.
Cabecear(ang) : Cabecea un angulo en grados.
Rolar(ang) : Rola una angulo en grados.
reemplazar : procedimiento de actualización.
Cuadrado(Pasos): grafica un cuadrado de lado Pasos.

Variables:

Radio : radio de la esfera y el cilindro del procedimiento graficar
R : valor del rojo en rgb, 1.0 por defecto.
G : valor del verde en rgb, 1.0 por defecto.
B : valor del azul en rgb, 1.0 por defecto.
x,Y,Z : valores iniciales de la posición de la tortuga, por defecto 0.0
Pi : constante, 3.141628
tnn : definen los cosenos directores.
*/
#include "colors.inc"
#include "metals.inc"
#include "glass.inc"
#include "stones.inc"
#include "textura.inc"

#declare X = 0.0;
#declare Y = 0.0;
#declare Z = 0.0;
#declare Pi =3.141628;
#declare Radio = 0.05;
#declare R = 1.0;
#declare G = 1.0;
#declare B = 1.0;
#declare Tex_Tortuga = texture{T_Chrome_5E}


#declare t11 = 1.0; //0.0
#declare t12 = 0.0; //1.0
#declare t13 = 0.0; //0.0
#declare t21 = 0.0; //1.0
#declare t22 = 0.0; //0.0
#declare t23 = 1.0; //0.0
#declare t31 = 0.0; //0.0
#declare t32 = 1.0; //0.0
#declare t33 = 0.0; //1.0

#macro ConPluma()
#declare P = 1;
#end

#macro SinPluma()
#declare P = 0;
#end

#macro reemplazar()
#declare c11 = t11;
#declare c12 = t12;
#declare c13 = t13;
#declare c21 = t21;
#declare c22 = t22;
#declare c23 = t23;
#declare c31 = t31;
#declare c32 = t32;
#declare c33 = t33;
#end //fin macro reemplazar

reemplazar()
ConPluma()

#declare Radio_Esfera = Radio;


#macro esfera(Radio_Esfera)
sphere {