I've been studying topology lately and my teacher showed us some animations which were very very pretty. I'm interested in a freeware (possibly open-source) software that can deal with surfaces, I'm especially interested in polygons with identifications. By which I mean that I'd love to have a software that would render the surface given by a certain identification of edges of a polygon, but I wasn't able to find one, I'd appreciate anything that could get me started.
This is only indirectly related to what you asked for, but Jeff Weeks has some interesting topology / geometry software over at GeometryGames.org. You haven't played billiards until you've tried playing it on a hyperbolic surface...
It's not downloadable software but this paper describes an algorithm:
Automatic visualization of two-dimensional cellular complexes
R. M. Rosi, C. F. X. de Mendonça, L. P. Lozada, and J. Stolfi.
Proceedings of Graph Drawing '96, 303--317, Lecture Notes in Computer Science 1190; September 1996.
On http://www.win.tue.nl/~vanwijk/seifertview/ you can download a program that draws Seifert Surfaces (oriented 2-manifold which are bounded by a link or a knot).