#include "colors.inc" #include "metals.inc" camera { orthographic location <-0,15,-30> look_at<0,0,0> angle 40 } light_source { <-2,10,-20>*5 White shadowless } light_source { <5,15,-20>*10 color White shadowless} light_source { <4,-20,-15>*10 color Orange*0.7 shadowless} //plane {z, 20 pigment{ SkyBlue*1}} background{White} //------------------------------------------- #declare umin = -pi; #declare umax = 3*pi; #declare vmin =-2; #declare vmax = 2; #declare uiter = 200; #declare viter = 100; #declare iu = (umax-umin)/uiter ; #declare iv = (vmax-vmin)/viter; #macro CX(uu,vv) uu-sin(uu)*cosh(vv) #end #macro CY(uu,vv) 1-cos(uu)*cosh(vv) #end #macro CZ(uu,vv) 4*sin(1/2*uu)*sinh(vv/2) #end //--------------- dM/duu ------------- #macro dCXu(uu,vv) 1-cos(uu)*cosh(vv) #end #macro dCYu(uu,vv) sin(uu)*cosh(vv) #end #macro dCZu(uu,vv) 2*cos(1/2*uu)*sinh(vv/2) #end //--------------- dM/dvv ------------- #macro dCXv(uu,vv) -sin(uu)*sinh(vv) #end #macro dCYv(uu,vv) -cos(uu)*sinh(vv) #end #macro dCZv(uu,vv) 2*sin(1/2*uu)*cosh(vv/2) #end // ---------------------------------------- #macro surf(textur) 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 texture{ textur normal { granite 1 turbulence 0.5 scale 0.4 accuracy 0.5 } finish {ambient 0.5 diffuse 0.3 reflection 0.2 specular 0.7 roughness 0.001} // ambient 0.5 fondblanc 0.55 fondbleu } } # end// fin surf //----------------------------- object{ surf(T_Gold_1C) rotate <200,7,0> translate <-3,4,0> scale 1.4 } object{ surf(T_Silver_1C) rotate <10,7,0> translate <-4,-14,0> scale 0.5 } //----------------------------------------- text { ttf "times.ttf" "AE" 0.3,0 pigment { Blue} scale 0.4 rotate <40,0,-2> translate <+9,-9,0> finish{ ambient 0.2 diffuse 0.3} }