[math-fun] Fwd: antiprisms
Another design dispute with WRI after I lost the argument about weird GCDs. Anybody want to defend the Antiprism status quo? I really hate arbitrary censorship of the "degenerate" digon case. This is all in Mathworld, but I prefer my volume formula. ---------- Forwarded message ---------- From: Bill Gosper <billgosper@gmail.com> Date: Fri, Aug 1, 2014 at 1:23 AM Subject: antiprisms To: Wolfram Technical Support <support@wolfram.com> In[366]:= PolyhedronData[{"Antiprism", 12}] During evaluation of In[366]:= PolyhedronData::notdef: PolyhedronData has no value associated with the specified argument(s). >> Out[366]= PolyhedronData[{"Antiprism", 12}] GAA! How could you not implement the general case? E.g., antiprism[n_] := Block[{R = Table[{((Sqrt[Sin[(Pi/(2*n))]*Sin[((3*Pi)/(2*n))]])/(2* Sin[Pi/n])), ((Csc[Pi/n]*Cos[((2*k*Pi)/n) + Pi/n])/ 2), ((Csc[Pi/n]*Sin[((2*k*Pi)/n) + Pi/n])/2)}, {k, n}], L = Table[{-((Sqrt[Sin[(Pi/(2*n))]*Sin[((3*Pi)/(2*n))]])/(2* Sin[Pi/n])), ((Csc[Pi/n]*Cos[((2*(k + 1)*Pi)/n)])/ 2), ((Csc[Pi/n]*Sin[((2*(k + 1)*Pi)/n)])/2)}, {k, n}]}, Graphics3D[ Join @@ {{Polygon[L], Polygon[R]}, Table[Polygon[{L[[k]], R[[k]], R[[Mod[k, n] + 1]]}], {k, n}], Table[Polygon[{L[[k]], R[[Mod[k, n] + 1]], L[[Mod[k, n] + 1]]}], {k, n}]}]] (You'll want to change to a GraphicsComplex.) The volume formula is n (1 + 2 Cos[Pi/n]) Csc[Pi/n]^2 Sqrt[Sin[Pi/(2 n)] Sin[3 Pi/(2 n)]]/12 In[367]:= PolyhedronData[{"Antiprism", 2}] During evaluation of In[367]:= PolyhedronData::notdef: PolyhedronData has no value associated with the specified argument(s). >> Out[367]= PolyhedronData[{"Antiprism", 2}] GAAA!! This is the thinking that convinced the ancients that zero was not a number! Even Mathworld grudgingly admits it's a tetrahedron. In[337]:= FullSimplify[Table[%%%, {n, {2, 3, 4, 5, 6, 8}}]] // ToRadicals Out[337]= {1/(6 Sqrt[2]), Sqrt[2]/3, 1/3 (2^(1/4) + 2^(3/4)), 1/6 (5 + 2 Sqrt[5]), Sqrt[2 (1 + Sqrt[3])], (1/(3 (2 - Sqrt[2]))) 4 (2 - Sqrt[2 + Sqrt[2]])^(1/4) (1 + Sqrt[2 + Sqrt[2]]) Sqrt[ Sqrt[2 - Sqrt[2 + Sqrt[2]]] + Sqrt[(2 + Sqrt[2]) (2 - Sqrt[2 + Sqrt[2]])]]} (Note the pretty denesting in the square case.) --Bill Gosper
participants (1)
-
Bill Gosper