歡迎您光臨本站 註冊首頁

J2ME編程實現三角函數代碼

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
J2ME編程實現三角函數代碼:今天搞J2ME裡面計算經緯度,沒想到J2ME這麼多限制,連幾個很簡單的三角函數也不給提供完全,還要直接寫.沒辦法,自己動手好了.留個代碼,方便以後參考學習吧.

package com.ken.math;

/** *//**

* 通過計算公式實現反正切、反正弦、反餘弦<br>

* Tan(X)=Sin(X)/Cos(x) <br>

* ArcSin(X)=ArcTan(X/Sqrt(1-Sqr(X)))<br>

* ArcCos(X)=ArcTan(Sqrt(1-Sqr(X))/X)<br>

*

* @author <a href=「mailto:xzknet@gmail.com」>Ken_xu</a>

* @version 1.0 Copyright 2008-5-4 下午04:09:04

*/

public class SuperMath …{

/** *//**

* 反正切<br>

* radian為正切值,這個函數的值域為-π/2~π/2

*

* @param radian

* 弧度為單位的角度

* @return 該角度所對應的反正切

* @author Ken_xu

*/

public static double actTan(double radian) …{

System.out.println(radian);

double retval = 0d;

if (Math.abs(radian) <= 1.0d) …{

retval = radian / (1.0D 0.28d * sqr(radian));

} else …{

retval = -radian / (sqr(radian) 0.28d);

if (radian < -1.0d) …{

retval = retval - Math.PI / 2;

} else …{

retval = retval Math.PI / 2;

}

}

return retval;

}

/** *//**

* 反正切<br>

* 正切值為y/x,因此該函數求的是y/x所對應的角,這個函數的值域為-π~π

*

* @param y

* @param x

* @return 該角度所對應的反正切

* @author Ken_xu

*/

public static double actTan(double y, double x) …{

if (y == 0.0d && x == 0.0d)

return 0.0d;

if (x > 0.0d)

return actTan(y / x);

if (x < 0.0F)

if (y < 0.0d)

return (-(Math.PI - actTan(y / x)));

else

return (Math.PI - actTan(-y / x));

return y >= 0.0F ? Math.PI / 2 : Math.PI / 2;

}

/** *//**

* 反正弦

*

* @param radian

* 弧度為單位的角度

* @return 該角度所對應的反正弦

* @author Ken_xu

*/

public static double actSin(double radian) …{



// ArcSin(X)=ArcTan(X/Sqrt(1-Sqr(X)))

double retval = actTan(radian / Math.sqrt(1 - sqr(radian)));

return retval;

}

/** *//**

* 反餘弦

*

* @param radian

* 弧度為單位的角度

* @return 該角度所對應的反餘弦

* @author Ken_xu

*/

public static double actCos(double radian) …{

// ArcCos(X)=ArcTan(Sqrt(1-Sqr(X))/X)

double retval = actTan(Math.sqrt(1 - sqr(radian)) / radian);

return retval;

}

/** *//**

* 平方函數

*

* @param x

* @return 平方值( x * x )

* @author Ken_xu

*/

public static double sqr(double x) …{

return x * x;

}

}


[火星人 ] J2ME編程實現三角函數代碼已經有340次圍觀

http://coctec.com/docs/java/show-post-59802.html