Message #2336

From: Andrey <>
Subject: Re: Hyperbolic Honeycomb {7,3,3}
Date: Mon, 16 Jul 2012 14:35:26 -0000

I think it’s much more convenient to work not with sphere, but with boundary plane in half-space Poincare model. Every plane in H3 inersects with this plane by circle, and transformations of H3 are equivalent to Moebius transformations of boundary plane. And probably {3,3,8} will give better formulae for coordinates and movements.

— In, Don Hatch <hatch@…> wrote:
> Here’s a more detailed outline of how I’d go about drawing
> the intersection of {3,3,7} with the sphere at infinity.
> I’ll probably do this in a few days if no one else does it first.
> To get started, consider the center cell
> of a cell-centered {3,3,7}.
> The intersection of that cell with the sphere at infinity
> consists of three little regular spherical triangles;
> we need to know the euclidean coords of one of these
> little spherical triangles.
> We can find that in 4 steps:
> Step 1: compute the cell mid-radius r31{3,3,7}.
> The reference paper "Regular Honeycombs In Hyperbolic Space" by HSM Coxeter
> doesn’t give a direct formula for cell mid-radius r31,
> but it gives a formula for the cell in-radius r32.
> From that, we can use the identity
> sin(A)/sinh(a) = sin(B)/sinh(b) = sin(C)/sinh(c)
> on the right hyperbolic triangle
> formed by the cell center, face center, and edge center (draw it):
> sin(pi/2)/sinh(r31) = sin(pi/r)/sinh(r32)
> i.e. 1/sinh(r31) = sin(pi/r)/sinh(r32)
> i.e. r31 = asinh(sinh(r32)/sin(pi/r))
> So, plug in the formula for r32 from the paper:
> r32{p,q,r} = acosh(sin(pi/p)*cos(pi/r)/sqrt(1-cos(pi/p)^2-cos(pi/q)^2))
> and now we have a formula for r31{p,q,r}, the cell mid-radius:
> r31{p,q,r} = asinh(sinh(acosh(sin(pi/p)*cos(pi/r)/sqrt(1-cos(pi/p)^2-cos(pi/q)^2)))/sin(pi/r))
> (This can certainly be simplified, using the identity
> sinh(acosh(x)) = sqrt(x^2-1), and probably further simplifications,
> but I’m not bothering here.)
> (And note, I’m not positive I got all of the above exactly right,
> but the method should be sound.)
> Substitute p=3,q=3,r=7 to get the desired cell-mid-radius of {3,3,7}.
> Step 2: from r31, compute the euclidean distance
> from the origin to an edge of the center cell in the poincare ball model.
> If I recall correctly, that will be tanh(r31/2).
> Step 3: from that, compute the actual coords of the two endpoints-at-infinity
> of one edge of the center cell.
> For definiteness, align the center cell
> with the regular euclidean tetrahedron
> with verts:
> (-1,-1,1)
> (-1,1,-1)
> (1,-1,-1)
> (1,1,1)
> The center of the cell’s edge closest to joining -1,-1,1 to 1,1,1
> lies on the +z axis, so by Step 2 this edge center is:
> (0,0,tanh(r31/2))
> The two endpoints-at-infinity of that edge
> will be (-sqrt(1/2),-sqrt(1/2),0) and (sqrt(1/2),sqrt(1/2),0)
> "translated by (0,0,tanh(r31/2))",
> i.e. transformed by the translation
> that takes the origin to that edge center (0,0,tanh(r31/2)).
> Recall that for any points p,t in the poincare ball
> (of any number of dimensions), p translated by t is
> given by the magic formula:
> ((1 + 2*p.t + p.p)*t + (1-t.t)*p) / (1 + 2*p.t + p.p * t.t)
> where "." denotes dot product. (Hope I wrote that down right.)
> So plug in:
> t = (0,0,tanh(r31/2))
> p = (sqrt(1/2),sqrt(1/2),0)
> (a bunch of terms simplify and drop out since p.p=1 and p.t=0, but whatever);
> The resulting endpoint coords are (a,a,b) for some a,b
> (then the other endpoint is (-a,-a,b), but we don’t need that at this point).
> Step 4: rotate one of those endpoints-at-infinity
> around the appropriate axis
> to get the other two vertices of the little spherical triangle.
> The three spherical triangle vertices are:
> (a,a,b)
> (b,a,a)
> (a,b,a)
> (where a,b are the result of step 3).
> =========================================================================
> So now we have one little spherical triangle.
> Now, choose a set of 3 generators for the rotational symmetry group
> of {3,3,7}, and use them repeatedly to send the triangle everywhere.
> There are lots of choices of 3 generators; here’s one:
> A: plain old euclidean rotation by 120 degrees about the vector (1,1,1)
> B: plain old euclidean rotation by 120 degrees about the vector (1,1,-1)
> C: rotation by 2*pi/7 about an edge of {3,3,7}.
> for this, we can use the composition of:
> translate the edge center to the origin
> (i.e. translate the origin to minus the edge center)
> followed by plain old euclidean rotation of 2*pi/7 about this edge-through-the-origin
> followed by translating the origin back to the original edge center
> A specific edge center, and the translation formula,
> can be found in Step 3 above.
> Don