Image:Polyhedron with no vertex visible from center.png

From Wikipedia, the free encyclopedia

Wikimedia Commons logo This is a file from the Wikimedia Commons. The description on its description page there is shown below.
Commons is a freely licensed media file repository. You can help.
Description

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.

Source

Self-made using POV-Ray 3.6 for Windows.

Date

2007-11-06

Author

Ilmari Karonen

Permission
(Reusing this image)
Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.


Afrikaans | Alemannisch | Aragonés | العربية | Asturianu | Български | Català | Česky | Cymraeg | Dansk | Deutsch | Eʋegbe | Ελληνικά | English | Español | Esperanto | Euskara | Estremeñu | فارسی | Français | Galego | 한국어 | हिन्दी | Hrvatski | Ido | Bahasa Indonesia | Íslenska | Italiano | עברית | Kurdî / كوردی | Latina | Lietuvių | Latviešu | Magyar | Македонски | Bahasa Melayu | Nederlands | ‪Norsk (bokmål)‬ | ‪Norsk (nynorsk)‬ | 日本語 | Polski | Português | Ripoarisch | Română | Русский | Shqip | Slovenčina | Slovenščina | Српски / Srpski | Svenska | ไทย | Tagalog | Türkçe | Українська | Tiếng Việt | Walon | ‪中文(简体)‬ | ‪中文(繁體)‬ | zh-yue-hant | +/-

Other versions

[edit] 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

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeDimensionsUserComment
current03:54, 6 November 20071,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 )
The following pages on the English Wikipedia link to this file (pages on other projects are not listed):