I decided to get a little fancy with the logo and came up with the image in Figure 23-6 . I changed only the coloring and texture for each of the objects. I also added the front and back structures to complete the look. Here's the code to get you thinking about it.
// Persistence-of-Vision Ray-Tracer Scene Description File
// File: 3d_logo_2.pov
// Auth: Steve Murphy
// ==== Standard POV-Ray Includes ====
#include "colors.inc" // Standard Color definitions
#include "glass.inc" // Glass finishes and textures
#include "textures.inc"
background { color White }
// camera { location <0, 20, 0> look_at <0, 0, 0> } // top
// camera { location <0, 0, -30> look_at <0, 0, 0> } // front
// camera { location <-20, 0, 0> look_at <0, 0, 0> } // left
camera { location <15, 15, -30> look_at <0, 0, 0> } // perspective
light_source { <0, 0, -40> color White }
light_source { <40, 0, 0> color White }
light_source { <-40, 0, 0> color White }
light_source { <0, 40, 0> color White }
light_source { <0, -40, 0> color White }
// larger box in the center
box {
<-3, -3, -3>, <3, 3, 3>
texture { Starfield }
}
// make a smaller box object
#declare myBox = box {
<-2, -2, -2>, <2, 2, 2>
texture { T_Ruby_Glass }
}
object { myBox translate <-4, 4, -4> } // tlf
object { myBox translate <-4, -4, -4> } // blf
object { myBox translate <-4, 4, 4> } // tlb
object { myBox translate <-4, -4, 4> } // blb
object { myBox translate <4, 4, -4> } // trf
object { myBox translate <4, -4, -4> } // brf
object { myBox translate <4, 4, 4> } // trb
object { myBox translate <4, -4, 4> } // brb
// make a cone object
#declare myCone = cone {
<0, -3, 0>, 4
<0, 2, 0>, 1
texture { Chrome_Texture }
}
object { myCone translate <0, 9, 0> } // top
object { myCone rotate <180, 0, 0> translate <0, -9, 0> } // bottom
object { myCone rotate <0, 0, 90> translate <-9, 0, 0> } // left
object { myCone rotate <0, 0, -90> translate <9, 0, 0> } // right
object { myCone rotate <-90, 0, 0> translate <0, 0, -9> } // front
object { myCone rotate <90, 0, 0> translate <0, 0, 9> } // back
// make a sphere object
#declare mySphere = sphere {
<0, 0, 0>, 2
texture { Lightening1 }
}
object { mySphere rotate <5, 6, 7> translate <0, 12, 0> } // top
object { mySphere rotate <10, -8, 20> translate <12, 0, 0> } // right
object { mySphere rotate <-19, 17, 22> translate <0, -12, 0> } // bottom
object { mySphere rotate <-29, 87, -87> translate <-12, 0, 0> } // left
object { mySphere rotate <12, 18, -91> translate <0, 0, -12> } // front
object { mySphere rotate <-19, -16, -14> translate <0, 0, 12> } // back
So that's it for the 3D logo. Your introduction to 3D art is not complete by any means. There's a whole lot more to PovRay, and it's worth exploring on your own. PovRay isn't the only avenue for you to explore either. These days there are many new tools available to you.