This resource function is obsolete. Use the function BuckyballGraph instead.

Function Repository Resource:

BuckyballGraph

Source Notebook

Create a graph of an order-n buckyball

Contributed by: Jan Mangaldan

ResourceFunction["BuckyballGraph"][n]

gives a graph corresponding to an order-n buckyball.

ResourceFunction["BuckyballGraph"][class,n]

gives a graph corresponding to an order-n buckyball of class class.

Details and Options

Possible values of class include "I", "II", 1 and 2.
ResourceFunction["BuckyballGraph"][n] is equivalent to ResourceFunction["BuckyballGraph"][2, n].
ResourceFunction["BuckyballGraph"][1, n] or ResourceFunction["BuckyballGraph"]["I", n] generates a three-dimensional graph corresponding to the class I (n+1,0) Goldberg polyhedron, the dual polyhedron of a geodesic sphere.
ResourceFunction["BuckyballGraph"][2, n] or ResourceFunction["BuckyballGraph"]["II", n] generates a three-dimensional graph corresponding to the class II (n,n) Goldberg polyhedron.
ResourceFunction["BuckyballGraph"] takes the same options as Graph3D.
With the setting VertexCoordinates"Embedded", coordinates corresponding to the vertices of the buckyball are generated with a special method.

Examples

Basic Examples (3) 

Generate an order-2 buckyball:

In[1]:=
ResourceFunction["BuckyballGraph"][2]
Out[1]=

The above buckyball is a class II, order-2 buckyball:

In[2]:=
ResourceFunction["BuckyballGraph"]["II", 2]
Out[2]=

Generate a class I, order-3 buckyball:

In[3]:=
ResourceFunction["BuckyballGraph"]["I", 3]
Out[3]=

Generate an order-2 buckyball with specially computed coordinates:

In[4]:=
ResourceFunction["BuckyballGraph"][2, VertexCoordinates -> "Embedded"]
Out[4]=

Scope (3) 

Generate a dodecahedral graph:

In[5]:=
ResourceFunction["BuckyballGraph"][0, VertexCoordinates -> "Embedded"]
Out[5]=

Show an order-1 buckyball of different classes:

In[6]:=
Table[ResourceFunction["BuckyballGraph"][class, 1, PlotLabel -> "Class " <> IntegerString[class], VertexCoordinates -> "Embedded"], {class, 1, 2}] // GraphicsRow
Out[6]=

Convert to a Graph object:

In[7]:=
ResourceFunction["BuckyballGraph"][4] // Graph
Out[7]=

Options (4) 

GraphLayout (1) 

Specify various layouts for the buckyball graph:

In[8]:=
ResourceFunction["BuckyballGraph"][4, GraphLayout -> "SpringEmbedding"]
Out[8]=
In[9]:=
ResourceFunction["BuckyballGraph"][4, GraphLayout -> "HighDimensionalEmbedding"]
Out[9]=

PlotTheme (1) 

Use a large graph theme:

In[10]:=
ResourceFunction["BuckyballGraph"][4, PlotTheme -> "LargeGraph"]
Out[10]=

VertexCoordinates (2) 

By default, vertex coordinates are computed automatically, depending on the setting for GraphLayout:

In[11]:=
ResourceFunction["BuckyballGraph"][4]
Out[11]=

Use specially computed coordinates for the vertices:

In[12]:=
ResourceFunction["BuckyballGraph"][4, VertexCoordinates -> "Embedded"]
Out[12]=

Properties and Relations (1) 

BuckyballGraph[1] (the class II, order-1 buckyball) is the graph corresponding to the truncated icosahedron:

In[13]:=
ResourceFunction["BuckyballGraph"][1]
Out[13]=
In[14]:=
IsomorphicGraphQ[%, PolyhedronData["TruncatedIcosahedron", "Skeleton"]]
Out[14]=

Neat Examples (2) 

Generate a fullerene molecule from its corresponding skeletal graph:

In[15]:=
bucky = ResourceFunction["BuckyballGraph"][1, 2];
el = EdgeList[bucky];
dbl = FindIndependentEdgeSet[bucky];
bmol = MoleculeModify[
  Molecule[ConstantArray[Atom["C"], VertexCount[bucky]], Join[Bond[{##}, "Single"] & @@@ Complement[el, dbl], Bond[{##}, "Double"] & @@@ dbl], AtomCoordinates -> QuantityArray[1.6 GraphEmbedding[bucky], "Angstroms"]], "EnergyMinimizeAtomCoordinates"]
Out[16]=

Visualize the graph and the corresponding fullerene:

In[17]:=
{GraphPlot3D[bucky], MoleculePlot3D[bmol]} // GraphicsRow
Out[17]=

Version History

  • 2.0.1 – 24 January 2022
  • 2.0.0 – 30 September 2020
  • 1.0.0 – 27 February 2020

Source Metadata

Related Resources

License Information