POV-Ray source
This is the source code from which the image above is rendered. The permission given above applies to this source code as well.
// Persistence of Vision Ray Tracer Scene Description File
// File: 3d-art-gallery.pov
// Vers: 3.6
// Desc: A simple polyhedron with none of the vertices visible from the center.
// Date: 2007-11-06
// Auth: Ilmari Karonen
// parameters controlling the width and depth of hidden gaps
#declare a = (1 - 1/3);
#declare b = (1 + 2/3);
#if (b <= 1/a)
#warning "B too small for a, vertices will be visible from center!"
#end
// textures for various surfaces
#declare T1 = texture {
pigment { color rgb<1.0, 0.8, 0.8> }
finish { ambient 0.3 diffuse 0.7 }
}
#declare T2 = texture {
pigment { color rgb<1.0, 1.0, 0.8> }
finish { ambient 0.3 diffuse 0.7 }
}
#declare T3 = texture {
pigment { color rgb<0.8, 0.9, 1.0> }
//pigment { color rgb 0 transmit 1 }
finish { ambient 0.3 diffuse 0.7 }
}
#declare T4 = texture {
pigment { color rgb<0.8, 0.8, 0.8> }
finish { diffuse 0.3 specular 1.0 }
}
// the polyhedron itself
mesh {
// corner triangles
triangle { < 1, a, b>, < a, b, 1>, < b, 1, a> texture { T1 } }
triangle { < 1, a,-b>, < a, b,-1>, < b, 1,-a> texture { T1 } }
triangle { < 1,-a, b>, < a,-b, 1>, < b,-1, a> texture { T1 } }
triangle { < 1,-a,-b>, < a,-b,-1>, < b,-1,-a> texture { T1 } }
triangle { <-1, a, b>, <-a, b, 1>, <-b, 1, a> texture { T1 } }
triangle { <-1, a,-b>, <-a, b,-1>, <-b, 1,-a> texture { T1 } }
triangle { <-1,-a, b>, <-a,-b, 1>, <-b,-1, a> texture { T1 } }
triangle { <-1,-a,-b>, <-a,-b,-1>, <-b,-1,-a> texture { T1 } }
// visible sides
triangle { < 1, a, b>, < 1,-a, b>, < 1, a,-b> texture { T2 } }
triangle { < 1,-a,-b>, < 1,-a, b>, < 1, a,-b> texture { T2 } }
triangle { <-1, a, b>, <-1,-a, b>, <-1, a,-b> texture { T2 } }
triangle { <-1,-a,-b>, <-1,-a, b>, <-1, a,-b> texture { T2 } }
triangle { < a, b, 1>, <-a, b, 1>, < a,-b, 1> texture { T2 } }
triangle { <-a,-b, 1>, <-a, b, 1>, < a,-b, 1> texture { T2 } }
triangle { < a, b,-1>, <-a, b,-1>, < a,-b,-1> texture { T2 } }
triangle { <-a,-b,-1>, <-a, b,-1>, < a,-b,-1> texture { T2 } }
triangle { < b, 1, a>, < b, 1,-a>, <-b, 1, a> texture { T2 } }
triangle { <-b, 1,-a>, < b, 1,-a>, <-b, 1, a> texture { T2 } }
triangle { < b,-1, a>, < b,-1,-a>, <-b,-1, a> texture { T2 } }
triangle { <-b,-1,-a>, < b,-1,-a>, <-b,-1, a> texture { T2 } }
// hidden sides
triangle { < 1, a, b>, < b, 1, a>, < 1, a,-b> texture { T3 } }
triangle { < b, 1,-a>, < b, 1, a>, < 1, a,-b> texture { T3 } }
triangle { < 1,-a, b>, < b,-1, a>, < 1,-a,-b> texture { T3 } }
triangle { < b,-1,-a>, < b,-1, a>, < 1,-a,-b> texture { T3 } }
triangle { <-1, a, b>, <-b, 1, a>, <-1, a,-b> texture { T3 } }
triangle { <-b, 1,-a>, <-b, 1, a>, <-1, a,-b> texture { T3 } }
triangle { <-1,-a, b>, <-b,-1, a>, <-1,-a,-b> texture { T3 } }
triangle { <-b,-1,-a>, <-b,-1, a>, <-1,-a,-b> texture { T3 } }
triangle { < a, b, 1>, < 1, a, b>, < a,-b, 1> texture { T3 } }
triangle { < 1,-a, b>, < 1, a, b>, < a,-b, 1> texture { T3 } }
triangle { <-a, b, 1>, <-1, a, b>, <-a,-b, 1> texture { T3 } }
triangle { <-1,-a, b>, <-1, a, b>, <-a,-b, 1> texture { T3 } }
triangle { < a, b,-1>, < 1, a,-b>, < a,-b,-1> texture { T3 } }
triangle { < 1,-a,-b>, < 1, a,-b>, < a,-b,-1> texture { T3 } }
triangle { <-a, b,-1>, <-1, a,-b>, <-a,-b,-1> texture { T3 } }
triangle { <-1,-a,-b>, <-1, a,-b>, <-a,-b,-1> texture { T3 } }
triangle { < b, 1, a>, < a, b, 1>, <-b, 1, a> texture { T3 } }
triangle { <-a, b, 1>, < a, b, 1>, <-b, 1, a> texture { T3 } }
triangle { < b, 1,-a>, < a, b,-1>, <-b, 1,-a> texture { T3 } }
triangle { <-a, b,-1>, < a, b,-1>, <-b, 1,-a> texture { T3 } }
triangle { < b,-1, a>, < a,-b, 1>, <-b,-1, a> texture { T3 } }
triangle { <-a,-b, 1>, < a,-b, 1>, <-b,-1, a> texture { T3 } }
triangle { < b,-1,-a>, < a,-b,-1>, <-b,-1,-a> texture { T3 } }
triangle { <-a,-b,-1>, < a,-b,-1>, <-b,-1,-a> texture { T3 } }
}
// mark vertices with black spheres
sphere { < 1, a, b>, 0.03 texture { T4 } }
sphere { < a, b, 1>, 0.03 texture { T4 } }
sphere { < b, 1, a>, 0.03 texture { T4 } }
sphere { < 1, a,-b>, 0.03 texture { T4 } }
sphere { < a, b,-1>, 0.03 texture { T4 } }
sphere { < b, 1,-a>, 0.03 texture { T4 } }
sphere { < 1,-a, b>, 0.03 texture { T4 } }
sphere { < a,-b, 1>, 0.03 texture { T4 } }
sphere { < b,-1, a>, 0.03 texture { T4 } }
sphere { < 1,-a,-b>, 0.03 texture { T4 } }
sphere { < a,-b,-1>, 0.03 texture { T4 } }
sphere { < b,-1,-a>, 0.03 texture { T4 } }
sphere { <-1, a, b>, 0.03 texture { T4 } }
sphere { <-a, b, 1>, 0.03 texture { T4 } }
sphere { <-b, 1, a>, 0.03 texture { T4 } }
sphere { <-1, a,-b>, 0.03 texture { T4 } }
sphere { <-a, b,-1>, 0.03 texture { T4 } }
sphere { <-b, 1,-a>, 0.03 texture { T4 } }
sphere { <-1,-a, b>, 0.03 texture { T4 } }
sphere { <-a,-b, 1>, 0.03 texture { T4 } }
sphere { <-b,-1, a>, 0.03 texture { T4 } }
sphere { <-1,-a,-b>, 0.03 texture { T4 } }
sphere { <-a,-b,-1>, 0.03 texture { T4 } }
sphere { <-b,-1,-a>, 0.03 texture { T4 } }
sky_sphere {
pigment { color rgb 1 }
}
// outside lights
light_source { <50, 80, 0> color rgb 0.2 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 15*y }
light_source { <50,-10, 0> color rgb 0.1 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 45*y }
light_source { <50, 20, 0> color rgb 0.3 area_light 5*x 5*y 9, 9 adaptive 1 jitter circular orient parallel point_at <0, 0, 0> rotate 75*y }
light_source { <50, 80, 0> color rgb 0.2 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 135*y }
light_source { <50,-10, 0> color rgb 0.1 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 165*y }
light_source { <50, 20, 0> color rgb 0.3 area_light 5*x 5*y 9, 9 adaptive 1 jitter circular orient parallel point_at <0, 0, 0> rotate 195*y }
light_source { <50, 80, 0> color rgb 0.2 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 255*y }
light_source { <50,-10, 0> color rgb 0.1 area_light 5*x 5*y 9, 9 adaptive 0 jitter circular orient parallel point_at <0, 0, 0> rotate 285*y }
light_source { <50, 20, 0> color rgb 0.3 area_light 5*x 5*y 9, 9 adaptive 1 jitter circular orient parallel point_at <0, 0, 0> rotate 315*y }
// inside lights
light_source { <0, 0, 0> color rgb 0.5 area_light 0.6*x 0.6*z 9, 9 adaptive 1 jitter circular orient }
light_source { <0, 0, 0> color rgb 0.5 area_light 0.4*x 0.4*z 9, 9 adaptive 1 jitter circular orient }
// cameras
camera { location <8.0, 5.0, -5.0> angle 30 look_at <0.0, 0.0, 0.0> right x*image_width/image_height } // outside
//camera { panoramic location <0,0,0> look_at <1,0,1> angle 180 } // inside, 180 degree panorama
//camera { location <0,0,0> look_at <1,1,1> angle 70 } // inside, looking at corner
Tiếng Việt Ghi một dòng giải thích những gì có trong tập tin này