// Qualtic1 / Drop // Please use freely for non comercial purpose. // All rights reserved by Tsutomu HIGO, Oct. 11, 1998 #version 3.0 global_settings { assumed_gamma 2.2 } // Swx*(x-E*y)^4 +Swz*z^4 // +(1-Swx)*(x-Cx*y-Dx*y^2)^2 +(1-Swz)*(z-Cz*y-Dz*y^2)^2 // = B -(y-1)*(y+1)*(y-A)^2 #declare Tz = 1 #while (Tz<5) #declare Tx = 0 #while (Tx<5) #declare A = Tz*0.5-0.5 // pinching #switch (Tx) #case (0) #declare Swx = 0 // x ratio of x^4+z^4=r^4 #declare Swz = 0 // z ratio of x^4+z^4=r^4 #declare B = 0 // fattening #declare Dx = 0 // x bending of x^2+z^2=r^2 #declare Cz = 0 // z leaning of x^2+z^2=r^2 #break #case (1) #declare Swx = 0 // x ratio of x^4+z^4=r^4 #declare Swz = 0 // z ratio of x^4+z^4=r^4 #declare A = 0 // pinching #declare B = -0.2+Tz/10 // fattening #declare Dx = 0 // x bending of x^2+z^2=r^2 #declare Cz = 0 // z leaning of x^2+z^2=r^2 #break #case (2) #declare Swx = 1 // x ratio of x^4+z^4=r^4 #declare Swz = 1 // z ratio of x^4+z^4=r^4 #declare B = 0 // fattening #declare Dx = 0 // x bending of x^2+z^2=r^2 #declare Cz = 0 // z leaning of x^2+z^2=r^2 #break #case (3) #declare Swx = 0 // x ratio of x^4+z^4=r^4 #declare Swz = 0 // z ratio of x^4+z^4=r^4 #declare B = 0 // fattening #declare Dx = 1.5 // x bending of x^2+z^2=r^2 #declare Cz = 0 // z leaning of x^2+z^2=r^2 #break #case (4) #declare Swx = 0 // x ratio of x^4+z^4=r^4 #declare Swz = 0 // z ratio of x^4+z^4=r^4 #declare B = 0 // fattening #declare Dx = 0 // x bending of x^2+z^2=r^2 #declare Cz = 1.5 // z leaning of x^2+z^2=r^2 #break #end #declare Cx = 0 // x leaning of x^2+z^2=r^2 #declare Dz = 0 // z bending of x^2+z^2=r^2 #declare E = 0 // x leaning of x^4+z^4=r^4 quartic { < Swx, -4*Swx*E, 0, 0, 6*Swx*E*E, 0, 0, 0, 0, 1-Swx, -4*Swx*pow(E,3), 0, -2*(1-Swx)*Dx, 0, 0, -2*(1-Swx)*Cx, 0, 0, 0, 0, 1+(1-Swx)*Dx*Dx+(1-Swz)*Dz*Dz+Swx*pow(E,4), 0, -2*A+2*(1-Swx)*Cx*Dx+2*(1-Swz)*Cz*Dz, 0, -2*(1-Swz)*Dz, A*A-1+(1-Swx)*Cx*Cx+(1-Swz)*Cz*Cz, 0, 0, -2*(1-Swz)*Cz, 2*A, Swz, 0, 1-Swz, 0, -A*A-B > bounded_by {box{<-2,-2,-2><2,2,2>}} texture { pigment{ color rgb <1,0,0>}} finish { reflection 0.4 specular 0.5 crand 1.5 ambient 0.6 phong 0.5 diffuse 0.5 } no_shadow #if(Tx=1) scale <14,10,14> #else scale <14/(Tz/2+1),10,14/(Tz/2+1)> #end rotate <-15,30,0> translate } #declare Tx = Tx+1 #end #declare Tz = Tz+1 #end sky_sphere { pigment { gradient y color_map { [ 0.002 color rgb <1,1,0.8> ] [ 1.00 color rgb <0.3,1,0.3> ] } scale 1 translate 0 } } light_source { <500, 500, -1000> color rgb <1,1,1> } light_source { <-600, 500, -3000> color rgb <1,1,1> } camera { location <0,0,-1000> angle 9 look_at <0, 0, 0> }