File: trace.pov

package info (click to toggle)
povray 1%3A3.7.0.8-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 146,780 kB
  • sloc: cpp: 845,005; ansic: 122,118; sh: 34,206; pascal: 6,420; asm: 3,355; ada: 1,681; makefile: 1,387; cs: 879; awk: 590; perl: 245; xml: 95
file content (92 lines) | stat: -rw-r--r-- 1,830 bytes parent folder | download | duplicates (7)
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
// This work is licensed under the Creative Commons Attribution 3.0 Unported License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/
// or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View,
// California, 94041, USA.

// Persistence Of Vision Ray Tracer Scene Description File
// File: trace_dem.pov
// Desc: Basic Scene Example using trace(). This scene is
//intended to be run as an animation.
// Date: 2001/08/13
// Auth: Ingo Janssen
//

// +w320 +h240 +a0.3 +kfi0 +kff24

#version 3.6;

global_settings {
  assumed_gamma 1.0
}

#include "math.inc"

camera {
  location <0.0, 1.0, -12.0>
  right     x*image_width/image_height
  look_at  <0.0, 1.0,  0.0>
  angle 25
}

light_source {
  <500, 500, -500>
  color rgb <1, 1, 1>
}

#declare Ground=
difference {
   union {
      box{<-1.5,-0.6,-0.001>,<1.5,0,0.1>}
      cylinder{<-1,0,-0.003>,<-1,0,0.11>,0.5}
      cylinder{<1,0,-0.003>,<1,0,0.11>,0.5}
   }
   cylinder{<0,0,-0.003>,<0,0,0.11>,0.5}
   no_shadow
   pigment {rgb 1}
}

object {Ground}
#declare Norm=<0,0,0>;
#declare From=<-1.499+(clock*2.99),2,0>;
#declare Intersect=trace(Ground, From,<0,-1,0>,Norm);

union {
   sphere {From, 0.06}
   cylinder {From, Intersect+<0,0.5,0>, 0.025}
   cone {
      0,0,<0,0.5,0>,0.1
      translate Intersect
   }
   pigment {rgb <1,1,0>}
}

union {
   cylinder{
      Intersect, Intersect+(Norm/2), 0.025
   }
   cone {
      Intersect+(Norm)/2,0.1,Intersect+Norm,0
   }
   pigment {rgb <0,1,0>}
}

text {
  ttf
  "crystal.ttf",
  concat("Intersection: <",vstr(3,Intersect,",",0,2),">")
  0.1,
  0
  scale 0.3
  translate <-2.5,2.7,0>
  pigment {rgb <1,1,0>}
}
text {
  ttf
  "crystal.ttf",
  concat("Normal: <",vstr(3,Norm,",",0,2),">")
  0.1,
  0
  scale 0.3
  translate <-2.5,2.3,0>
  pigment {rgb <0,1,0>}
}