File: piece3.pov

package info (click to toggle)
povray 1%3A3.6.1-12
  • links: PTS
  • area: non-free
  • in suites: lenny, squeeze
  • size: 31,084 kB
  • ctags: 20,310
  • sloc: ansic: 110,032; cpp: 86,573; sh: 13,595; pascal: 5,942; asm: 2,994; makefile: 1,753; ada: 1,637
file content (281 lines) | stat: -rw-r--r-- 8,466 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
// Persistence Of Vision raytracer version 3.5 sample file.
// updated for compatibility with POV-Ray v3.5 by Ken Tyler on 08-26-01
// piece 3
// by Truman Brown (12/91)
//
// -w320 -h240
// -w800 -h600 +a0.3

// Due to the large number of objects, you will probably have to
// have a lot of memory to render this scene.
// Rendering time using a 25Mhz 386 w/Cyrix fpu is approximately 60 hours.

// NOTE: The following comment by Truman is no longer relevant.  The
// gamma has been modified by the assumed_gamma setting below.  -dmf
//
//   The lighting is intentionally dim when the image is rendered.
//   You can enhance the image using PicLab's gamma, brightness, and
//   contrast command when you post-process the image.


global_settings { assumed_gamma 0.8 max_trace_level 5 }

#include "colors.inc"
#include "textures.inc"
#include "shapes.inc"


#declare YourTexture =
texture {  /* Dan Farmer's oak texture { */
   pigment {
      wood
      turbulence 0.05
      color_map {
         [0.00 0.10 color red 0.42 green 0.26 blue 0.15
         color red 0.42 green 0.26 blue 0.15]
         [0.10 0.90 color red 0.42 green 0.26 blue 0.15
         color red 0.52 green 0.37 blue 0.26]
         [0.90 1.01 color red 0.52 green 0.37 blue 0.26
         color red 0.52 green 0.37 blue 0.26]
      }
      rotate 90*x
      scale 3
   }
}

#declare BallTexture1 = /* Shiny sugar candy red */
texture {
   pigment { Firebrick }
   finish {
      ambient 0.0
      diffuse 0.6
      specular 1.00
      roughness 0.00001
   }
}

#declare RodTexture1 = /* Dim goldish */
texture {
   pigment { Sienna }
   finish {
      ambient 0.0
      diffuse 0.6
      specular 1.00
      roughness 0.00001
   }
}

#include "curly-q.inc" /* 1251 spheres rotating around in a ring    */
/* brought to you by Spiral 2.0 and ctds 1.6 */

camera {
   location  <  7.0,     50.0, -30.0 > /* Up high and in close.         */
   direction <  0.0,      0.0,   2.0 > /* Though this doesn't highlight */
   up        <  0.0,      1.0,   0.0 > /* the height of the piece, it   */
   right     <  4/3,      0.0,   0.0 > /* gives the effect i'm looking  */
   look_at   <  0.0,     15.0,   0.0 > /* for.  Feel free to change.    */
}

light_source { <99, 70, -90> color red 0.1 green 0.1 blue 0.1 }

light_source { <-35, 80, -80> color red 0.5 green 0.5 blue 0.5 }

#declare xrod = /* Horizontal left-right rod floating at <0 0 0> */
object {
   Cylinder_X
   clipped_by {
      plane {  x, 100.0 }
      plane { -x, 100.0 }
   }
   texture {
      RodTexture1
   }
   scale <1.0, 0.3, 0.3>
}

#declare zrod = /* Horizontal in-out rod floating at <0 0 0> */
object {
   Cylinder_Z
   clipped_by {
      plane {  z, 100.0 }
      plane { -z, 100.0 }
   }
   texture {
      RodTexture1
   }
   scale <0.3, 0.3, 1.0>
}

union {                                      /* Build a floor grid */
   object { zrod translate <-100, 0, 0> } /* extending beyond   */
   object { zrod translate < -92, 0, 0> } /* camera view to be  */
   object { zrod translate < -84, 0, 0> } /* captured in reflec-*/
   object { zrod translate < -76, 0, 0> } /* tions.             */
   object { zrod translate < -68, 0, 0> }
   object { zrod translate < -60, 0, 0> }
   object { zrod translate < -52, 0, 0> }
   object { zrod translate < -44, 0, 0> }
   object { zrod translate < -36, 0, 0> }
   object { zrod translate < -28, 0, 0> }
   object { zrod translate < -20, 0, 0> }
   object { zrod translate < -12, 0, 0> }
   object { zrod translate <  -4, 0, 0> }
   object { zrod translate <   4, 0, 0> }
   object { zrod translate <  12, 0, 0> }
   object { zrod translate <  20, 0, 0> }
   object { zrod translate <  28, 0, 0> }
   object { zrod translate <  36, 0, 0> }
   object { zrod translate <  44, 0, 0> }
   object { zrod translate <  52, 0, 0> }
   object { zrod translate <  60, 0, 0> }
   object { zrod translate <  68, 0, 0> }
   object { zrod translate <  76, 0, 0> }
   object { zrod translate <  84, 0, 0> }
   object { zrod translate <  92, 0, 0> }
   object { zrod translate < 100, 0, 0> }

