Re: Q: how to list vertices of the Geodesate[] of a polyhedron?
- To: mathgroup at smc.vnet.net
- Subject: [mg15800] Re: [mg15739] Q: how to list vertices of the Geodesate[] of a polyhedron?
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Sun, 7 Feb 1999 02:04:16 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
To the moderator: could you please replace the message I sent earlier in sesponse to this question by this one? The present version is slightly more economical. Thanks. On Fri, Feb 5, 1999, Bill Christens-Barry <wacb at aplcomm.jhuapl.edu> wrote: >The package Graphics`Polyhedra` allows the tesselation of various >polyhedra. For example, the command > > Show[Geodesate[Polyhedron[Dodecahedron], 3]] > >will yield a graphic of the order-3 regular tesselation of a >dodecahedron onto a sphere. Using the command > > First[Geodesate[Polyhedron[Dodecahedron], 3]] > >I can get the list of polygons comprising such a tesselation, although >its in the form of a matrix with an individual matrix element given as > >And, while I can get a list of vertices of a non-tesselated polyhedron, >e.g. > > Vertices[Polyhedron[Dodecahedron]] > >I haven't been able to get a list of the vertices of the tesselated >polyhedron. The Output of First[] contains all of the vertices, but the >list looks like a matrixform (there are no comma delimiters or curly >brackets, and each element is preceded by the word 'polygon'), and I >don't know how to get at the individual vertex coordinates. Can anyone >describe a solution? > >Thanks. > >Bill Christens-Barry Here is one way to do this. First let g be your example: In[33]:= g=Geodesate[Polyhedron[Dodecahedron], 3] You can get a list of the coordinates of all the vertices with: Union[Flatten[Map[First,Flatten[g[[1,1]]]],1]] (Of course there are lots of more or less equivalent ways to get this.) You need to use Union otherwise each vertex will be counted several times, once for each triangle it will occur in. Actually, it seems interesting to compare the lengths of the lists you get when you use Union and when you do not. We get: In[38]:= Length[Flatten[Map[First,Flatten[g[[1,1]]]],1]] Out[38]= 1620 but In[39]:= Length[Union[Flatten[Map[First,Flatten[g[[1,1]]]],1]]] Out[39]= 272 Most of the vertices are centers of hexagons (the "stars" of the triangulation) and are thus counted 6 times but since 6*272=1632 there are actually 12 pentagons (among the "stars" of the vertices). Andrzej Kozlowski Toyama International University JAPAN http://sigma.tuins.ac.jp/ http://eri2.tuins.ac.jp/