home *** CD-ROM | disk | FTP | other *** search
- // POV include file - Defines an object to be used as a six-sided die
-
- #include "colors.inc"
- #include "textures.inc"
-
- // Define a die spot. This is defined as a disc which is raised (very)
- // slightly above the plane of the die face. This prevents contention
- // between the disc object and the box object giving the die faces.
- // Note that the color of the disk must be declared as a texture called
- // DieSpotTexture, e.g.
- // #declare DieSpotTexture = texture {pigment {color Black}}
- // before including this file. This allows for different textures to be
- // used for the spots on different dice.
- #declare DieSpot =
- object {
- union {
- disc { <1.01, 0, 0>, x, 0.4}
- disc { <1.01, 0, 0>, -1*x, 0.4}
- }
- texture {DieSpotTexture}
- }
-
- //Define die object. This object is 2 units on a side, centred at the origin
- #declare Die =
- object {
- union {
- intersection {
- box { <-2,-2,-2>, < 2, 2, 2> }
- sphere { < 0, 0, 0>, 3.0 }
- }
- // Face 1
- object {DieSpot rotate < 0, 90, 0> translate <0, 0, -1>}
- // Face 2
- object {DieSpot translate < 1, 1, 1>}
- object {DieSpot translate < 1,-1,-1>}
- // Face 3
- object {DieSpot rotate < 0, 0, 90> translate <-1, 1,-1>}
- object {DieSpot rotate < 0, 0, 90> translate < 0, 1, 0>}
- object {DieSpot rotate < 0, 0, 90> translate < 1, 1, 1>}
- // Face 4
- object {DieSpot rotate < 0, 0,-90> translate <-1,-1,-1>}
- object {DieSpot rotate < 0, 0,-90> translate <-1,-1, 1>}
- object {DieSpot rotate < 0, 0,-90> translate < 1,-1,-1>}
- object {DieSpot rotate < 0, 0,-90> translate < 1,-1, 1>}
- // Face 5
- object {DieSpot rotate < 0,180, 0> translate <-1,-1,-1>}
- object {DieSpot rotate < 0,180, 0> translate <-1, 1,-1>}
- object {DieSpot rotate < 0,180, 0> translate <-1, 0, 0>}
- object {DieSpot rotate < 0,180, 0> translate <-1,-1, 1>}
- object {DieSpot rotate < 0,180, 0> translate <-1, 1, 1>}
- // Face 6
- object {DieSpot rotate < 0,-90, 0> translate <-1, 1, 1>}
- object {DieSpot rotate < 0,-90, 0> translate < 1, 1, 1>}
- object {DieSpot rotate < 0,-90, 0> translate <-1, 0, 1>}
- object {DieSpot rotate < 0,-90, 0> translate < 1, 0, 1>}
- object {DieSpot rotate < 0,-90, 0> translate <-1,-1, 1>}
- object {DieSpot rotate < 0,-90, 0> translate < 1,-1, 1>}
- }
- scale 0.5
- }
-
- //Define dice with different faces facing upwards
- // Face 1
- #declare Die1Up = object {Die rotate < 90, 0, 0>}
- // Face 2
- #declare Die2Up = object {Die rotate < 0, 0, 90>}
- // Face 3
- #declare Die3Up = object {Die}
- // Face 4
- #declare Die4Up = object {Die rotate <180, 0, 0>}
- // Face 5
- #declare Die5Up = object {Die rotate < 0, 0,-90>}
- // Face 6
- #declare Die6Up = object {Die rotate <-90, 0, 0>}
-