This project is read-only.

Transformations for Live Geometry

Feb 19, 2010 at 12:54 AM

Hello everyone and hello again Kirill.  I'd like to offer to add three transformations to Live Geometry (LG).  They are: rotation about a point by a measure, dilation about a point by a factor, and translation in a direction by a magnitude.  I've been looking through the source code and I have an idea how to go about it.

  • Make creators (much like ReflectionCreator class)
  • Add three methods to Transformer class
  • Add corresponding methods in Factory
  • Add methods needed for dilating and translating (rotating is already there) to Math

Some more thought about it.

  • Perhaps we need a new Transform menu with Reflect, Dilate, Rotate, Translate as submenus.  This would move Reflect from where it currently is. For example, this is how it is organized in GeoGebra.
  • Rotating and dilating could be done by clicking a point and entering an amount.
  • Translating could be done by entering both the mag and dir.
  • Down the road, scaling can be added to the set of transformations.  Unlike dilating, it can be anisotropic (different scale in different directions).

I hope to make more contributions down the road.  What's happening is I created a program for math teachers called Tabula. It's commercial.  In Tabula one can cut, tape, fold, transform shapes and more.  It does not have true dynamic relationships like LG and it is only available on MacOS.  So for the next version I'd like to use the LG library and adapt it to my needs.  But there is much that these programs have in common.  And so I'd like to help contribute where suitable but also diverge. If you want to take a look at Tabula it's at my Numeracy Works website.  I'm not much of a programmer (I  taught math for 10 years and have only programmed for 2, and that was in Objective-C) but I hope I can add some worthwhile functionality.

So Kirill, I think I must ask you, can I become one of the developers?  Or would it be better if I worked separately?  Or is there another way to go about this?

Thanks to all involved in LG,


Feb 20, 2010 at 3:07 PM

I have a set of transformations working.  Here is a video showing how they work.  This is just one approach.  What does everyone think?

Feb 22, 2010 at 2:31 AM

Hi David!

This is awesome! I've added you as a developer and you're welcome to check in.

Have fun!


Feb 23, 2010 at 6:39 PM

I saw your checkin! Great stuff. I've edited the .csproj files to include your files in the projects.

Feb 24, 2010 at 5:32 PM
Kirill, thanks for doing that for me. I think I get it now.