1// This work is licensed under the Creative Commons Attribution 3.0 Unported License.
2// To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
3// or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
4// California, 94041, USA.
5
6// Persistence Of Vision raytracer version 3.5 sample file.
7
8// Include file for steiner.pov, grafbic.pov
9// by Alexander Enzmann
10
11// Declare the sizes of cylinders that represent coordinate axes
12#declare Axes_X_Radii = <1.0, 0.01, 0.01>;
13#declare Axes_Y_Radii = <0.01, 1.0, 0.01>;
14#declare Axes_Z_Radii = <0.01, 0.01, 1.0>;
15
16// Define the colors of the coordinate axes
17#declare X_Axis_Color = color green 1 blue 1;
18#declare Y_Axis_Color = color red 1 green 1;
19#declare Z_Axis_Color = color red 1 blue 1;
20
21// Define the ways that the coordinate axes can be translated
22#declare Translate_X_Axis_Up       = < 0.0,  1.0,  0.0>;
23#declare Translate_X_Axis_Down     = < 0.0, -1.0,  0.0>;
24#declare Translate_X_Axis_Forward  = < 0.0,  0.0,  1.0>;
25#declare Translate_X_Axis_Back     = < 0.0,  0.0, -1.0>;
26#declare Translate_Y_Axis_Left     = < 1.0,  0.0,  0.0>;
27#declare Translate_Y_Axis_Right    = <-1.0,  0.0,  0.0>;
28#declare Translate_Y_Axis_Forward  = < 0.0,  0.0,  1.0>;
29#declare Translate_Y_Axis_Back     = < 0.0,  0.0, -1.0>;
30#declare Translate_Z_Axis_Up       = < 0.0,  1.0,  0.0>;
31#declare Translate_Z_Axis_Down     = < 0.0, -1.0,  0.0>;
32#declare Translate_Z_Axis_Left     = < 1.0,  0.0,  0.0>;
33#declare Translate_Z_Axis_Right    = <-1.0,  0.0,  0.0>;
34
35// Define coordinate axes
36#declare Axes =
37union {
38   object {
39      Cylinder_X
40      scale Axes_X_Radii
41      texture { pigment { X_Axis_Color } }
42   }
43
44   object {
45      Cylinder_Y
46      scale Axes_Y_Radii
47      texture { pigment { Y_Axis_Color } }
48   }
49   object {
50      Cylinder_Z
51      scale Axes_Z_Radii
52      texture { pigment { Z_Axis_Color } }
53   }
54}
55
56// Translate the axis up, down, right, ...,  to form the three
57// planes that divide the standard octants.
58#declare Axis_Box =
59union {
60   object {
61      Cylinder_X
62      scale Axes_X_Radii
63      translate Translate_X_Axis_Up
64      texture { pigment { X_Axis_Color } }
65   }
66
67   object {
68      Cylinder_X
69      scale Axes_X_Radii
70      translate Translate_X_Axis_Down
71      texture { pigment { X_Axis_Color } }
72   }
73
74   object {
75      Cylinder_Y
76      scale Axes_Y_Radii
77      translate Translate_Y_Axis_Forward
78      texture { pigment { color Y_Axis_Color } }
79   }
80
81   object {
82      Cylinder_Y
83      scale Axes_Y_Radii
84      translate Translate_Y_Axis_Back
85      texture { pigment { Y_Axis_Color } }
86   }
87
88   object {
89      Cylinder_Z
90      scale Axes_Z_Radii
91      translate Translate_Z_Axis_Left
92      texture { pigment { Z_Axis_Color } }
93   }
94
95   object {
96      Cylinder_Z
97      scale Axes_Z_Radii
98      translate Translate_Z_Axis_Right
99      texture { pigment { Z_Axis_Color } }
100   }
101}
102
103