Multitool Linux: Practical Uses for Open Source Software

Getting Fancy

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.

Figure 23-6. Image of fancy 3D logo.

// 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.

 

Категории