   object { xrod translate < 0, 0, -100> }
   object { xrod translate < 0, 0,  -92> }
   object { xrod translate < 0, 0,  -84> }
   object { xrod translate < 0, 0,  -76> }
   object { xrod translate < 0, 0,  -68> }
   object { xrod translate < 0, 0,  -60> }
   object { xrod translate < 0, 0,  -52> }
   object { xrod translate < 0, 0,  -44> }
   object { xrod translate < 0, 0,  -36> }
   object { xrod translate < 0, 0,  -28> }
   object { xrod translate < 0, 0,  -20> }
   object { xrod translate < 0, 0,  -12> }
   object { xrod translate < 0, 0,   -4> }
   object { xrod translate < 0, 0,    4> }
   object { xrod translate < 0, 0,   20> }
   object { xrod translate < 0, 0,   36> }
   object { xrod translate < 0, 0,   52> }
   object { xrod translate < 0, 0,   64> }
   object { xrod translate < 0, 0,   72> }
   object { xrod translate < 0, 0,   80> }
   object { xrod translate < 0, 0,   88> }
   object { xrod translate < 0, 0,  100> }
//    bounded_by {
//       object { Cube scale <101.0, 0.5, 101.0> }
//    }
}

sphere { /* Big ellipsoid to reflect stuff */
   <0, 0, 0>, 1
   scale <6.25, 4.0, 6.25>
   translate <0.0, 14.5, 0.0>

   texture {
      pigment { SteelBlue }
      finish {
         ambient 0.0
         diffuse 0.6
         reflection 0.99
         specular 1.0
         roughness 0.00001
      }
   }
}

plane { /* Sub-plane { to reflect poles and curly-q */
   y, -1.5
   texture {
      pigment {
         marble
         turbulence 0.65
         color_map {
            [0.0   0.67   color Black
                          color DimGray]
            [0.67  0.775  color DimGray
                          color SteelBlue]
            [0.775 1.001  color SteelBlue
                          color Black]
         }
         scale <10, 8, 8>
         scale <20, 20, 20> /* Double scaled while debugging. */
      }
      finish {
         ambient 0.05
         diffuse 0.75
         specular 1.0
         roughness 0.00002432
         reflection 0.95
      }
   }                /* This gets the gray under the   */
}              /* curly-q and gets the blue to   */
/* reflect off the curly-q nicely.*/

object { spirals translate <0.0, 14.75, 0.0> } /* The curly-q! */

#declare ball = /* Ball to top poles placed inside of curly-q */
sphere {
   <0, 14.75, 0>, 2
   texture {
      pigment { Firebrick }
      finish {
         reflection 0.95
         ambient 0.0
         diffuse 0.5
         specular 1.0
         roughness 0.00001
      }
   }
}

#declare pole = /* Pole to be placed inside of curly-q */
object {
   Disk_Y
   scale <0.5, 14.75, 0.5>

   texture {
      pigment { Firebrick }
      finish {
         reflection 0.95
         ambient 0.0
         diffuse 0.5
         specular 1.0
         roughness 0.00001
      }
   }
}
/* Construct the poles. */
object { pole translate <11, 0, 0> rotate <0,  18, 0> } /* Could have made this */
object { pole translate <11, 0, 0> rotate <0,  54, 0> } /* a composite, but     */
object { pole translate <11, 0, 0> rotate <0,  90, 0> } /* didn't see the point.*/
object { pole translate <11, 0, 0> rotate <0, 126, 0> }
object { pole translate <11, 0, 0> rotate <0, 162, 0> }
object { pole translate <11, 0, 0> rotate <0, 198, 0> }
object { pole translate <11, 0, 0> rotate <0, 234, 0> }
object { pole translate <11, 0, 0> rotate <0, 270, 0> }
object { pole translate <11, 0, 0> rotate <0, 306, 0> }
object { pole translate <11, 0, 0> rotate <0, 342, 0> }
/* Construct the balls. */
object { ball translate <11, 0, 0> rotate <0,  18, 0> }
object { ball translate <11, 0, 0> rotate <0,  54, 0> }
object { ball translate <11, 0, 0> rotate <0,  90, 0> }
object { ball translate <11, 0, 0> rotate <0, 126, 0> }
object { ball translate <11, 0, 0> rotate <0, 162, 0> }
object { ball translate <11, 0, 0> rotate <0, 198, 0> }
object { ball translate <11, 0, 0> rotate <0, 234, 0> }
object { ball translate <11, 0, 0> rotate <0, 270, 0> }
object { ball translate <11, 0, 0> rotate <0, 306, 0> }
object { ball translate <11, 0, 0> rotate <0, 342, 0> }

#declare Connector_1 = cylinder {
   <0, 0, 0>, <1, 0, 0>, 1

   texture {
      pigment { DimGray }
      finish {
         ambient 0.0
         diffuse 0.6
         specular 1.0
         roughness 0.00001
         reflection 0.25
      }
   }
}

#include "links.inc" /* Poles linking interior balls and poles */
object { links rotate <0, 18, 0> translate <0.0, 14.75, 0.0> }