Straightforward formalism to get four sets of 2D hexagonal lattice vectors of fcc(111) planes that I can also cite?

I am simulating low energy electron diffraction (LEED) from a polyfaceted sample. Usually it's a single, well-defined flat crystalline surface.

Since low energy electrons (below a few hundred eV) only penetrate a few monolayers, the allowed diffraction spots are governed by the 2D lattice of the surface rather than the 3D bulk.

I need to generate the hexagonal lattice vectors for the four distinct (111) planes of a fcc crystal structure. I've tried by doing 3D rotations but I would like to know if there is a formalism that I can use to do it the "right way" such that can be sure the results are correct and can cite the method in a publication.

If we slice the corners off of an fcc cube, the exposed (111) surfaces have hexagonal symmetry and can be described by two lattice vectors (with 3 components each) with $$\gamma$$=60°.

Opposite corners present identical surfaces, so there will be four unique planes, and if we start with one plane, call it "top" (cube sitting on one corner) then each of the other three will share one hexagonal lattice vector with the first plane.

I've drawn them below five atoms long for better visibility.

Question: Is there a straightforward formalism I can both use to get these four sets of two hexagonal lattice vectors, and also cite as a reliable source for it?

Of course if it's "trivially obvious" to everyone else besides me, then perhaps a straightforward explanation or short derivation is all I need.

I think that all eight of the resulting vectors will be in directions with index triplets that contain (-1, 0, 1) in various arrangements with a factor of $$a/\sqrt{2}$$ in front.

I've made some ad hoc progress, four sets of red/green unit vectors (positioned arbitrarily), the black lines are surface normals. But I am sure there's a simpler, straightforward mathematical way that I've missed.

• If you are assuming a perfect crystal (it seems like you are since you consider parallel planes to be equivalent), don’t you just have one set of unique lattice vectors and the rest could be computed by symmetry operations? Jul 15 at 12:37
• @BrandonBocklund Yes I think so. What I need to do should be straightforward to someone who knows what they are doing; "Of course if it's "trivially obvious" to everyone else besides me, then perhaps a straightforward explanation or short derivation is all I need." However "use symmetry operations" by itself is not helpful to me, I need to at least be pointed in the right direction. I'm learning this from scratch on my own; it's been 35 years since I've studied solid state physics.
– uhoh
Jul 15 at 14:49
• @BrandonBocklund to that end I've just added a bounty
– uhoh
Jul 16 at 23:08
• Someone please go for this bounty?! @BrandonBocklund -- here's your chance to join the 1000 points club? :) :) :) Jul 20 at 15:50
• Small brain, big computer Jul 27 at 23:19