// Persistence of Vision Ray Tracer Scene Description File // File: skulobj.pov // Vers: 3.5 // Desc: the skull moreover, yet again... or should I say still? // Date: 061919 // 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<.50,.45,.45> translate x*.38} //brain case sphere{0,.33 scale<.8,.45,.82> translate<.37,.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> .03<.92,.11,0> .04} //upper nose cone{<.86,.08,0>,.05,<.91,.21,0> .06} //nose bone sphere{<.89,.21,0> .06} //snot bone superellipsoid{<.7,.7> scale<.28,.22,.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 HeadBand=difference{cylinder{-.3*y,.27*y,1.01} //the whole bandage cylinder{y*-.31,y*.28,.99} //and out with the innards scale<.47,.45,.445> rotate z*9 translate x*.328 } #declare Skull=difference{object{SkullBone} sphere{0,1 scale<.15,.2,.2> translate<.07,.7,0>} //neckhole sphere{0,1 scale<.48,.43,.43> translate x*.38} //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,.21,-.069><.955,.21,.069>.06 } //snot cut //cylinder{<1.00,.10,-.69><1.00,.10,.69>.07} cylinder{<1.00,.20,-.1><1.00,.20,.1>.06} //snot cut upper sphere{0,1 scale<.3,.07,.02> rotate x*5 translate<.85,.15,.023>} //nostril holes sphere{0,1 scale<.3,.07,.02> rotate x*-5 translate<.85,.15,-.023>} sphere{0,1 scale<.1,.07,.05> rotate <11,0,-12> translate<.97,.13,.026> } 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.01} cylinder{y*-.31,y*.21,.98} scale<.70,.55,.47> rotate z*7 translate x*.32 } */ object{HeadBand} //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(<.2,1.6,.85>) rotate y*-1 translate<.9,.53,.03>} //incisors object{Toof(<.2,1.6,.85>) rotate y*+1 translate<.9,.53,-.03>} object{Toof(<.15,1.53,.65>) rotate y*-30 translate<.88,.53,.08>} object{Toof(<.15,1.53,.65>) rotate y*+30 translate<.88,.53,-.08>} object{Toof2(<.23,.82,.24>) rotate y*-10 translate<.85,.53,.125>} //k9s object{Toof2(<.23,.82,.24>) rotate y*+10 translate<.85,.53,-.125>} object{Toof2(<.25,.8,.3>) rotate y*-75 translate<.8,.55,.135>} //choppers object{Toof2(<.25,.8,.3>) rotate y*+75 translate<.8,.55,-.135>} object{Toof2(<.28,.8,.3>) rotate y*-80 translate<.75,.55,.16>} //choppers object{Toof2(<.28,.8,.3>) rotate y*+80 translate<.75,.55,-.16>} object{Toof2(<.29,.7,.3>) rotate y*-85 translate<.69,.54,.165>} //choppers object{Toof2(<.29,.7,.3>) rotate y*+85 translate<.69,.54,-.165>} object{Toof2(<.28,.7,.3>) rotate y*-95 translate<.63,.53,.17>} //choppers object{Toof2(<.28,.7,.3>) rotate y*+95 translate<.63,.53,-.17>} object{Toof2(<.3,.7,.29>) rotate y*-100 translate<.57,.53,.16>} //choppers of wisdom object{Toof2(<.3,.7,.29>) rotate y*+100 translate<.57,.53,-.16>} } #declare SkullNTeeth=union{object{Skull texture{SkullTex}} object{Teeth texture{ToothTex} translate y*-.12} //rotate z*10 //rotate y*-90 } /* ^ -y | | *----> +x / /+z L */