Kissing Number

Author

Eric W. Weisstein
August 11, 2026

This notebook downloaded from https://mathworld.wolfram.com/notebooks/ComputationalGeometry/KissingNumber.nb.

For more information, see Eric's MathWorld entry https://mathworld.wolfram.com/KissingNumber.html.

©2026 Wolfram Research, Inc. except for portions noted otherwise

Regular icosahedron 12 vertices as tangency directions

phi=GoldenRatio;
s=1/(Sqrt[phi+2]-1);
aquamarine=RGBColor[0.439216,0.858824,0.576471];
centers=s Join[Tuples[{{-phi,phi},{0},{-1,1}}],Tuples[{{-1,1},{-phi,phi},{0}}],Tuples[{{0},{-1,1},{-phi,phi}}]];
Graphics3D[{{Blue,Specularity[GrayLevel[0.3],40],Sphere[{0,0,0},1]},{aquamarine,Opacity[0.3],Specularity[GrayLevel[0.3],40],Sphere[centers,1]}},Boxed->False,Lighting->{{"Ambient",GrayLevel[0.3]},{"Point",GrayLevel[0.6],{-1,-1.5,-4}},{"Point",GrayLevel[0.6],{5,5,-1}},{"Point",GrayLevel[0.6],{10,-5,-6}}},SphericalRegion->True,ViewAngle->18 Degree,ViewPoint->{0,3.3,0},ViewProjection->"Perspective",ViewVertical->{0,0,1}]

Larger hole

p = Join[
	{{1, 0, 0}, {-1, 0, 0}},
	Table[
		{sx/2, 0, -Sqrt[3]/2},
		{sx, {-1, 1}}
	],
	Flatten[
		Table[
			{sx/2, sy Sqrt[2/3], -1/(2 Sqrt[3])},
			{sx, {-1, 1}},
			{sy, {-1, 1}}
		],
		1
	],
	Flatten[
		Table[
			{sx/2, sy 2 Sqrt[6]/9, 7 Sqrt[3]/18},
			{sx, {-1, 1}},
			{sy, {-1, 1}}
		],
		1
	]
];

r = 6 Sqrt[3]/7 - 1;
q = (1 + r) {0, 0, 1};
aquamarine = RGBColor[0.439216, 0.858824, 0.576471];

Graphics3D[
	{
		{
			Blue,
			Specularity[GrayLevel[0.3], 40],
			Sphere[{0, 0, 0}, 1]
		},
		{
			aquamarine,
			Opacity[0.4],
			Specularity[GrayLevel[0.3], 40],
			Sphere[2 p, 1]
		},
		{
			RGBColor[0.9, 0.35, 0.12],
			Opacity[0.4],
			Specularity[GrayLevel[0.3], 40],
			Sphere[q, r]
		}
	},
	Boxed -> False,
	Lighting -> {
		{"Ambient", GrayLevel[0.3]},
		{"Point", GrayLevel[0.6], {-1, -1.5, -4}},
		{"Point", GrayLevel[0.6], {5, 5, -1}},
		{"Point", GrayLevel[0.6], {10, -5, -6}}
	},
	SphericalRegion -> True,
	ViewAngle -> 18 Degree,
	ViewProjection -> "Perspective",
	Method -> {"ShrinkWrap" -> True}
]