Hacker News new | past | comments | ask | show | jobs | submit login
Hyperbolic Cellular Automata Simulator (dmishin.github.io)
135 points by Schiphol on Dec 4, 2019 | hide | past | favorite | 20 comments



Hyperbolic spaces are a bit freaky because of how huge they are. Living on a flat plane (like we do for scales smaller than a few thousand kilometers), area grows quadratically with the radius, i.e. if you venture out twice as far, the area you cover gets four times bigger. Go 10 times further, and there is 100 times more area to get lost in.

On a hyperbolic plane however, area grows exponentially when you stray further than a few times the characteristic length of the space. Increasing your range from one such length to two, the area covered grows by a factor of about 5. Going from ten to twenty however, increases the area by about ~20000!

If the characteristic length were a kilometer, you would never be able to get more than a few dozen kilometers away from your home before being irretrievably lost. The area around you 10 kilometers away would have the area of Manhattan. A circle with radius 20 kilometers would be slightly bigger than Egypt. And everything within 50 kilometers would be spread out over an area about the size of the Solar System. Unless you left a trail of breadcrumbs, you'd never be able to retrace your steps.


Madness... Now lets calculate the quantity of breadcrumbs required!


It would perhaps be a relief from the viciousness of close quarters living if we lived on a hyperbolic surface rather than a puny sphere. Make a day's hike away from brutal conflict, take a detour, and never be accosted again.


This sounds like an interesting premise for a sci-fi story. Does anyone know of any books with this premise of living on a hyperbolic plane?


You can feel this when panning because the relative direction of a point on the outside edge of the display swivels around like crazy.


Does the area grow less than quadratically with the radius on the surface of a shpere?


To be precise, it's explicitly 2pi R^2 ( 1 - cos(r / R) ) , where r is the radius of the circle on the sphere, and R is the radius of the sphere itself.

If r is small compared to R, cos(r / R) = 1 - (r/R)^2 / 2 + O((r/R)^4) so we recover the usual flat circle formula for the area pi r^2 , which is quadratic in r. Only if the r gets comparable to R does the curve flatten.

So a circular area with radius 1000 km would only be 0.2% smaller on Earth than its flat equivalent. Not a useful way to prove the Earth is round.

https://www.wolframalpha.com/input/?i=plot+pi*x%5E2%2C+2*pi%...


On a sphere of radius R, the rate of growth of area approaches 0 as the distance from you approaches 𝜋R (half the circumference), and generally decreases past 𝜋R/2 (quarter circumference)


There is a game HyperRogue https://www.roguetemple.com/z/hyper/ (one of my favorite, vide https://medium.com/quantum-photons/to-make-a-cool-game-you-f...).

One of its zones, living cave, as a cellular automaton in hyperbolic space. Its walls live.


Your 2nd link mentioned velocity raptor, which I've just watched on https://www.youtube.com/watch?v=Q6yWXppfsAo

Interesting.... Not that relativity makes a whit of sense anyway, but that's an intriguing video (edit: wouldn't want to play it though)


Excellent!

I fear it's quite rare anymore that I see something very new to me. Sure, I read about a hyperbolic world in Greg Egan's Dichronauts, but it's not quite the same as seeing it.

https://www.gregegan.net/DICHRONAUTS/01/WorldExtra.html


Only problem seems to be that it only keeps track of cells that are currently visible; pan around until the living cells are no longer visible, then pan back - and you come back to a desert.


It works fine for me.


Here's a fun world, N=8, M=4 and 'next': function(x, s){ if (x===1 && (s===2 || s===3)) return 1; if (x===0 && (s===3)) return 1; return 0

https://dmishin.github.io/hyperbolic-ca-simulator/index.html...


When you drag the hyperbolic plane it moves and redraws. How is this translation of the cells calculation done?

This is very cool.


The neighborhood rules are described in the help section.


No I don't mean the automata rules, I mean the calculation describing how the cells move when you drag them around.


It depends on what model they're using. If they're just using the Poincare disk (as is displayed) then translations/rotations/reflections- isometries- of the hyperbolic plane are modeled by the Mobius transformations that map the unit circle (the edge) to itself. Geometrically speaking, Mobius transformations in the plane are 1) ordinary reflection, translation, and scaling, and 2) circle inversions, and form a group. Translations of the poincare disk are compositions of two circle inversions that end up mapping the center of the circle to some other point inside the disk, and map the disk to itself.

https://mathoverflow.net/questions/313671/classification-of-...

This doesn't really get into transformations, but here's one explication of a hyperbolic tiling I wrote:

http://roy.red/folding-tilings-.html


Projection of the cells to the hyperbolic disk is in https://github.com/dmishin/hyperbolic-ca-simulator/blob/mast...


I can't say for sure, but I think it is using a conformal mapping.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: