File:Polyhedron with no vertex visible from center.png

页面内容不支持其他语言。
這個文件來自維基共享資源
维基百科,自由的百科全书

原始文件(1,280 × 1,024像素,文件大小:115 KB,MIME类型:image/png


描述 This simple, non-convex polyhedron is constructed so that none of its 24 vertices, marked with black balls, can be seen from a region around its center. This counterexample shows that placing observers at each vertex is not a solution to the 3-dimensional generalization of the art gallery problem. The blue faces are also not visible from the center. This polyhedron is topologically equivalent to the rhombicuboctahedron.
日期
来源 Self-made using POV-Ray 3.6 for Windows.
作者 Ilmari Karonen
授权
(二次使用本文件)
Public domain 我,本作品著作权人,释出本作品至公有领域。这适用于全世界。
在一些国家这可能不合法;如果是这样的话,那么:
我无条件地授予任何人以任何目的使用本作品的权利,除非这些条件是法律规定所必需的。
其他版本

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

说明

添加一行文字以描述该文件所表现的内容

此文件中描述的项目

描繪內容

文件历史

点击某个日期/时间查看对应时刻的文件。

日期/时间缩⁠略⁠图大小用户备注
当前2007年11月6日 (二) 03:542007年11月6日 (二) 03:54版本的缩略图1,280 × 1,024(115 KB)Ilmari Karonen{{Information |Description=This simple, non-convex polyhedron is constructed so that none of its 12 vertices, marked with black balls, can be seen from a region around its center. This counterexample shows that placing observers at each

以下页面使用本文件:

全域文件用途

以下其他wiki使用此文件: