[math-fun] Hyperbolic asteroids
I'm contemplating writing a version of asteroids on Klein's quartic---a three-holed torus constructed by identifying certain edges of 24 hyperbolic heptahedrons---rather than the usual one-holed torus we get by identifying opposite edges of a square. I've chosen to use Poincare's disk for my model of hyperbolic space, so the path an undisturbed asteroid takes on the screen will be an arc that meets the disk at right angles. I've worked through the algebra for calculating the next position of a particle moving at a constant velocity per timestep, but it's pretty ugly: given a particle's position and velocity vectors, I solve a quadratic to find the center of the circular arc defining the geodesic, then another to find the endpoints where it intersects the unit disc, then a mobius transformation to map the geodesic to the imaginary axis, then a mobius transformation to move it forward along the geodesic according to its velocity, then inverting everything to get back to the original point of view. Does geometric algebra give a nicer description? -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
On Wed, May 4, 2011 at 2:44 PM, Mike Stay <metaweta@gmail.com> wrote:
of 24 hyperbolic heptahedrons
Sorry, I meant hyperbolic regular heptagons. -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
Mike, is there a good way to draw the 24 heptagons, with the edge identifications marked? I tried a couple of simple symmetric arrangements of heptagons, but couldn't get a nice arrangement of 24. Rich ---- Quoting Mike Stay <metaweta@gmail.com>:
On Wed, May 4, 2011 at 2:44 PM, Mike Stay <metaweta@gmail.com> wrote:
of 24 hyperbolic heptahedrons
Sorry, I meant hyperbolic regular heptagons. -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
On Thu, May 5, 2011 at 11:31 AM, <rcs@xmission.com> wrote:
Mike, is there a good way to draw the 24 heptagons, with the edge identifications marked? I tried a couple of simple symmetric arrangements of heptagons, but couldn't get a nice arrangement of 24.
Klein barycentrically divided the heptagons and then spread the pieces out to make it symmetric around a central heptagon. It's pretty straightforward to come up with a chiral, rotationally symmetric pattern if you center on a point where three heptagons meet. You can find lots of nice pictures here: http://math.ucr.edu/home/baez/klein.html
Rich
---- Quoting Mike Stay <metaweta@gmail.com>:
On Wed, May 4, 2011 at 2:44 PM, Mike Stay <metaweta@gmail.com> wrote:
of 24 hyperbolic heptahedrons
Sorry, I meant hyperbolic regular heptagons. -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
_______________________________________________ math-fun mailing list math-fun@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/math-fun
-- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
Does geometric algebra give a nicer description?
Well, it is certainly much easier to calculate the motion once you are inside the algebra: you can write down elements X, etc representing points of your asteroid, and L representing your translation axis; then the moving points are just X(t) = (cosh t - L sinh t) X (cosh t + L sinh t), etc. On the other hand, you need an implementation of the Clifford algebra Cl(3,1,0) in your chosen language. It's not hard to cobble up a primitive system from scratch from the definitions, based on anticommutative generators x^2 = y^2 = 1 = u^2 = -v^2 ; however an efficient implementation requires delving into the matrix representation (in this case real 4x4). There are also (freely downloadable) systems available for general signature: Gaigen (Python) and BIGEBRA (Maple) come to mind, though I lack personal experience of using either; also introductory "viewer" packages, about which I'd be intrigued to hear of any user experiences. More about these at http://en.wikipedia.org/wiki/Geometric_algebra And of course, your I/O still involves mapping between algebra and Euclidean (Poincare) plane. As it happens, until a week or so ago when I started thinking about the Apollonian gasket again, I'd never had occasion to use this particular algebra. I do possess (quite) efficient implementations of Cl(3,2,0) in Maple and Java for contact (Lie-sphere) plane geometry, which would be usable for conformal (Moebius), at the cost of a touch of overkill. Which also goes for 3-space Cl(4,1,0), available in various forms under the acronym CGA. In my opinion, if you are looking for a rope up the learning curve into this area, a project like this is as good an excuse as any. However if you just want to get code on file, and have no plans (for example) to bolt on sophisticated dynamics, then you're probably better off sticking with whatever you've already got. Hope this helps. Fred Lunnon On 5/4/11, Mike Stay <metaweta@gmail.com> wrote:
I'm contemplating writing a version of asteroids on Klein's quartic---a three-holed torus constructed by identifying certain edges of 24 hyperbolic heptahedrons---rather than the usual one-holed torus we get by identifying opposite edges of a square. I've chosen to use Poincare's disk for my model of hyperbolic space, so the path an undisturbed asteroid takes on the screen will be an arc that meets the disk at right angles.
I've worked through the algebra for calculating the next position of a particle moving at a constant velocity per timestep, but it's pretty ugly: given a particle's position and velocity vectors, I solve a quadratic to find the center of the circular arc defining the geodesic, then another to find the endpoints where it intersects the unit disc, then a mobius transformation to map the geodesic to the imaginary axis, then a mobius transformation to move it forward along the geodesic according to its velocity, then inverting everything to get back to the original point of view.
Does geometric algebra give a nicer description? -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
On Wed, May 4, 2011 at 2:44 PM, Mike Stay <metaweta@gmail.com> wrote:
of 24 hyperbolic heptahedrons
Sorry, I meant hyperbolic regular heptagons.
Correction --- translation is parabolic, so X(t) = (1 - t L) X (1 + t L) . [The expression I wrote down was appropriate to a hyperbolic "boost", in general relativity jargon. Rotations and their Moebius analogues would of course substitute cos, sin for cosh, sinh resp.] WFL On 5/5/11, Fred lunnon <fred.lunnon@gmail.com> wrote:
Does geometric algebra give a nicer description?
Well, it is certainly much easier to calculate the motion once you are inside the algebra: you can write down elements X, etc representing points of your asteroid, and L representing your translation axis; then the moving points are just X(t) = (cosh t - L sinh t) X (cosh t + L sinh t), etc.
On the other hand, you need an implementation of the Clifford algebra Cl(3,1,0) in your chosen language. It's not hard to cobble up a primitive system from scratch from the definitions, based on anticommutative generators x^2 = y^2 = 1 = u^2 = -v^2 ; however an efficient implementation requires delving into the matrix representation (in this case real 4x4).
There are also (freely downloadable) systems available for general signature: Gaigen (Python) and BIGEBRA (Maple) come to mind, though I lack personal experience of using either; also introductory "viewer" packages, about which I'd be intrigued to hear of any user experiences. More about these at http://en.wikipedia.org/wiki/Geometric_algebra
And of course, your I/O still involves mapping between algebra and Euclidean (Poincare) plane.
As it happens, until a week or so ago when I started thinking about the Apollonian gasket again, I'd never had occasion to use this particular algebra. I do possess (quite) efficient implementations of Cl(3,2,0) in Maple and Java for contact (Lie-sphere) plane geometry, which would be usable for conformal (Moebius), at the cost of a touch of overkill. Which also goes for 3-space Cl(4,1,0), available in various forms under the acronym CGA.
In my opinion, if you are looking for a rope up the learning curve into this area, a project like this is as good an excuse as any. However if you just want to get code on file, and have no plans (for example) to bolt on sophisticated dynamics, then you're probably better off sticking with whatever you've already got.
Hope this helps. Fred Lunnon
On 5/4/11, Mike Stay <metaweta@gmail.com> wrote:
I'm contemplating writing a version of asteroids on Klein's quartic---a three-holed torus constructed by identifying certain edges of 24 hyperbolic heptahedrons---rather than the usual one-holed torus we get by identifying opposite edges of a square. I've chosen to use Poincare's disk for my model of hyperbolic space, so the path an undisturbed asteroid takes on the screen will be an arc that meets the disk at right angles.
I've worked through the algebra for calculating the next position of a particle moving at a constant velocity per timestep, but it's pretty ugly: given a particle's position and velocity vectors, I solve a quadratic to find the center of the circular arc defining the geodesic, then another to find the endpoints where it intersects the unit disc, then a mobius transformation to map the geodesic to the imaginary axis, then a mobius transformation to move it forward along the geodesic according to its velocity, then inverting everything to get back to the original point of view.
Does geometric algebra give a nicer description? -- Mike Stay - metaweta@gmail.com http://www.cs.auckland.ac.nz/~mike http://reperiendi.wordpress.com
On Wed, May 4, 2011 at 2:44 PM, Mike Stay <metaweta@gmail.com> wrote:
of 24 hyperbolic heptahedrons
Sorry, I meant hyperbolic regular heptagons.
participants (3)
-
Fred lunnon -
Mike Stay -
rcs@xmission.com