/*Kuen's Surface x=2*(cos(u)+u*sin(u))*sin(v)/(1+u*u*sin(v)*sin(v)) y=2*(sin(u)-u*cos(u))*sin(v)/(1+u*u*sin(v)*sin(v)) z=log(tan(v/2))+2*cos(v)/(1+u*u*sin(v)*sin(v)) */ #include "colors.inc" #include "metals.inc" //--------------------------------------- camera { orthographic location < 5, 20,-20> look_at <-0.5, -0.10, 0> angle 6.5 } light_source { <0, 5,-20> color White shadowless} light_source { <5,-10, -10>*2 color White*0.8 shadowless} background{ SkyBlue*1.2 }//White } //----------------------------------- #macro cx(uu,vv) 2*(cos(uu)+uu*sin(uu))*sin(vv)/(1+uu*uu*sin(vv)*sin(vv)) #end #macro cy(uu,vv) 2*(sin(uu)-uu*cos(uu))*sin(vv)/(1+uu*uu*sin(vv)*sin(vv)) #end #macro cz(uu,vv) log(tan(vv/2))+2*cos(vv)/(1+uu*uu*sin(vv)*sin(vv)) #end //--------------------------------- # macro surf(umin,umax,vmin,vmax,uiter,viter) #declare iu = (umax-umin)/uiter ; #declare iv = (vmax-vmin)/viter ; union{ #declare uu = umin ; #while (uu,); #declare n2=vcross(,); #declare n3=vcross(,); #declare n4=vcross(,); #declare n5=vcross(,); #declare n6=vcross(,) ; #declare n7=vcross(,); #declare n8=vcross(,) ; #declare n9=vcross(,); //TRIANGLES object{ smooth_triangle{ ,n5+n6+n8+n9, ,n4+n5+n7+n8, ,n1+n2+n4+n5 } } object{ smooth_triangle{ , n5+n6+n8+n9, , n1+n2+n4+n5 , n2+n3+n5+n6 } } #declare vv = vv+iv; #end //boucle interne #declare uu = uu+iu; #end //boucle externe } #end //surface //----------------------------------- union { object{surf(-pi*1.8,0,0.1,pi-0.1,100,140) texture{ T_Silver_3C normal { granite 1 turbulence 0.4 scale 0.1 accuracy 0.6 } } finish {ambient 0.25 diffuse 0.25 reflection 0.25 roughness 0.0001 specular 0.8} } object{surf(0,pi*2.8,0.1,pi-0.1,100,140) pigment{ Gold*1.2 } finish{ambient 0.05 reflection 0.1 specular 0.7 roughness 0.0001} } rotate <-65,190,-0> translate <0.1,0.17,0> } object{surf(0,pi*2.8,0.1,pi-0.1,80,50) pigment{ Gold*1.2 } finish{ambient 0. reflection 0.2 specular 0.6 roughness 0.0001} rotate <-65,190,-0> scale 0.4 translate <-1.35,-1.4,0> } /* */ //----------------------------- text { ttf "times.ttf" "AE" 0.3,0 pigment { Blue} scale 0.07 rotate <40,0,12> translate <1,-1.3,0> finish{ ambient 0.2 diffuse 0.3} }