Our sci-fi books, movies and games are filled with exploration of the galaxy and the universe at large. It’s all planet this and star system that, and how many parsecs between them.
But notice one thing: those places are either completely made up1 or they are random stars taken from our night sky without any context.2
The reason is that most people (including writers, screenwriters and game masters) don’t actually have any idea what the topology of our star neighbourhood is like. The three dimensions are super confusing. Is Sirius close to Mirzam? They are on the night sky (Mirzam is a bright star right next to Sirius) but they are most definitely not in 3D space (Sirius is 9 light years away, Mirzam is 500).3
Even if you have a 3D atlas of stars which allows you to travel freely through virtual space, like Digital Universe or Redshift, that experience is no less confusing. Humans are not good at navigating through true three-dimensional space.4 Even simple things like trying to find clusters of stars are extremely difficult.
Compare this to a traditional (2D) map. It’s very easy for us humans to see that two cities are close to each other, for example. At a glance, we can see clusters, gaps, strings, and so on. We can plan and reason about the map.
There are 2D star maps already, of course – Winchell D. Chung’s maps being probably the best examples. So why make another?
The problem is that the currently available 2D maps are views. They show each star at its proper X and Y coordinates, but they completely discard the Z (depth) coordinate. In this respect they are almost as bad a representation of reality as the night sky. Two adjancent stars are often actually quite far from each other – but the viewer doesn’t know this until after they have read that information.5
So again, similarly to 3D virtual atlases, with 2D views it’s not easy to do basic things at a glance.
It’s obvious that any 2D map of 3D space will be imperfect. But we can still do better than a view. Let these be our goals for the map:
Note also what isn’t our goal here: perfect representation of 3D space on a 2D map. We are trying to minimize the distortion but we can’t ever hope to get rid of it completely.
But even when we limit our goals and recognize that the map can’t be perfect, it’s very hard to create a suitable map for even a few stars, and virtually impossible to do so for thousands of them…
… UNLESS YOU HAVE THINKING MACHINES THAT CAN DO THE WORK FOR YOU.
Which we have. Thanks to the amazing thing that is general purpose computing, and thanks to a particularly clever algorithm by the Finnish academician Teuvo Kohonen, we can leave the work to the machines.
A self-organizing map is an artificial neural network that learns to represent multi-dimensional data on a (usually 2D) map. It can be used to analyze huge data tables – for example, a university’s students can be plotted on a self-organizing map according to their grades in different courses. Such a map can then help in finding students with similar strengths and weaknesses.
Turns out a star’s 3D coordinates can be seen as multi-dimensional data. Because that’s exactly what they are. :)
I simply applied a well-documented algorithm to an obvious-in-retrospect dataset.
Of course, it wasn’t that simple to actually arrive at something usable. It took me 5 months to find the winning formula7 – there are many parameters that have to be chosen by experimentation, and every training of such a large Kohonen network takes anything from half a day to more than a month of continuous CPU usage.
Both bundles below include an overview map (PDF),
a meta-map of sectors NOT AVAILABLE YET, all the 576 sectors (PDFs), index files, and the CSV file with all the raw data.
The PDF files do not contain the font (Input Sans Condensed) that you see in the screenshots above. You can download the font here (free for personal use).
Wouldn’t it be nice to see a fictional empire, federation, space-faring nation or civilization that inhabits stars that are actually close to each other? If you’re writing a book, screenwriting, creating a game or running a role-playing adventure set in space, consider using the map. (I’d be thrilled if you tell me.)
This was, by the way, my original motivation for creating the 2D Star Map in the first place. I am using this for my gamebook / free exploration game called The Bodega Incident. You can learn more about that project at egamebook.com.
If you’re a (hobby) astronomer, you might like the idea of seeing stars in their context without having to fire up 3D software every time.
|Star name||X, Y||Sector|
|Aldebaran||563, 144||Pi-VI [16:6]|
|Alderamin||379, 559||Lambda-XXIII [11:23]|
|Algol||485, 84||Xi-IV [14:4]|
|Alhena||615, 96||Sigma-IV [18:4]|
|Alioth||473, 480||Xi-XX [14:20]|
|Alkaid||450, 468||Nu-XIX [13:19]|
|Alnair||120, 217||Delta-IX [4:9]|
|Alphekka||351, 439||Kappa-XVIII [10:18]|
|Alpheratz||340, 85||Kappa-IV [10:4]|
|Altair||348, 317||Kappa-XIII [10:13]|
|Ankaa||105, 149||Gamma-VI [3:6]|
|Arcturus||424, 382||Mu-XVI [12:16]|
|Barnard’s Star||393, 318||Lambda-XIII [11:13]|
|Capella||521, 25||Omicron-II [15:2]|
|Caph||411, 11||Mu-I [12:1]|
|Castor||632, 9||Sigma-I [18:1]|
|Denebola||511, 368||Omicron-XV [15:15]|
|Diphda||166, 139||Epsilon-VI [5:6]|
|Fomalhaut||109, 21||Delta-I [4:1]|
|Groombridge 1618||458, 326||Nu-XIV [13:14]|
|Groombridge 1830||478, 358||Xi-XV [14:15]|
|Hamal||427, 127||Mu-VI [12:6]|
|Kapteyn’s Star||784, 32||Chi-II [22:2]|
|Kruger 60||399, 310||Mu-XIII [12:13]|
|Lacaille 8760||89, 597||Gamma-XXIV [3:24]|
|Lacaille 9352||378, 300||Lambda-XIII [11:13]|
|Lalande 21185||439, 321||Nu-XIII [13:13]|
|Luyten’s Star||471, 308||Xi-XIII [14:13]|
|Merak||519, 501||Omicron-XXI [15:21]|
|Mizar||458, 474||Nu-XIX [13:19]|
|Phad||507, 485||Omicron-XX [15:20]|
|Pollux||528, 312||Omicron-XIII [15:13]|
|Procyon||467, 310||Nu-XIII [13:13]|
|Proxima Centauri||411, 313||Mu-XIII [12:13]|
|Rasalhague||284, 389||Theta-XVI [8:16]|
|Regulus||640, 451||Sigma-XIX [18:19]|
|Rigel Kentaurus A||411, 314||Mu-XIII [12:13]|
|Rigel Kentaurus B||411, 314||Mu-XIII [12:13]|
|Sirius||447, 306||Nu-XIII [13:13]|
|Sol||414, 312||Mu-XIII [12:13]|
|Unukalhai||138, 472||Delta-XIX [4:19]|
|Van Maanen’s Star||393, 290||Lambda-XII [11:12]|
|Vega||356, 339||Kappa-XIV [10:14]|
|Vindemiatrix||756, 483||Chi-XX [22:20]|
|p Eridani||14, 39||Alpha-II [1:2]|
Stars that are well known but are outside the scope of the map:12 Achernar (44), Acrux (98), Adhara (132), Alcyone (112), Algenib (102), Algieba (38), Alnath (40), Alnilam (411), Alnitak (250), Alphard (54), Antares (185), Arneb (393), Bellatrix (74), Betelgeuse (131), Canopus (95), Deneb (990), Dubhe (37), Enif (206), Etamin (45), Hadar (161), Izar (64), Kaus Australis (44), Kochab (38), Markab (42), Menkar (67), Mirach (61), Mirphak (181), Nihal (48), Nunki (68), Polaris (132), Rasalgethi (117), Rigel (236), Saiph (221), Scheat (61), Shaula (215), Shedir (70), Spica (80), Tarazed (141).
Star Map 2D by Filip Hracek is licensed under a Creative Commons Attribution 4.0 International License.
The underlying data is public domain, of course. I am releasing the computed 2D coordinates to public domain, too. Everything else (the hex maps, the indexes, this text) are CC-BY 4.0.
I am Filip H. and you can reach me at filip dot hracek at gmail dot com or on Twitter.
Most Star Trek’s star systems (such as Kaldra) and most Doctor Who’s star systems (such as 4-X-Alpha-4) are made up. Just to name two of the most popular sci-fi TV series. ↩
For example Arrakis is supposed to be orbiting Canopus, or Whistle Stop is supposedly in the Nu Phoenicis star system. Those are real stars, yes, but they’re only there for the sake of verisimilitude. In other words, those star systems were probably picked solely based on having cool sounding names and being in the star atlas. Briefly looking at planets from Frank Herbert’s Dune, it looks like they’re all over the place – it’s probably safe to say Frank Herbert didn’t try to create a coherent topology of his fictional universe. Nor did almost anyone else. Because it’s hard. ↩
That’s just one example out of thousands. You probably know that Proxima Centauri is the closest star to Sol – but do you know many other pairs of stars that are close to each other? What are the stars closest to Sirius, for example? ↩
By ‘true three-dimensional space’ I mean space that is similar in all directions. Of course humans live in 3D, but in practice, we mostly inhabit a plane (Earth’s surface). Of the 3 dimensions, one is much less navigable than the other two (we can’t easily fly, our buidlings are made of flat floors, etc.). See also 2D is Better Than 3D by Jakob Nielsen. ↩
These maps often have a small number next to each star that gives its Z coordinate. The viewer needs to pay very close attention to these numbers all the time. ↩
This is our fitness function. Let’s pick random stars A, B and C. Compute distance from A to B in 3D space (a3d) and on the 2D map (a2d). Do the same for B to C, for both 3D (b3d) and 2D (b2d). The goal is to minimize the difference between the ratios a3d/b3d and a2d/b2d. ↩
Weekends and evenings, April to August 2014. I tried different shapes of the Kohonen network, different topologies, different sizes, different numbers of stars (anything between a few hundred to 109 thousand), different sigmas, different numbers of iterations, different implementations of the algorithm and in the final stages even different random seeds. ↩
This means that if you cut the map in half, the resulting map’s aspect ratio will again be √2:1. ↩
This idea is taken from the aforementioned maps by Winchell Chung. The underlying data is provided by HabCat: A Catalog of Nearby Habitable Systems by Jill Tarter and Margaret Turnbull. ↩
Please keep in mind this is only a rough approximation and should not be taken too seriously given the nature of the map. Also, it works better on stars that are relatively close to each other — which is by design, because I expect most users of the map will be ‘hopping’ from star to nearby star instead of traversing large distances. For long ranges, a 1:8 ratio is more realistic. ↩
Those are picked from Simbad’s Identifiers section by a simple algorithm which prefers shorter names and letters before numbers. You should still be able to find the star behind the name but for example in Simbad sometimes you’ll need to prepend ‘*’ or ‘**’ before the designation (STU 10B is ** STU 10B in Simbad). ↩
The scope of the map ends with the 5000th star of the HYG catalog when sorted by distance from Sol. All stars farther away than 35.7 light years are not included. (The number in parenthesis after the star’s name is the distance in light years.) ↩