Ideas for morenaments 2

Mathematical Features

  • Integrate wallpaper groups and hyperbolic groups
  • Implement rosette and frieze groups
  • Implement spherical geometry
  • Allow changes between as many geometries as possible
  • Support subgroup and supergroup relations
  • Implement fractional Dehn twists as a means to tranform an ornament

Technical User Interface Development

  • Catch all exceptions, show dialog and allow for online bug report
  • Implement language switching at runtime
  • Language specific to applet, not to whole classloader
  • Actions use reflection to invoke public methods
  • Class and method name are prefix for resource bundle keys
  • Use OpenGL by default, but provide fallback

User Interaction Experience

  • Pen width scales roughly with stroke shape, but stays circular

Tools

  • Use multiple tools, selectable from a toolbar
  • Adjust side panel controls for each tool
  • Enforce dependency, e.g. hyp generator tool requires completed triangulation
  • Tools for zooming, moving, rotating
  • Color selection tool

Euclidean fundamental domains

  • Always have at most a single control point
  • Control point can be moved around freely
  • Voronoi triangulation and their limiting cases should be reachable
  • Use Voronoi center for low symmetry groups
  • Use fundamental domain corner for high symmetry groups