//-------------------------------------------------------------// // File created by Michael Andrews (M.C.Andrews@reading.ac.uk) // // 13/8/99 Release version 1.0 // //-------------------------------------------------------------// #include "splnblob.inc" global_settings { assumed_gamma 1.0 max_trace_level 5 } background { color rgb 0.6 } #declare camPos = <0.0, 0.0, -175.0>; #declare camLookAt = <0,0,0>; #declare camAngle = 15; #declare lightDir = vrotate(vnormalize(<-1,2,-4>), 0); #declare lightLen = 1000000; #declare lightRad = lightLen*2*sin(radians(0.25)); camera { up <0, 1, 0> right <4/3, 0, 0> location camPos direction <0.0, 0.0, 1> angle camAngle look_at camLookAt } light_source { 0*x colour rgb 1.0 translate lightDir*lightLen media_attenuation on } light_source { 0*x colour rgb 0.5 translate camPos shadowless media_interaction off } #declare S10 = array[2] {1, 0} #declare S01 = array[2] {0, 1} #declare S1 = array[1] {1} #declare S011 = array[3] {0,1,1} #declare S100 = array[3] {1,0,0} #declare S010 = array[3] {0,1,0} #declare S101 = array[3] {1,0,1} #declare cP = array[4] {<-10,0,0>, <-10,-10,0>, <10,10,0>, <10,0,0>} #declare cR = array[1] {0.5} blob { threshold 0.01 M_BSphStack ( cP, INTERP, cR, INTERP, S1, INTERP, 0.25 ) pigment { rgb <1,0.4,0.2> } } blob { threshold 0.01 M_BSphStack ( cP, BEZIER, cR, BEZIER, S1, BEZIER, 0.25 ) pigment { rgb <0.2,0.4,1> } } union { #declare Count = -15; #while (Count <= 15) sphere { , 0.2 } sphere { , 0.2 } sphere { , 0.2 } sphere { <-10,Count,0>, 0.2 } sphere { <0,Count,0>, 0.2 } sphere { <10,Count,0>, 0.2 } #declare Count = Count + 1; #end pigment { rgb 0.4 } } union { #declare Count = 0; #while (Count < dimension_size(cP, 1)) sphere { cP[Count], 1 } #declare Count = Count + 1; #end pigment { rgb <0.2,0.6,0.3> } } text { ttf "arial.ttf" "Interpolating", 0.3, 0 pigment { rgb <1,0.4,0.2> } scale 3 translate <0,-9,-1> } text { ttf "arial.ttf" "Bezier", 0.3, 0 pigment { rgb <0.2,0.4,1> } scale 3 translate <0,-14,-1> }