cldc和midp都沒有提供三角函式,而且cldc1.0中也沒有浮點數,所以我們的選擇是查表。使用8位定點數的sin和cos表。下面是wtk自帶demo中的**,只提供了有限的幾個角度,實際使用時根據需要細化角度值。
// sines of angles 0, 10, 20, 30, 40, 50, 60, 70, 80, 90, all *256
private static final int sines =;
// angle is in degrees/10, i.e. 0..36 for full circle
private static int sinetimes256(int angle)
angle %= 36; // 360 degrees
if (angle <= 9) // 0..90 degrees
return sines[angle];
else if (angle <= 18) // 90..180 degrees
return sines[18-angle];
else if (angle <= 27) // 180..270 degrees
return -sines[angle-18];
} else // 270..360 degrees
return -sines[36-angle];
// angle is in degrees/10, i.e. 0..36 for full circle
private static int cosinetimes256(int angle)
return sinetimes256(angle + 9); // i.e. add 90 degrees
雖然這是乙個簡單的實現,但確非常實用,從效率來說,要比模擬浮點計算的效率高很多。但是現在專案中需要使用乙個帶有開三次方的計算公式,這時這個東西就幫不上忙了。^-^
J2ME中查表法使用三角函式
cldc和midp都沒有提供三角函式,而且cldc1.0中也沒有浮點數,所以我們的選擇是查表。使用8位定點數的sin和cos表。下面是wtk自帶demo中的 只提供了有限的幾個角度,實際使用時根據需要細化角度值。sines of angles 0,10,20,30,40,50,60,70,80,90...
J2ME中查表法使用三角函式
cldc和midp都沒有提供三角函式,而且cldc1.0中也沒有浮點數,所以我們的選擇是查表。使用8位定點數的sin和cos表。下面是wtk自帶demo中的 只提供了有限的幾個角度,實際使用時根據需要細化角度值。sines of angles 0,10,20,30,40,50,60,70,80,90...
三角函式與反三角函式的使用
假設該三角形是直角三角形。那麼 依照數學基礎是 sin b b c 其中b是邊b對應的角 但是在c c 程式上面稍微有點不同 那就是弧度制與角度制的區分 先說三角函式,在 程式設計裡面 舉sin 為例 sin 弧度制 只有裡面放弧度制,才能算的精準,假設要算45 的sin值 那麼對45 進行轉換為弧...