http://www.ritsumei.ac.jp/~akitaoka/rotate-e.html