Maths Thread Follow Up - The tessellation of different sized spheres!

Associate
Joined
27 Jan 2005
Posts
1,013
Location
Nr. Norwich, Norfolk
Afternoon OcUK,

I'm currently doing a modelling assignment regarding the use of radiation treatment on tumours, but for my own research to help I'm looking at the tessalation of spheres.

A week back I posted a thread asking for views on my models for working out basic packing densities of FCC and HCP from scratch. The advice recieved was nothing short of fantastic and improved my understanding no end.

However, it has come to my attention that higher packing densities can be achieved by using a combination of spheres with different radi. I considered calculating this too from scratch, but the idea of FCC with two or perhaps even more types of spheres seemed pretty epic. More to the point, I figured it's probably a well documented subject that I could learn about on a more marco level. However, google seems suprisingly unhelpful.

So, considering the burning enthusiasm I recieved last time, I thought it wouldn't hurt to pop back here for some suggestions. Does anyone have any pointers for further reading, or an explained formula I could use to calculate the density of two-sphere packing systems (or potentially more, but I have a feeling the highest density of packing will be achieved with the largest and smallest spheres in my situation).

Say for example you had spheres of diameter ratios 4,8,14 and 18. How would you proceed to calculate the packing densities of combinations of two? As I just stated, using the assumption infinitely large spheres tesslated, then filled with infinitely small spheres in the 'wells' gives the highest theoretical packing of any sphere shapes, the greatest densities will be made with 18 and 4, surely?

Thank you to the raving maths gurus of OcUK in advance,
Peter :)
 
Unless I've misunderstood the question, you can figure this out analytically.

Since a sphere is the same in all axis, simplify it by considering circles in a 2D space.
Due to wasted space between the 4 adjacent quadrants of the 4 touching circles in any given square of side (diameter), you want the maximum diameter you have in order to make the maximum use of the space.

In this case you are using 18unit circles, which means that the maximum distance between the apex of two opposing curves is going to be 7.46 units. Therefore you can only fit the 4 in.

The question I would ask, and is something I expect needs mathematically modelling, is whether it is actually more effective to introduce a gap between the 18unit circles, such that an 8unit diameter circle could be including between them. Would this result in a higher overall density than 18unit circles touching, with 4unit circles in the gaps?
 
Assuming all sizes tessellated perfectly into the empty space, yes, the smaller spheres in between would make for a greater density, without doubt. However, this:

The question I would ask, and is something I expect needs mathematically modelling, is whether it is actually more effective to introduce a gap between the 18unit circles, such that an 8unit diameter circle could be including between them. Would this result in a higher overall density than 18unit circles touching, with 4unit circles in the gaps?

Is something worth considering, and I expect it would be incredibly hard to calculate without actually testing it. Although I would still bet on using the smallest spheres would give the highest density. The only time I could see it being different is if there was a SLIGHT gap with the "size 4" sphere, a "size 4.1" or something might be better. However, with the next size up being 8, size 4 spheres would definitely produce a greater packed density.
 
OcUK knowledgebase knows no boundaries !

