// Last edited on DATE TIME by USER // Processed by remove-cam-lights background{ color rgb < 0.75, 0.80, 0.85 > } #declare tx_plastico = texture{ pigment{ color rgb < 0.10, 0.80, 1.00 > } finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 } } #declare tx_fosca = texture{ pigment{ color rgb < 1.00, 0.80, 0.10 > } finish{ diffuse 0.9 ambient 0.1 } } #declare tx_espelho = texture{ pigment{ color rgb < 1.00, 0.85, 0.30 > } finish{ diffuse 0.2 reflection 0.7*< 1.00, 0.85, 0.30 > ambient 0.1 } } #declare tx_vidro = texture{ pigment{ color rgb < 0.85, 0.95, 1.00 > filter 0.70 } finish{ diffuse 0.03 reflection 0.25 ambient 0.02 specular 0.25 roughness 0.005 } } #declare tx_xadrez = texture{ pigment{ checker color rgb < 0.10, 0.32, 0.60 >, color rgb < 1.00, 0.97, 0.90 > } finish{ diffuse 0.9 ambient 0.1 } scale 2.0 } #declare raio = 2.000; #declare bolinha = sphere{ < 0,0,0 >, 0.60 } #declare bolota = sphere{ < 0,0,0 >, 0.1 } #declare bola = sphere{ < 0.00, 0.00, 0.00 >, raio texture{ tx_plastico } } #declare pino = cylinder{ < -2.00, +2.00, -1.00 >, < +2.00, -2.00, +1.00 >, 0.75 texture{ tx_fosca } } #declare furo = cylinder{ < -1.00, -2.00, -2.00 >, < +1.00, +2.00, +2.00 >, 0.75*raio texture{ tx_fosca } } #declare chao = box{ <-20,-20,-1>, <+20,+20,0> } #declare p0 = <0,0,0>; #declare p1 = <0.5,0.5,2>; #declare p2 = <1.5 +sin(clock*2*pi) ,1.5 +sin(clock*2*pi) ,3>; #declare p3 = <2,2,1>; #declare q0 = <2.5 +sin(clock*2*pi),2.5 ,3>; #declare q1 = <3,3,1>; #declare q2 = <3.5,3.5 +sin(clock*2*pi) ,1>; #declare q3 = <4,5,1+sin(clock*2*pi)>; #declare s0 = <0,0,0>; #declare s1 = <-0.5,-0.5,2>; #declare s2 = <-1.5 +sin(clock*2*pi),-1.5,3>; #declare s3 = <-2,-3,2 + cos(clock*2*pi)>; #declare t0 = <-2.5,-2.5,3>; #declare t1 = <-3,-3,1>; #declare t2 = <-3.5 +sin(clock*2*pi) ,-3.5,1>; #declare t3 = <-2,-5,2 +sin(clock*2*pi)>; #declare v0 = <0,0,0>; #declare v1 = <0.5,-0.5 +sin(clock*2*pi) ,2>; #declare v2 = <1.5,-1.5,3>; #declare v3 = <2,-2,1>; #declare x0 = <2.5 +sin(clock*2*pi) ,-2.5,3>; #declare x1 = <3 + sin(clock*2*pi),-3,1>; #declare x2 = <3.5,-3.5,1>; #declare x3 = <4,-4, 1+ +sin(clock*2*pi)>; #declare r0 = 1; #declare r1 = 0.1; #declare r2 = 0.2; #declare r3 = 0.1; #include "eixos.inc" #macro Interpola2(P0,P1,tt) ((1-tt)*P0 + tt*P1) #end #macro Interpola4(p0,p1,p2,p3,tt) #local p01 = Interpola2(p0,p1,tt); #local p12 = Interpola2(p1,p2,tt); #local p23 = Interpola2(p2,p3,tt); #local p012 = Interpola2(p01,p12,tt); #local p123 = Interpola2(p12,p23,tt); #local p0123 = Interpola2(p012,p123,tt); p0123 #end #macro curva (p0,r0,p1,r1,p2,r2,p3,r3) #local tt = 0.0; #while (tt <= 1.0) object{ sphere { <0,0,0>, Interpola4(r0,r1,r2,r3,tt) } translate Interpola4(p0,p1,p2,p3,tt) texture{ tx_espelho } } #local tt = tt + 0.01; #end #end #macro tentaculo (p0,p1,p2,r0,q1,q2,q3,r1) #local raio0 = Interpola2(r0,r1,0); #local raio1 = Interpola2(r0,r1,0.16); #local raio2 = Interpola2(r0,r1,0.32); #local raio3 = Interpola2(r0,r1,0.5); #local raio4 = Interpola2(r0,r1,0.833); #local raio5 = Interpola2(r0,r1,0.666); #local raio6 = Interpola2(r0,r1,1.0); curva(p0,raio0,p1,raio1,p2,raio2,(p2+q1)/2,raio3) curva((p2+q1)/2,raio3,q1,raio4,q2,raio5,q3,raio6) #end union{ object{ eixos(3.00) } object{ chao translate < 0,0,0 > texture{ tx_xadrez } } tentaculo (p0,p1,p2,r0,q1,q2,q3,r1) tentaculo (s0,s1,s2,r0,t1,t2,t3,r1) tentaculo (v0,v1,v2,r0,x1,x2,x3,r1) sphere { <0,0,3> 1.5 texture{ tx_espelho }} } #include "camlight.inc" #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 16.0; #declare dir_camera = < 10.00, -14.00, 10.00 >; #declare dist_camera = 6.0; #declare intens_luz = 1.00; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)