Jump to content

File:Polyhedron with no vertex visible from center.png

Page contents not supported in other languages.
This is a file from the Wikimedia Commons
From Wikipedia, the free encyclopedia

Original file (1,280 × 1,024 pixels, file size: 115 KB, MIME type: image/png)

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. This polyhedron is topologically equivalent to the rhombicuboctahedron.
Date
Source Self-made using POV-Ray 3.6 for Windows.
Author Ilmari Karonen
Permission
(Reusing this file)
Public domain I, the copyright holder of this work, release this work into the public domain. This applies worldwide.
In some countries this may not be legally possible; if so:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.
Other versions

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

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

6 November 2007

image/png

File history

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

Date/TimeThumbnailDimensionsUserComment
current03:54, 6 November 2007Thumbnail for version as of 03: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

Global file usage

The following other wikis use this file: