1

I have a large sphere of radius $R_1$ which I would like to pack with $N$ smaller radius of radius $r_2<R_1$ arranged in a face-centered cubic (fcc) packing arrangement (i.e. Kepler's optimal sphere packing geometry). Is there a way for me to use Mathematica's built-in LatticeData functionality to accomplish this, perhaps with an after-the-fact pruning step? Can I do this for the other lattice types Mathematica has data for?

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574
CPP
  • 13
  • 2

1 Answers1

6

This should get you started...

basis = LatticeData["FaceCenteredCubic", "Basis"];
points = Tuples[Range[-4, 4], 3].basis;
inside = Select[points, Norm[#] <= 4 &];
Graphics3D[Sphere[inside, 0.25]]

enter image description here

For more complex polyhedra see: Checking if a point is in a convex 3D polyhedron

s0rce
  • 9,632
  • 4
  • 45
  • 78