// Last edited on 2013-12-11 09:20:36 by stolfilocal // Processed by remove-cam-lights #include "eixos.inc" #include "textures.inc" #include "camlight.inc" #include "colors.inc" background{ color rgb < 0.75, 0.80, 0.85 > } #declare bola= sphere{ <0,0,0>,0.2 texture{Silver_Metal} } #macro interpola(p0,p1,tt) #local ponto = ((1-tt)*p0 + tt*p1); ponto #end #macro curva(p0,p1,p2,p3,tt,r) #local var = interpola4(p0,p1,p2,p3,tt); object{ bola translate var scale r} #end #macro tentaculo(p0,p1,p2,p3,q1,q2,q3,tt,r0,rf) #while (tt <= 1) #local r = tt*(r0+rf)/2 + (1-tt)*r0; curva(p0,p1,p2,p3,tt,r) #local r = (1-tt)*(r0+rf)/2 + (tt)*rf; curva(p3,q1,q2,q3,tt,r) #declare tt = tt + 0.01; #end #end #macro interpola4(p0,p1,p2,p3,tt) #local p01 = interpola(p0,p1,tt); #local p12 = interpola(p1,p2,tt); #local p23 = interpola(p2,p3,tt); #local p012 = interpola(p01,p12,tt); #local p123 = interpola(p12,p23,tt); #local p0123 = interpola(p012,p123,tt); p0123 #end #declare polvo=union{ #declare p0 =<-2,0,0>; #declare p1 =<0,2,0>; #declare p2 =<2,0,0>; #declare q1 =<-2,0,1>; #declare p3 =(p2+q1)/2; #declare q2 =<-2,0,0.5>; #declare q3 =<-2,-2,1>; #declare tt =0; #declare r0 = 0.3; #declare rf = 1; tentaculo(p0,p1,p2,p3,q1,q2,q3,tt,r0,rf) } object{eixos(5)} object {polvo translate <2,2,-1> rotate <0,0,90> } object {polvo translate <2,2,-1> } object {polvo translate <2,2,-1> rotate <0,0,-90>} object {polvo translate <2,2,-1> rotate <0,0,-180>} object {bola scale 3} #declare centro_cena = < 0.00, 0.00, 1.00 >; #declare raio_cena = 5.0; #declare dir_camera = < 10, 10, 3 >; #declare dist_camera = 50.0; #declare intens_luz = 1.40; camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)