( this is what I tell me wife when she says - " you looking at that stupid clock-runners website again ( cant seem to grasp Overclockers . . . . . . . ))
 
Would jumping into a ball pond be considered research for this? I'm certain it'd help.






I'm sorry, I have no idea. It sounds like good research though!
 
Last edited:
Unless I've misunderstood the question, you can figure this out analytically.

Since a sphere is the same in all axis, simplify it by considering circles in a 2D space.

Can't really do this? A 'sphere' the same in all axis would be a cube. As you move along the axis the height/width changes, sin ,cos etc. The tesselation effect would mean in a 2d drawing it's possible the smaller circles would be overlapping the larger ones.
 
Maybe I could have been clearer. Regardless of whether you look at this arrangement from the X, Y, or Z axis orientation, you are going to see the same pattern of 2D circles indicating the layout of the spheres.

A better description would be to say that if you took a plane, orientated on any axis such that it equally bisects the spheres it passes through, then the 2D layout will be identical throughout.

EDIT: It's going late and I'm going a bit cross-eyed thinking about this.

Suggestion to the OP - Grab a copy of Blender or something similar, make some suitably sized spheres, and have a play. If only for my spatial sanity. Please!
 
Last edited:
A better description would be to say that if you took a plane, orientated on any axis such that it equally bisects the spheres it passes through, then the 2D layout will be identical throughout.

Indeed.

But what I'm saying is that this may not be of much use, as if you bisect the 'larger spheres' then the plane will pass right bewtween the smaller spheres and vice versa, so your 2d drawing will contain only either the large or the smaller spheres (if you are bisecting).

If on the other hand you just take a slice along a plane (on any axis) then you will get a corss section of both spheres, but this will change if you move the plane i.e. one circle will get bigger and the other will get smaller. Will it overlap in this scenario? Actually I don't think so.

and yes it is late. I'm not saing I'm right, just pointing out a consideration.
 
OP, I suggest you pick up a book on solid state physics (if you don't already have one), turn to the chapter on packing fractions (it'll probably be near the start) and look for the inevitable Sodium Chloride example. There is no one answer to your question, as the packing fraction will depend on the crystal structure - there'll be a different formula relating PF, radius_1 and radius_2 for each structure. If you don't have/want to buy a textbook (and I don't blame you, you're looking at £50), the maths involved isn't complicated at all, just 3d Pythag - but it sounds like you already know that. If you do want a book, Ashcroft & Mermin was my favourite, but Kittel's also good.
 
Since a sphere is the same in all axis, simplify it by considering circles in a 2D space.

Due to wasted space between the 4 adjacent quadrants of the 4 touching circles in any given square of side (diameter), you want the maximum diameter you have in order to make the maximum use of the space.

In this case you are using 18unit circles, which means that the maximum distance between the apex of two opposing curves is going to be 7.46 units. Therefore you can only fit the 4 in.
But in 3D space, the distance between the apex is quite a lot larger (13.1 or so), so you can fit in an 8 inch sphere. Of course, you can fit more than one 4" sphere as well - it's not obvious to me whether you can fit enough (i.e. >=8) 4" inch spheres to beat having a single 8" one though.
 
Thanks for your answers everyone! I'm just reading through and getting my head round each.

There is no one answer to your question, as the packing fraction will depend on the crystal structure - there'll be a different formula relating PF, radius_1 and radius_2 for each structure.

Is there somewhere I could aquire the formulas for simple FCC and HCP structures?
 
Thanks for your answers everyone! I'm just reading through and getting my head round each.



Is there somewhere I could aquire the formulas for simple FCC and HCP structures?

it's worth remembering that there are multiple ways to produce a closely packed lattice, I personally work with spheres for Discrete Element Modelling, so spent a few months writing code to produce initial close and cubic packings.

If you take a quick look at Wikipedia on HCP lattices, there is a nice animation of the different layouts.

WRT to working out the optimal density given two sets of radii, it isn't an easy challenge! As I'm sure you have already worked out, given a single radius in the system, using either of the closely packing layouts, we can achieve our optimal 74.05% in 3 dimensions. However, by introducing smaller spheres, this should theoretically increase up until the point the smaller spheres will not exceed the available bounding space of the gaps in between the larger spheres when they are packed cubically. It is an interesting subject, but I think you will have to work it out analytically as has already been suggested.

In terms of generating a HCP using a single radius, it's quite easy really.

Assuming we start at (radius, radius, radius) in the X,Y,Z, we work in rows along the X (or the Z if you prefer) and create a single line of cubically packed spheres, i.e:

Row 1: Sphere 1 centre = radius, radius, radius
Row 2: Sphere 2 centre = 3 * radius, radius, radius
Row 3: Sphere 3 centre = 5 * radius, radius, radius
... until we reach (maxX-radius)

Now we move upwards in the Y, in order to closely pack we also have to move this row in the X as well. Our Y addition is not r of course, neither is our Z addition, so we now do the following:

Row 2: Sphere 1 centre = 2 * radius, radius + (squareRoot(3) * radius), (radius / 3) + (squareRoot(6) * radius * (2 / 3))
Row 2: Sphere 2 centre = 4 * radius, radius + (squareRoot(3) * radius), (radius / 3) + (squareRoot(6) * radius * (2 / 3))
... until we reach (maxX - 2 * radius)

Then back to the row 1 pattern but with the value for Y from pattern 2, i.e. don't forget the need to multiply the value generated for our Y and Z values accordingly depending on the current row (i.e. for the first element in each row, row 1 = radius, radius, radius, row 2 = 2 * radius, radius + valY, valZ, row 3 = radius, radius + (2 * valY), (2 * valZ) etc.)

Now we need to repeat and generate each "layer" until we reach as close to maxZ - radius as we can.

That's it really :) Apologies if there are any mistakes in that, it's been a while!

Cubic of course is very simple additive maths, I won't bore you with that.

You are right though, there is very little reading out there, which is surprising given Kepler's conjectures from the 1600s were only proved about a decade ago!

Either way, I genuinely found Wikipedia to be a reasonable resource, Just do a search for close packing of spheres. That and Mathsworld, follow through some of the references on those sites, and odd as it sounds, google image search returned some better results than text search for me!

That aside, grab a piece of paper, and get drawing, I had so many scraps with doodles of spheres on by the time i was done :D Let us know how you get on with the multiple radii, should be interesting.

EDIT: heres the Wiki link: http://en.wikipedia.org/wiki/Close-packing_of_spheres
 
Last edited:
But in 3D space, the distance between the apex is quite a lot larger (13.1 or so), so you can fit in an 8 inch sphere. Of course, you can fit more than one 4" sphere as well - it's not obvious to me whether you can fit enough (i.e. >=8) 4" inch spheres to beat having a single 8" one though.

I've realised a) my mistake, and b) that we're talking about two different things.

I assumed from my old A-level ionic lattice days that the OP was talking about a regular orthogonal arrangement. He's not, and also that's not the most effective method, because that's a cube-based layout as opposed to a triangular based layout.

You've lost me with the bit about the apexes though. With a triangular layout can't you still view this as a cross section rotated about an axis?
Might have to break out the pen and paper later since my academic curiousity is taking over now...

My only formal piece of knowledge on this is that isn't Gauss known for having done a load of work on this?
 
OcUK knowledgebase knows no boundaries !

( this is what I tell me wife when she says - " you looking at that stupid clock-runners website again ( cant seem to grasp Overclockers . . . . . . . ))


My wife is the same, she says I spend all day at work talking about Science and Computers, then I come home and do the same on OCuk. If only she realised I'm on OCuk at work also...
 
Back
Top Bottom