2014-09-24 46 views
-1

我正在做Java和Android API中的babysteps。目前,我堅持使用SensorManager.getRotationMatrix檢索平臺方向矩陣,因爲我的數據是float[][],而函數期望float[]在Java中,我該如何聲明矩陣(正確)?如何將矩陣傳遞給需要向量的函數?

float [] [] R, I = // { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } } ; 
     new float [3] [3]; 
float [] gravity, geomagnetic = new float [3]; 

manager.getRotationMatrix(R, I, gravity, geomagnetic); 

同樣,相同的類void getRotationMatrixFromVector (float[] R, float[] rotationVector)的另一種方法再次期望float[]R顯然應該是float[][]。我是否錯過了一些技巧,允許在沒有展開矩陣的情況下進行矢量化?請指教。

+0

當我與傳感器工作時,我宣佈R和我喜歡 float R [] = new float [9]; float I [] = new float [9]; 沒有2維矩陣 – Slampy 2014-09-24 08:12:50

回答

0

如果你想扁平2d陣列,那麼你可以迭代它並將其添加到ArrayList。然後你可以使用toArray()ArrayList獲得一個數組。

其他選項是將2d數組中的行數和列數相乘以查找元素數,然後遍歷2d數組以填充1d數組中的數據。

相關問題