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 <=