http://avalon.caltech.edu/~murray/software/94a_screws.html