/**
* 余弦反算函數,精度到0.03秒
* @param a double 余弦值
* @return double 角度(360)
*/
public double arccos(double a)
{
double b = 90.0, c0 = 0.0, c1 = 180.0;
if (a < 1 && a > -1)
{
do
{
if (Math.cos(b * Math.PI / 180) >= a)
{
c0 = b;
b = (c0 + c1) / 2;
}
if (Math.cos(b * Math.PI / 180) <= a)
{
c1 = b;
b = (c0 + c1) / 2;
}
}
while (Math.abs(c0 - c1) > 0.00001);
}
return b;
}