Rectified {6,3,5}

Rectified {6,3,5}

The regular {6,3,5} is one of four regular honeycombs composed of hexagonal tiling cells.  Since 5 cells surround each edge, it is also called the "order-5 hexagonal tiling honeycomb".

http://en.wikipedia.org/wiki/Order-5_hexagonal_tiling_honeycomb

The rectified {6,3,5} has trihexagonal tiling and icosahedral cells.  The vertex figure is a pentagonal prism.

It's nice to look at this honeycomb in the context of rectifications of {6,3,3}, {6,3,4}, and {6,3,6}.  We've seen all those, so I'll include links to them here for reference.  

What's the same between all four honeycombs in the rectified {6,3,r} progression?  What's different?

Rectified {6,3,3}
https://plus.google.com/112844794913554774416/posts/CC2uv2atXPW

Rectified {6,3,4}
https://plus.google.com/112844794913554774416/posts/9ssK7Mzejcj

Rectified {6,3,6}
https://plus.google.com/112844794913554774416/posts/2EBs3KT4UVo

Comments

  1. What are you doing these thins in. just curious. ta Wendy

    ReplyDelete
  2. Hi wendy krieger,

    It is a combination of custom software and the POV-Ray raytracing renderer (available at www.povray.org).  

    Here are some details of the steps:  

    (1) A custom C# program constructs the 4 generating mirrors of the fundamental simplex, then recursively reflects around initial edge(s).  The output of this is a big array of edge start/end points for the honeycomb.  I've been tuning a cutoff parameter so that I get about 750k to 1M edges.

    (2) This same program takes the edge endpoints and outputs a POV-Ray definition file.  This file is about 1.5-2 GB!  It is bloated because it is text and I'm using something called a "sphere_sweep".  That POV-Ray feature requires defining some number of spheres along each edge, and I found I need about 30 spheres per edge to make things look nice.  So we are talking 30 million spheres in this file.

    (3) I render that definition file using POV-Ray.  I can manually change things like color, lighting, viewpoint, etc. in POV-Ray at this step.

    With 750k edges, generating the endpoints takes a few seconds, outputting the POV-Ray file perhaps a minute, and rendering 5-10 minutes.  So they take a bit of time, but I just let it run in the background while watching TV with my wife Sarah :)

    I've had requests to share the software, and I hope to post it online in 2014.

    ReplyDelete
  3. The world needs non-Euclidean raytracers.

    ReplyDelete
  4. Ha!  Yes it does.  

    Let me take a moment to thank you Anton Sherwood for posting your Python scripts for H2 tilings on wikipedia.  That helped me a lot with these images, as well as some other images of non-compact honeycombs I've been working on with Henry Segerman!

    ReplyDelete
  5. I am pleased to know that someone found some use for them!  Considerable room for improvement remains: I'd like to remove the complex arithmetic (for speed) and the calls to NumPy (to enhance portability).  One thing that would help: what's the inradius of a triangle in H2, given its angles?

    ReplyDelete
  6. I suppose you can get lengths from dynkin matrices. i did a spreadsheet and a rexx command where you can feed in a symmetry and get somethin that gives the edge of any hyperbolic polytope. Most of my version does just ordinary rithemtic.

    ReplyDelete
  7. Sould not be too hard to find the inradius of a triangle in H2 from its angles. It's well in the range of the Art.

    ReplyDelete
  8. It's clearly possible, but a bit beyond my skill.

    ReplyDelete
  9. Write the angles of the triangle as pi/p, pi/q, pi,r.  Then the triangle represents the reflective group of pqr:  Let P, Q, R be the shortchords of p,q,r (it's a = 2 cos pi/p,  eg a(3)=1, a(4)=1.41421356, a(5)=1.61803398875) .  Number the sides of the triangle 1, 2, 3.  Then write out a matrix, where ij is -P (where p is the angle between these), and a_ii = 2. 

    Take the inverse of this matrix.  You get the 'stott matrix'.  You take a vector of 0's and '1' (except 0,0,0), and take the matrix-dot of this number, eg multiply S_ij * v_i * v_j.  You get a measure that is 2/E^2, where E is the chordh of the edge.  This can be reduced by noting that choh works the same way as cho, except you replace sin by sinh. 

    You get the diameter of the circle directly from the vector (1,1,1).  Kind of like the omnitruncate.

    Normally, you don't need to go down to the mathematician's arc length, you can derive 'poincare' distances etc directly from E2.

    ReplyDelete
  10. Anton Sherwood, this calc is beyond me at the moment as well. I should try to go through Wendy's recipe to understand better.

    I suspect there may be a simple trigonometric formula.  Just in case it is helps in addition to Wendy's info, Coxeter has such a formula for the in-radius of a regular {p,q} tiling, towards the bottom of p156 here:

    http://www.mathunion.org/ICM/ICM1954.3/Main/icm1954.3.0155.0169.ocr.pdf

    However, this is the in-radius of a tile, not the fundamental triangle, and it isn't useful when p goes to infinity.  Maybe some of the references Coxeter lists alongside his formula would have helpful additional info though.

    One other suggested improvement is to antialias by sampling each pixel at multiple nearby points and taking the average of the color.  This hurts the speed, but helps the image quality tremendously.  I found it works much better than rendering at higher resolution and shrinking the image.  I've been rendering images with 16 samples-per-pixel, and it made a dramatic difference in the quality of thin edges near the disk boundary.  

    This comment doesn't apply to these POV-Ray images of course, but to plane images like your scripts generate.

    ReplyDelete

Post a Comment

Popular posts from this blog

Hyperbolic Hopf Fibrations