POLYHEDRON OPERATIONS 程序包 教程

# Polyhedron Operations Package

A Platonic solid is a convex polyhedron whose faces and vertices are all of the same type. There are five such solids. There are also a few nonconvex polyhedra known that have faces and vertices all of the same type. This package contains functionality for modifying some of the properties of the polyhedra available in PolyhedronData.

 Tetrahedron Cube Octahedron Dodecahedron Icosahedron Hexahedron GreatDodecahedron SmallStellatedDodecahedron GreatStellatedDodecahedron GreatIcosahedron

Some of the available polyhedra.

 In[1]:=
This displays a dodecahedron centered at the origin.
 In[2]:=
 Out[2]=
This displays two polyhedra simultaneously. The diameter of the icosahedron is reduced by a factor of 0.15 and its center is moved to the point {3,3,3}.
 In[3]:=
 Out[3]=
 Stellate[PolyhedronData[polyname]] display a stellated polyhedron Stellate[PolyhedronData[polyname],ratio] display a stellated polyhedron with stellation ratio ratio Geodesate[PolyhedronData[polyname],n] display the projection of the order- regular tessellation of each face of the polyhedron onto the circumscribed sphere Geodesate[PolyhedronData[polyname],n,{x,y,z},radius] display the projection of the order- regular tessellation of each face of the polyhedron onto the circumscribed sphere having center and size radius Truncate[PolyhedronData[polyname]] display a truncated polyhedron Truncate[PolyhedronData[polyname],ratio] display a truncated polyhedron with the polygon edges truncated by the ratio ratio OpenTruncate[PolyhedronData[polyname]] display a truncated polyhedron without the polygons that close the truncated vertices OpenTruncate[PolyhedronData[polyname],ratio] display a truncated polyhedron with edges truncated by the ratio ratio without the polygons that close the truncated vertices

Transformation functions for polyhedra.

The polyhedra are by default centered at the origin with a unit distance from the origin to the midpoint of the edges. Any of the convex solids can be stellated using Stellate. This replaces each of the polygon faces by a pyramid with the polygon as its base. The user can also adjust the stellation ratio. Note that ratios less than give concave figures and that the default value of this ratio is . Geodesate triangulates fivesided or greater polygons before projecting onto the circumscribed sphere. If the order- of the regular tessellation of each face is not given, a default value of is assumed. The default position of the sphere is with radius . Truncate and OpenTruncate act on every polygon and truncate at each vertex of the polygon. The default value of the truncation ratio is .

Here is a stellated octahedron with stellation ratio equal to . This gives very long points.
 In[4]:=
 Out[4]=
Here is an example of a polyhedron that is triangulated before being projected onto the circumscribed sphere.
 In[5]:=
 Out[5]=
Here is an example of a polyhedron with edges truncated on each side by 40 percent.
 In[6]:=
 Out[6]=
OpenTruncate allows you to view the interior of the truncated polyhedron.
 In[7]:=
 Out[7]=

You can extract the polygon list in the form of a GraphicsComplex from the object produced by PolyhedronData using First. In addition, the "VertexCoordinates", "Faces", and "Edges" properties available in PolyhedronData give you the vertex coordinates, a list of graphics primitives for each face of a polyhedron, and graphics primitives for the edges of a polyhedron, respectively.

 First[PolyhedronData[polyname]] give the GraphicsComplex representing the graphic of the named polyhedron PolyhedronData[polyname,"VertexCoordinates"] give a list of the coordinates of the vertices of the polyhedron PolyhedronData[polyname,"Faces"] give a list of the faces of the polyhedron as Polygon primitives PolyhedronData[polyname,"Edges"] give a list of the edges of the polyhedron as Line primitives

Getting vertex, face, and edge data.

Here is the GraphicsComplex object for the tetrahedron centered at the origin.
 In[8]:=
 Out[8]=
These are the vertices of the tetrahedron.
 In[9]:=
 Out[9]=
Use Normal to transform a GraphicsComplex to a list of Polygon primitives.
 In[10]:=
 Out[10]=
This gives the list of Line primitives representing the edges of the tetrahedron.
 In[11]:=
 Out[11]=