An image contest announcement

The course is over, the presentations are over (well except for one) and the grades have been assigned … but there’s still one more thing for the Mathematical Visualization WS 2013 participants before I close up this blog.

The Problem has to do with  conform!, the movie on conformal maps which I’m in the process of finishing up.  There’s a section involving an inflated letter “A” where I need your help to produce a better texture image.  This “A” is a topological torus and as such can be unrolled conformally onto the euclidean plane.  Like most of the texture maps in the movie, to begin with this one is based on a checkerboard.  And that works for the first half of the section.  But once we’ve found the conformal structure (which is a rectangle with aspect ratio almost exactly 17:14), it’s time for a new texture image, since the end of the section tessellates the rectangle to cover the whole euclidean plane.  That’s too many little black and white squares when the checkerboard image is used, as I think the following image makes clear:


In an effort to create a better texture I naturally thought of the MVWS13 student project Escher Painter from Sophia Lee and Martin Swiontek Brzezinski which is designed to deal with just this situation.  I first convinced Martin to add a feature to allow the fundamental domain to be rectangular not just square (Thanks, Martin!) and I then gave the dimensions 17 x 14, as mentioned above.  I worked some more and produced the following image, based on an Escher print of interlocked fish/bird  (group O)  included in the Handbook of Regular Patterns , p. 176, by Peter Stevens — a resource I used a lot during the course.  I admit it’s not very professional but I think the end result is still more pleasing than the checkerboard hell above.


which tessellates as follows.   Well, actually I used 2×2 copies to cover the “A”, since otherwise it’s too hard to identify what one sees on the surface of the “A”.escherA-tessellation-01


The Contest. The idea now is to get you involved to produce something better for this purpose.  Here’s how to proceed:

  1. Use Escher Painter, referenced above.   Martin, the developer,  has declared himself prepared to answer your questions if you do want to participate in the contest.
  2. Enter the aspect ratio of 17 x 14 in the number fields provided.
  3. Begin with the default group O.  But you can also choose groups which are compatible with O — which in this case means there are no rotation centers of order 3 or higher, and preferably no mirrors.  When you save the image (see below) you’ll need to save a translational unit, which may involve more than one fundamental domain.
  4. Choose paint mode. Experiment with the painting tool, combining the size and the transparency for lots of different effects. Notice also the cool “undo” and “redo” buttons. I recommend using a strong dark outline for your forms.  My first attempt above doesn’t have strong enough outlines, I think.
  5. Also note that if you have to stop and restart, you can save the state of your painting using the “Save project” button at the top of the panel and restore it with the “Load project” button.
  6. When you are satisfied with the result, save the image.
    1. Use the camera zoom tool so that one translational unit fills as much of the graphics window as possible.
    2. I found the best way to be not to use the “File->export->image” option in jReality, but on my Mac I used the Grab application, chose to grab the selection, and then very carefully drag a rectangle from the upper left corner of one translation cell to the lower right corner (the pixels at these corners should be identical parts of the pattern.) if you don’t have access to such a tool, use “File->Export->Image…” and … sigh … I’ll have to extract the translational unit myself.
    3. Email me the result.
  7. Optionally, save the “project” file using the “Save project” button and email me the result.  I’ll handle saving the image.
  8. I’m not aware of any copyright issues involved in producing images in this way which resemble original Escher images.  Does anyone know better?
  9. The contest deadline is Monday July 14 at 12 pm.  The winning image (subject to approval by the movie team) will be used in the movie for the end of this section, and the winner will be credited in the movie credits.

See this post for an update on this contest.

28-30.10 More fun with projectivities

