First step is to derive algebraic representations of sin(pi/7) and cos(pi/7), for obvious reasons. There are several approaches for this; the approach I adopted is to start with 0 = sin(pi) = sin(7*pi/7) = sin(8*pi/7 - pi/7). This then can be split using the angle addition trig identity into sines and cosines involving 8*pi/7 and pi/7, the former of which can be successively reduced to pi/7 using the double angle formulas. At first, I set about doing this by hand, but the expressions quickly got far too unwieldy to handle, so I decided on a different approach.

In my study of the Johnson solids, esp. the crown jewels, I've found the need to solve systems of polynomial equations, which is known to be a tough problem. Ultimately, this is impractical to do by hand for most cases, except for trivial cases like J84, so the go-to approach these days is to implement an algorithm to compute the Grobner basis for the system and then extract polynomial expressions from it that define the solution values. Since, in the course of working out algebraic coordinates of all the Johnson solids, I've developed the tools for doing this, I thought it would be a handy thing to do to solve our little problem.

So, I basically assigned each sin/cos expression as a variable, then encoded instances of the trig identities as polynomial relations. For example, sin(8*pi/7 - pi/7) = sin(8*pi/7)*cos(pi/7) - cos(8*pi/7)*sin(pi/7) = 0, so letting A = sin(8*pi/7), B = cos(8*pi/7), G = sin(pi/7), H = cos(pi/7), we get the polynomial equation AG - HB = 0. New variables are introduced for each different sin/cos argument (sin(4*pi/7), sin(2*pi/7), etc), and the relevant double-angle formulas are introduced as multiple polynomial relations between these variables. Then run the Grobner basis algorithm and extract the polynomials defining the target unknowns, G = sin(pi/7) and H = cos(pi/7). And here's what I got:

cos(pi/7) = H, where 8H

^{3}- 4H

^{2}- 4H + 1 = 0, where 0.9 < H < 1.0;

sin(pi/7) = G, where 64G

^{6}- 112G

^{4}+ 56G

^{2}- 7 = 0, where 0.1 < G < 0.2

The in-radius h of the heptagon therefore satisfies tan(pi/7) = 1/h (because we're assuming edge length 2), so h = 1/tan(pi/7) = cos(pi/7)/sin(pi/7). Now, in theory I could work out this value by hand, but since I already have a polynomial system solver at hand, it seemed easier to just make use of it. I.e., introduce h as a new variable that satisfies the equation h*G - H = 0, and then solve for h. The resulting polynomial is:

7h

^{6}- 35h

^{4}+ 21h

^{2}- 1 = 0, 2.0 < h < 2.1

(Interestingly, the coefficients of this polynomial are multiples of 7 except for 1.)

Similarly, the out-radius r of the heptagon satisfies sin(pi/7) = 1/r, meaning r = 1/sin(pi/7). In this case there's no need to run the solver, since the reciprocal of a polynomial root is a root of the polynomial with the order of its coefficients reversed. So:

7r

^{6}- 56r

^{4}+ 112r

^{2}- 64, 2.3 < r < 2.4

The height of the heptagon (from base edge to opposite vertex) is H=h+r.

Now, here's an interesting point. I tried to derive a single defining polynomial for H, but it turned out that the minimal such polynomial is a whopping degree-36 polynomial with gargantuan coefficients (about 40 digits or so per coefficient). Yeah, you read that right, the leading term is x

^{36}. It only has even powers, though, so if you take it as a polynomial in x

^{2}it would be an 18th degree polynomial -- but that's still huge (and the coefficients remain gigantic 40+-digit numbers). And this nasty thing is irreducible. What's interesting about this is that h and r, by themselves, have very tame-looking polynomials. Yet their sum caused an explosion in polynomial degree and magnitude of coefficients. This makes me wonder if there any known algorithm or method for splitting an algebraic number of high degree into a sum of two algebraic numbers of significantly smaller degree, or at least smaller coefficients? Currently, the best polynomials I've found for, e.g., J88 are degree 16, with moderate-sized coefficients, and for J89 the polynomials are degree 12 with largish coefficients. It would be nice to find much smaller polynomials whose roots, when summed together, produce the same value. Is there any literature out there on this subject?

Anyway, I decided to leave H as h+r and not try to poke at the beast too much more.

Now, armed with the values of sin(pi/7), cos(pi/7), h, and r, we are now ready to derive the coordinates of the regular heptagon of edge length 2. We start with the most obvious points: <0, r> and <±1, -h>, then derive the rest by multiplication with a suitable rotation matrix, the elements of which are ±sin(pi/7) and cos(pi/7). The resulting points have coordinates that are just linear combinations of sin(pi/7), cos(pi/7), h, and r; so they are easily encoded as equalities in the aforementioned system of polynomial equations and solved for. So here are the final results:

Regular origin-centered heptagon, edge length 2:

<0, r>

<±A, B>

<±C, D>

<±1, -h>

where A, B, C, D satisfy:

A

^{3}+ A

^{2}- 2A - 1 = 0; with -2 < A < -1

7B

^{6}- 21B

^{4}+ 14B

^{2}- 1 = 0; with 1 < B < 2

C

^{3}- 2C

^{2}- C + 1 = 0; with 2 < C < 3

D

^{6}- 14D

^{4}+ 7D

^{2}- 1 = 0; with -0.6 < D < -0.5

These are all degree 3 and degree 6 polynomials, with the coefficients of A and C being particularly simple, interestingly enough. The coefficients of B and D have clear connections as multiples of 7, though their exact nature is somewhat obscure, being the result of the heavy machinery of the Grobner basis solver.

I'm not 100% certain, but this may be the first time anyone's posted algebraic coordinates for the regular heptagon.

Stepping back, the slightly larger picture here is that these coordinate values were derived by making use a polynomial system solver, which alleviated a lot of the complexity and tedium of manipulating the algebraic expressions directly. Although there are unsolved questions, such as how to automate the selection of specific polynomial roots in an actual computation, it seems that this could be a practical approach to the programmatic manipulation of the 3D crown jewels in 4D space, e.g., in a brute-force search for CRFs that contain 3D crown jewels, that uses exact coordinates instead of floating-point (which always run into a risk of unreliable results because of roundoff issues).

There's also the interesting possible relation to the idea of polytope CVP, the idea that polytopes whose coordinates require high-degree defining polynomials may have some kind of inherent complexity that makes it hard, if not impossible, to fit together into a CRF polytope. Particularly interesting is the case of H = h + r, where the sum of two seemingly-tame degree-3 algebraic numbers causes an explosion of complexity to 36th degree (or 18th degree in the squared value) and an explosion in coefficient size. It would be interesting to know if any of the 3D crown jewels with high-degree defining polynomials, like J88, J89, and J90, have some kind of alternative representation in which the high-degree polynomials are "split" into significantly simpler ones. An even more interesting question is, if such "splits" are possible, do they have any geometric meaning that might somehow pertain to assembling these polyhedra into CRF polytopes? Perhaps even such splits could serve as a kind of hint as to how to construct a CRF polytope containing a 3D crown jewel? Or conversely, the absence (impossibility) of such splits may possibly imply that such a construction might be impossible?

Lots of food for thought.

P.S. Although technically the 3rd degree polynomials above are solvable with the cubic polynomial formulas, I didn't use that route because basically all of these polynomials are casus irreducibilis; writing out the exact root value in terms of radicals would require taking cube roots of complex numbers, because they are not expressible in the reals alone. Furthermore, such expressions are large and unwieldy, and of limited use in computing the actual values as compared to a more general polynomial root-finding algorithm, so I decided it was not worth the effort.