/* z=1/r */ #include "colors.inc" #include "metals.inc" camera { orthographic location <-0,10,-30> look_at<6,0,0> angle 21 } light_source { <-10,20,-20> White shadowless } light_source { <10,15,-20> color White shadowless} light_source { <4,-20,-15> color Red*0.7 shadowless} //plane {z, 20 pigment{ SkyBlue*1.2}} background{White} //------------------------------------------- #declare umin = 0.08; #declare umax = 1.5; #declare vmin =0; #declare vmax = 2*pi; #declare uiter = 20; #declare viter = 40; #declare iu = (umax-umin)/uiter ; #declare iv = (vmax-vmin)/viter; #macro CX(uu,vv) uu*cos(vv) #end #macro CY(uu,vv) uu*sin(vv) #end #macro CZ(uu,vv) 1/uu #end //--------------- dM/duu ------------- #macro dCXu(uu,vv) cos(vv) #end #macro dCYu(uu,vv) sin(vv) #end #macro dCZu(uu,vv) -1/uu/uu #end //--------------- dM/dvv ------------- #macro dCXv(uu,vv) -uu*sin(vv) #end #macro dCYv(uu,vv) uu*cos(vv) #end #macro dCZv(uu,vv) 0 #end // ---------------------------------------- #declare surf= union{ // methode math #declare uu = umin; #while (uu<=umax) //boucle externe #declare vv = vmin; #while (vv<=vmax) //boucle interne //POINTS #declare x1=CX(uu,vv); #declare y1=CY(uu,vv); #declare z1=CZ(uu,vv) ; #declare n1=vcross(,); #declare uu=uu+iu; #declare x2=CX(uu,vv); #declare y2=CY(uu,vv); #declare z2=CZ(uu,vv); #declare n2=vcross(,); #declare vv=vv+iv ; #declare x3=CX(uu,vv); #declare y3=CY(uu,vv); #declare z3=CZ(uu,vv); #declare n3=vcross(,); #declare uu=uu-iu ; #declare x4=CX(uu,vv); #declare y4=CY(uu,vv); #declare z4=CZ(uu,vv) ; #declare n4=vcross(,); #declare vv=vv-iv; //TRIANGLES object{ smooth_triangle{ ,n1, ,n2, ,n3 } } object{ smooth_triangle{ , n1, , n3 , n4 } } #declare vv = vv+iv; #end // fin boucle interne #declare uu = uu+iu ; #end //fin boucle externe } // fin de surf //------------------------------ object{ surf texture{ T_Gold_3C finish { ambient 0.1 diffuse 0.3 specular 0.7 roughness 0.0001 } //0.4 avec fond bleu 0.1 avec fond blanc } // fin texture rotate <0,80,0> } object{ surf texture{ T_Gold_3C finish { ambient 0.1 diffuse 0.3 specular 0.7 roughness 0.0001 } //0.4 avec fond bleu 0.1 avec fond blanc } // fin texture rotate <0,125,0> translate <2,0.2,9> scale 1 } object{ surf texture{ T_Gold_3C finish { ambient 0.1 diffuse 0.3 specular 0.7 roughness 0.0001 } //0.4 avec fond bleu 0.1 avec fond blanc } // fin texture rotate <0,45,0> translate <3.5,-0.2,-6.3> scale 1 } //----------------------------------------- text { ttf "times.ttf" "AE" 0.3,0 pigment { Blue} scale 0.3 rotate <20,0,-3.5> translate <+10,-3.5,0> finish{ ambient 0.2 diffuse 0.3} }