home *** CD-ROM | disk | FTP | other *** search
- #include "colors.inc"
- #include "textures.inc"
- #include "shapes.inc"
- #include "color.inc"
-
- #global_settings {
- assumed_gamma 2.2
- }
-
- camera {
- location <-1, 0.75, -4.5>
- right x*4/3
- direction z*1.2
- look_at <0, 0.3, 0>
- }
-
- light_source { <100, 20, -10> color White }
- light_source { <-100, 100, -100> color White }
-
- //fog { distance 50 color Gray25 }
-
- plane { y, -2 texture { T0 } }
-
- #declare Cone_Len = 0.15
- #declare Cone_Diam = 0.08
- #declare Cyl_Len = 1
- #declare Cyl_Diam = 0.05
- #declare W_O = <0,0,0>
-
- #declare X = union {
- sphere { <-0.5, 1, 0>, Cyl_Diam }
- sphere { < 0.5, 1, 0>, Cyl_Diam }
- sphere { <-0.5, 0, 0>, Cyl_Diam }
- sphere { < 0.5, 0, 0>, Cyl_Diam }
- cylinder { <-0.5, 1, 0> <0.5, 0, 0>, Cyl_Diam }
- cylinder { <-0.5, 0, 0> <0.5, 1, 0>, Cyl_Diam }
- scale 0.5
- }
- #declare Y = union {
- sphere { <-0.5, 1, 0>, Cyl_Diam }
- sphere { < 0.5, 1, 0>, Cyl_Diam }
- sphere { < 0.0, 0.5, 0>, Cyl_Diam }
- sphere { < 0.0, 0.0, 0>, Cyl_Diam }
- cylinder { <-0.5, 1.0, 0> <0.0, 0.5, 0>, Cyl_Diam }
- cylinder { < 0.0, 0.5, 0> <0.5, 1, 0>, Cyl_Diam }
- cylinder { < 0.0, 0.5, 0> <0.0, 0, 0>, Cyl_Diam }
- scale 0.5
- }
- #declare Z = union {
- sphere { <-0.5, 1, 0>, Cyl_Diam }
- sphere { < 0.5, 1, 0>, Cyl_Diam }
- sphere { <-0.5, 0, 0>, Cyl_Diam }
- sphere { < 0.5, 0, 0>, Cyl_Diam }
- cylinder { <-0.5, 1.0, 0> <0.5, 1.0, 0>, Cyl_Diam }
- cylinder { <-0.5, 0.0, 0> <0.5, 1, 0>, Cyl_Diam }
- cylinder { <-0.5, 0.0, 0> <0.5, 0.0, 0>, Cyl_Diam }
- scale 0.5
- }
-
- #declare Dash = union {
- sphere { <-0.2, 0.0, 0.0>, Cyl_Diam }
- sphere { < 0.2, 0.0, 0.0>, Cyl_Diam }
- cylinder { <-0.2, 0.0, 0> <0.2, 0.0, 0>, Cyl_Diam }
- translate <-0.75, 0.5, 0>
- scale 0.5
- }
- #declare Plus = union {
- sphere { <-0.2, 0.0, 0.0>, Cyl_Diam }
- sphere { < 0.2, 0.0, 0.0>, Cyl_Diam }
- cylinder { <-0.2, 0.0, 0> <0.2, 0.0, 0>, Cyl_Diam }
-
- sphere { <0.0, 0.2, 0.0>, Cyl_Diam }
- sphere { <0.0,-0.2, 0.0>, Cyl_Diam }
- cylinder { <0.0,-0.2, 0> <0.0, 0.2, 0>, Cyl_Diam }
-
- translate <-0.75, 0.5, 0>
- scale 0.5
-
- }
- #declare PosX = union {
- object { X }
- object { Plus }
- texture { T1 }
- }
- #declare PosY = union {
- object { Y }
- object { Plus }
- texture { T1 }
- }
- #declare PosZ = union {
- object { Z }
- object { Plus }
- texture { T1 }
- }
- #declare NegX = union {
- object { X }
- object { Dash }
- texture { T2 }
- }
- #declare NegY = union {
- object { Y }
- object { Dash }
- texture { T2 }
- }
- #declare NegZ = union {
- object { Z }
- object { Dash }
- texture { T2 }
- }
-
- #declare Arrow_X = union {
- object { Cone_X
- translate x*0.5
- scale <Cone_Len, Cone_Diam, Cone_Diam>
- translate x*Cyl_Len
- }
- cylinder { W_O , x*Cyl_Len, Cyl_Diam }
- texture { T3 }
- }
- #declare Arrow_Y = union {
- object { Cone_Y
- translate y*0.5
- scale <Cone_Diam, Cone_Len, Cone_Diam>
- translate y*Cyl_Len
- }
- cylinder { W_O , y*Cyl_Len, Cyl_Diam }
- texture { T3 }
- }
- #declare Arrow_Z = union {
- object { Cone_Z
- translate z*0.5
- scale <Cone_Diam, Cone_Diam, Cone_Len>
- translate z*Cyl_Len
- }
- cylinder { W_O , z*Cyl_Len, Cyl_Diam }
- texture { T3 }
- }
-
- union {
- object { PosX translate < 1.5, 0.2, 0.0> }
- object { PosY translate < 0.0, 1.5, -0.2> }
- object { PosZ translate < 0.0, 0.2, 1.5> }
- object { Arrow_X }
- object { Arrow_Y }
- object { Arrow_Z }
- object { Arrow_X scale -1 }
- object { Arrow_Y scale -1 }
- object { Arrow_Z scale -1 }
- sphere { <0,0,0>, Cyl_Diam texture { T3 } }
- object { NegX translate <-1.5, 0.2, 0.0>}
- object { NegY translate < 0.0, -1.5, -0.2>}
- object { NegZ translate < 0.0, 0.2, -1.5>}
- }
-