// Persistence of Vision Ray Tracer Scene Description File // File: skul0310.pov // Vers: 3.5 // Desc: the skull moreover, yet again... or should I say still? // Date: 031010 // Auth: dookie x #include "colors.inc" #include "textures.inc" #include "stones1.inc" //#include "onetire2.pov" #declare SkullTex=texture{pigment{color Gray70}} /* #declare SkullTex=texture { pigment { // (---surface color---) marble // some pattern color_map { // color map [0.1 color red 1] [0.5 color rgbf 1] } turbulence 0.5 // some turbulence scale <1,3,1> // transformations } normal { // (---surface bumpiness---) marble 0.3 // some pattern (and intensity) turbulence 0.5 // some turbulence scale <1,3,1> // transformations } finish { // (---surface finish---) ambient 0.2 specular 0.6 // shiny } } */ //texture{pigment{color Gray70}} #declare ToothTex=texture{pigment{color White}} #declare ToothTex=texture{pigment{color Gray90}} #declare FleshTex=texture{pigment{color Pink}} #declare GroundTex=texture{pigment{color Tan} finish{ambient .3}} #declare SkullBone=union{sphere{0,1 scale<.71,.45,.45> translate x*.20} //brain case sphere{0,.33 scale<.8,.45,.82> translate<.02,.33,0>} //spine lump difference{cone{<.45,0,0>,.37 <.420,.4,0>,.40 //snout/upper deck scale<1.10,.9,.55>} sphere{0,1 scale<.30,.14,.20> translate<.60,.45,0>} //roof of mouth } cone{<.82,.01,0> .04<.98,.11,0> .05} //upper nose cone{<.86,.08,0>,.05,<.91,.23,0> .07} //nose bone sphere{<.89,.23,0> .06} //snot bone superellipsoid{<.7,.7> scale<.30,.24,.38> //cheek/brow bone rotate<0,0,4> translate<.58,.13,0>} torus { 0.18,0.1 rotate<-7,0,-38> translate<.66,+.075,-.075>} //brow L torus { 0.18,0.1 rotate< 7,0,-38> translate<.66,+.075,+.075>} //brow R torus { 0.20,0.12 rotate< 0,0,-44> translate<.66,+.135,0>} //brow Uni // sphere{0,1 scale<.1,.05,.015> rotate <11,0,-10> translate<1.05,.09,.023> texture{pigment{color Green}}} //nostril holes // sphere{0,1 scale<.1,.05,.015> rotate <-11,0,-10> translate<1.05,.09,-.023> texture{pigment{color Green}}} }// the union #declare Skull=difference{object{SkullBone} sphere{0,1 scale<.15,.2,.2> translate<.07,.7,0>} //neckhole sphere{0,1 scale<.69,.43,.43> translate x*.2} //brain hole superellipsoid{<.8,.8> scale<.15,.1,.14> //left eye rotate<10,0,0> translate<.9,.09,-.2>} superellipsoid{<.8,.8> scale<.15,.1,.14> //right eye rotate<-10,0,0> translate<.9,.09,.2>} cylinder{<.955,.245,-.1><.955,.245,.1>.07} //snot cut cylinder{<1.00,.10,-.1><1.00,.10,.1>.06} //snot cut upper sphere{0,1 scale<.3,.07,.015> rotate x*5 translate<.85,.15,.021>} //nostril holes sphere{0,1 scale<.3,.07,.015> rotate x*-5 translate<.85,.15,-.021>} sphere{0,1 scale<.1,.07,.05> rotate <11,0,-12> translate<.97,.13,.026> //texture{pigment{color Green}} } //nostril holes II sphere{0,1 scale<.1,.07,.05> rotate <-11,0,-12> translate<.97,.13,-.026> //texture{pigment{color Green}} } superellipsoid{<.6,.8> scale<.28,.27,.36> rotate<0,0,4> translate<.58,.08,0>} //cheekbone hole difference{cylinder{-.3*y,.2*y,1.05} cylinder{y*-.31,y*.21,.98} scale<.70,.55,.47> rotate z*7 translate x*.15 } //neat headband, man... sphere{0,1 scale .21 translate<.80,-.08,.49>} //temple R sphere{0,1 scale .22 translate<.71,+.08,.55>} //cheek R sphere{0,1 scale .21 translate<.80,-.08,-.49>} //temple L sphere{0,1 scale .22 translate<.71,+.08,-.55>} //cheek L }// end difference #macro Toof(SizeVect) //A FRONT TOOTH difference{sphere{0,.05} //a leetle sphere box{<-1,.002,-1><1,1,1>} //cut in half scale SizeVect} //and stretched into a big lozengey ovate half-spheriod #end //macro Toof #macro Toof2(SizeVect) //A SIDE/BACK TOOTH difference{superellipsoid{<.6,.6>} //a leetle super-ellipsoid, kinda roundy box{<-2,0,-2><2,2,2>} //cut in half scale SizeVect/10} //and stretched at a similar scale to Toof #end //macro Toof2 #declare Teeth= union{//object{Skull translate y*.12} object{Toof(<.28,3.9,.8>) rotate y*-9 translate<.89,.60,.035>} //incisors object{Toof(<.28,3.9,.8>) rotate y*+9 translate<.89,.60,-.035>} object{Toof(<.27,3.5,.7>) rotate y*-30 translate<.86,.6,.09>} object{Toof(<.27,3.5,.7>) rotate y*+30 translate<.86,.6,-.09>} object{Toof2(<.28,1.2,.35>) rotate y*-55 translate<.81,.60,.12>} //k9s object{Toof2(<.28,1.2,.35>) rotate y*+55 translate<.81,.60,-.12>} object{Toof2(<.32,1.1,.35>) rotate y*-75 translate<.76,.60,.145>} //choppers object{Toof2(<.32,1.1,.35>) rotate y*+75 translate<.76,.60,-.145>} object{Toof2(<.34,1.0,.35>) rotate y*-80 translate<.70,.60,.16>} //choppers object{Toof2(<.34,1.0,.35>) rotate y*+80 translate<.70,.60,-.16>} object{Toof2(<.35,.9,.35>) rotate y*-85 translate<.64,.60,.165>} //choppers object{Toof2(<.35,.9,.35>) rotate y*+85 translate<.64,.60,-.165>} object{Toof2(<.34,.9,.35>) rotate y*-95 translate<.58,.60,.17>} //choppers object{Toof2(<.34,.9,.35>) rotate y*+95 translate<.58,.60,-.17>} object{Toof2(<.33,.9,.33>) rotate y*-100 translate<.52,.59,.16>} //choppers of wisdom object{Toof2(<.33,.9,.33>) rotate y*+100 translate<.52,.59,-.16>} } #declare SkullNTeeth=union{object{Skull translate y*.12 texture{SkullTex}} object{Teeth texture{ToothTex}} //rotate z*10 rotate y*-90 } /* ^ -y | | *----> +x / /+z L */