http://www.hssysl.com/Cg2K/ctCosA.html