/////////////////////////////////////////////////////////////////////////////// // // // (C) Carlos Tricas 2003 // // // // carlos.tricas@mundosimaginados.com // // // // www.mundosimaginados.com // // // /////////////////////////////////////////////////////////////////////////////// // // // Fichero: selec10.POV // // // // Nombre: REUNIÓN // // // // 01/03 // // // /////////////////////////////////////////////////////////////////////////////// // // // Descripción: Diseño formado por cilindros que trazan trayectoria marcada // // por funciones armónicas en los tres ejes. El aspecto redon- // // deado se consigue al formar un blob con todos ellos. // // // // // El interés principal es el crear un objeto blob mediante // // objetos generados algoritmicamente. // // // // El nombre surge ya que al observarlo sugiere una // // aglomeración. // // // // Nota: Este diseño no sigue la norma de visualización desde // // el eje z. Se visualiza desde el eje y. // // // /////////////////////////////////////////////////////////////////////////////// #include "colors.inc" background {White} camera { perspective location <-35,5,0> look_at <0,0,0> angle 45 } light_source { < -20,-5,0> White } #declare n=0; // Contador #declare fin=2*pi; // Ángulo a recorrer (una vuelta = 360º = 2*pi radianes). #declare paso=pi/80; // Ángulo girado en cada paso del bucle. #declare amp_x = 3; // Amplitud moviemnto en el eje x. #declare amp_y = 10; // Amplitud moviemnto en el eje y. #declare amp_z = 20; // Amplitud moviemnto en el eje z. #declare frec_x = 40; // Amplitud moviemnto en el eje x. #declare frec_y = 7; // Amplitud moviemnto en el eje y. #declare frec_z = 5; // Amplitud moviemnto en el eje z. #declare frec_r = 5; // Amplitud moviemnto en el eje x. #declare frec_g = 4; // Amplitud moviemnto en el eje y. #declare frec_b = 13; // Amplitud moviemnto en el eje z. #declare radio_cilindro = 3.5; // Radio de cada cilindro. blob { threshold .1 #while (n, , radio_cilindro strength .2 texture { pigment { rgb < 1+sin(n*frec_r)/4, .82+sin(n*frec_g)/6, .82+cos(n*frec_b)/6> } finish {phong .02} } } #declare n=n+paso ; #end }