// Persistence of Vision Ray Tracer Scene Description File // File: crossobj.pov // Vers: 3+ // Desc: // Date: 08.27.00+ // Auth:dookie x #include "colors.inc" // Standard Color definitions #include "textures.inc" // Standard Texture definitions #include "METALS.INC" #declare PI=3.14159265358979432; #declare RADADJ=2*PI/360; //degrees to radians conversion factor #declare ShinyTex=texture{T_Chrome_4C finish{ambient .6}} #declare ShinyTex=texture{T_Chrome_4C} #declare NotAsShinyTex=texture{T_Chrome_4C finish{ambient .53}} #declare NotAsShinyTex=texture{T_Chrome_4C} #declare DarkMetal=texture{T_Chrome_4C finish{ambient .12}} #declare DarkMetal=texture{T_Chrome_4C} #declare Pin=cylinder{<0,0,-.33>,<0,0,.33>,.18 texture{NotAsShinyTex}} #declare OuterLink=difference{ union{cylinder{<0,0,-.3>,<0,0,-.21>,.38} cylinder{<0,0,-.3>,<0,0,-.21>,.38 translate <-1.25,0,0>} box{<0,.25,-.3>,<-1.25,-.25,-.21>} } cylinder{<0,0,-.31>,<0,0,-.2>,.19} cylinder{<0,0,-.31>,<0,0,-.2>,.19 translate<-1.25,0,0>} cylinder{<- .2962085308057,.41,-.31>,<- .2962085308057,.41,-.2>,.2 scale <2.11,.9,1>} cylinder{<- .2962085308057,-.405,-.31>,<- .2962085308057,-.405,-.2>,.2 scale <2.11,.9,1>} /* height_field { png "sachss2.png" scale <1.93,9,.52> //aspect ratio of gif!! rotate x*90 translate <-1.58,.25,-.31> } */ texture{NotAsShinyTex} } #declare InnerLink=difference{ union{cylinder{<0,0,-.2>,<0,0,-.11>,.37} cylinder{<0,0,-.2>,<0,0,-.11>,.37 translate <1.25,0,0>} box{<0,.25,-.2>,<1.25,-.25,-.11>} } cylinder{<0,0,-.21>,<0,0,-.1>,.19} cylinder{<0,0,-.21>,<0,0,-.1>,.19 translate<1.25,0,0>} cylinder{<.2962085308057,.405,-.21>,<.2962085308057,.405,-.1>,.2 scale <2.11,.9,1>} cylinder{<.2962085308057,-.405,-.21>,<.2962085308057,-.405,-.1>,.2 scale <2.11,.9,1>} texture{DarkMetal} } #declare Spacer=difference{cylinder{<0,0,.1>,<0,0,-.1>,.35} cylinder{<0,0,.11>,<0,0,-.11>,.19} texture{ShinyTex}} #declare LinksInRing=2; #declare LinkAngle=180/LinksInRing; #declare OneLink=union{object{OuterLink} object{OuterLink rotate y*180 translate -x*1.25} object{Spacer} object{Pin} object{InnerLink rotate z*LinkAngle} object{InnerLink rotate x*180 rotate z*LinkAngle} object{Spacer translate x*1.25 rotate z*LinkAngle} object{Pin translate x*1.25 rotate z*LinkAngle} rotate -z*LinkAngle/2 } #declare SecretAngle=180-LinkAngle-(180-LinkAngle)/2; #declare HalfLoopSpan=1.25*sin(SecretAngle*RADADJ)/sin(LinkAngle*RADADJ) ; #declare BigAssRing=union{ #declare Looper=0; #while (Looper rotate z*Looper*LinkAngle*2} #declare Looper=Looper+1; #end } #declare TwentyTwoCrossSemiRing= union{ #declare Looper=0; #while (Looper<22) object{BigAssRing rotate y*90 //get them facing the "right" way.. keep this!! scale .39 translate y*5.5 rotate z*Looper*13.5+90} #declare Looper=Looper+1; #end } //end union //bject{BigAssRing}