Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2004:
[Freeciv-Dev] different topologies, or, everything you can do with a she
Home

[Freeciv-Dev] different topologies, or, everything you can do with a she

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] different topologies, or, everything you can do with a sheet of cloth
From: Jason Dorje Short <jdorje@xxxxxxxxxxxx>
Date: Thu, 19 Feb 2004 17:06:50 -0500

All of the different topologies are a bit confusing. But if you think about folding a sheet of cloth and sewing the edges together you can get a pretty good idea.
For a flat map you just take the cloth as-is.  This is quite useful for 
localized scenarios (like the map of europe).
For a cylinder map you take two opposite edges (either n-s or e-w) and 
fold them together.  Sew them together.
For a torus map, you do the above and then fold the cloth over again so 
that you can sew the open edges together.  You now have a donut.
A quincunx is the pattern made by the 5 on a six-sided die:
  X X
   X
  X X
Take your cloth and fold all four corners to meet in the center. Now sew together all the aligned edges. What you've got is topologically equivalent to a sphere! But in terms of freeciv's rectangular map, there are problems: there's a singularity along each side where the edge comes together (meets itself). That's four singularities.
Now take the cloth and fold it over, just like you did when making a 
cylinder.  But now sew all four edges together just as they are when 
folded.  Now you've got the same type of connection on two sides as you 
did with the quincunx, while the other two sides have a standard wrap. 
There are just 2 singularities.  This will work better in freeciv 
because the singularities can be hidden at the poles.
Finally, take the cloth and fold it over like you did when making a 
cylinder.  But before sewing it together, reverse the direction of the 
top half.  Now you've got a mobius strip.  You can try to fold the top 
and bottom halves of the mobius strip together, but in three dimensions 
it's impossible (you have to fold the cloth _through_ itself).  If you 
did a mobius wrapping in both directions you'd have a klein bottle.
What it comes down to is that there are four types of wrapping here:

- No wrapping.
- Simple wrapping.
- Mobius wrapping (e.g., mobius strip).
- Reversed wrapping (e.g., quincuncial).

Each direction (X or Y) can wrap in any of the above ways. Thus we have 16 different topologies (plus iso variants of each).
There is another type of wrapping as well: offset wrapping.  Fold your 
cloth over to make a cylinder.  But before sewing it together, move half 
of the folded cloth up a bit.  Now the two sides don't quite match. 
This doesn't fit into the simple categories above because you have to 
specify how _much_ of an offset you want.
There are a few more wrapping forms that don't fit cleanly into 
categories.  We could fold the cloth to make a reversed wrapping, but 
only sew it closed on one side (thus we get a reverse wrapping at x==0 
but no wrapping at x==map.xsize).
We could fold the cloth into a triangle, and sew together some or all of 
the edges.  If we sew all of the edges we've got another approximation 
of a sphere!  Again we have two singularities.
We could take a cloth that is twice as wide as it is high.  Treat each 
half as a square and fold it over into a triangle.  Sew together the 
edges and you have yet another approximation of a sphere.  The folds can 
be aligned together or in opposite directions.  You will have 3 
singularities (I think).
jason


[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] different topologies, or, everything you can do with a sheet of cloth, Jason Dorje Short <=