It’s Halloween!  And so we spent the lecture exploring some strange and eerie applications of projective transformations.  Here are the rough notes Dr. Gunn used to prepare the lecture.

  • Semester Projects.
    • Possible themes.  Balancing mathematical content with practical implementation (“theory and practice”).  Rough suggested time-table.
  • Lecture write-up from 28.10.2013.  Are there volunteers to write up the lecture from Tuesday?  Recall: we went through all the gory details required to construct a projectivity (as 3×3 matrix) which maps the unit square onto a trapezoid.  Either directly enter into blog (which supports LaTeX formatting directly) or prepare a pdf file for inclusion.
  • State of gitorious.  This week we have the modest goal of being able to “push” student projects back onto your gitorious accounts, and from there notify me (by e-mail or “merge request” from gitorious) that there is something to look at.  Next week we’ll conclude the gitorious work by showing how to update to receive new assignments from me, and how to update jReality.  See this blog post for details.
  • The Internship trailer.
  • Applications of projective transformations:  the Ames room.
  • Noneuclidean geometry via projective geometry.
    • TriangleGroup demo
    • Klein’s Erlangen program: preserved properties determine subgroup of PGL(n+1).
    • The subgroups SO(3) and SO(2,1) lead to spherical/elliptic and hyperbolic geometry, resp.
    • Distance via inner product, cos and cosh. Examples.

Course Log

This post contains a running “table of contents” of the lectures and tutorial meetings of the course.

The student projects can now be accessed on the homepage of the course, scroll down to the images.

11-13.02 Final week, project presentations …

04-06.02 More Geometric algebra …

28-30.01 Geometric algebra introduction …

21-23.01 Napier’s laws, project progress …

14-16.01  Spherical trigonometry, Shape of Space …

7-9.01  Project description

17-19.12  Magic Theorems and more …

10-12.12  Still more Symmetry Groups.

3-5.12  Wallpaper Groups and More …

26-28.11 More Symmetries and Groups, Assignment5 …

19-21.11 Symmetries and Groups, Assignment4 …

12-14.11 Geometry factories, Assignment3 …

5-7.11 jReality scene graph, Assignment2, …

29.10 Tutorial: Using gitorious, Part II

26.10 Assignment1: Cubic Choreography

22-24.10 Matrices and Motions

17.10 Tutorial: Using gitorious, Part I

17.10 To Infinity and Back: Introducing Projective Geometry

15.10  Tutorial: Getting started with the tools.

15.10 Apps, Animations, Artifacts … : An Overview of Mathematical Visualization



Mathematical Visualization WS13 — Opening Words


[You can access the course log here, to get an overview of what happened during the course.]

Welcome to the blog for the course Mathematical Visualization at TU Berlin for winter semester 2013-2014. I’ve decided to continue to use the blog from last year, so please keep that in mind when examining the entries: you’re welcome to read all the old posts but new content naturally overrides anything from previous years.

There is still a web-site for the course but the main focus will be here.  In this first post I want to give students an impression of what to expect and if you’re interested give you some pointers on what you can do before the course officially begins on Oct. 15.

First, you can find out a bit about me by looking at my home page here at the TU. As a glance at that reveals, my interests and skills are centered on geometry and on visualization.  I consider myself to be lucky to be at the TU Berlin, since there is a strong community of others here and at the other Berlin universities that share this interest and provide a supportive and interested working environment.

The course will be hands-on and project-oriented, directed at creating software to visualize a mathematical theme.  Choice of theme is not rigidly determined but I have some directions which I’d like to concentrate on — based on what I know and can do.  These include symmetry groups in 2 and 3 dimensions in euclidean and non-euclidean geometry.  Having attended Geometrie I course at the TU will be useful but not necessary for participating in the course. The main prerequisite is to have Java  programming experience.  Students work in groups of 2 (in rare cases 3) to carry out the assignments and to complete a final project.  We will be using eclipse as a development environment and the Java project jReality (from the visualization group at the TU) as a 3D visualization package.

Until the lectures start, if you want to learn more and get a taste for what awaits you, here are some suggestions:

  • Play with the semester projects from last year’s course.  This will give you an idea what is expected regarding the student project. Also see this blog for an account by one of last year’s students, Franziska Lippoldt, of her experience making a 3D print related to her semester project.
  • Visit the jReality developer tutorial and work through the tutorial examples presented there.  Almost all have a “Run as Java webstart” button which should cause the example to run as an Java application on your machine.  You’ll be asked to allow access to your machine before it can run — I recommend accepting, the code is safe.
    • If you have problems running the webstarts, please contact Andre Heydt (mongo at — despite the address he’s at the TU and is responsible for the jReality website.

That’s about all for now.  I’m looking forward to the course and meeting and working with you should you decide to attend.  I’m going on vacation on Sunday (Sept. 22) and will be back shortly before the beginning of classes, so my response to emails may be sometimes slow.