So here's an idea for a program I just got around to writing out. My sister worked for Apple for a while, so she asked me to try out the swift language recently, and this seems like a fair enough project to try it out on, though I'll likely want to port it to something else eventually. Not sure if this is something that CAD programs can do, but I'm pretty sure there isn't this sort of thing in graphic design stuff, in that if used right it could be made to do some stuff that's slightly more sophisticated than simple translation and rotation/shearing of complete shapes, being a method of essentially setting up virtual linkages to result in arbitrary movement of points.