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>}
}
|