SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) メソッド

定義

指定した回転行列を回転させて、別の座標系で表します。

[Android.Runtime.Register("remapCoordinateSystem", "([FII[F)Z", "")]
public static bool RemapCoordinateSystem (float[]? inR, Android.Hardware.Axis X, Android.Hardware.Axis Y, float[]? outR);
[<Android.Runtime.Register("remapCoordinateSystem", "([FII[F)Z", "")>]
static member RemapCoordinateSystem : single[] * Android.Hardware.Axis * Android.Hardware.Axis * single[] -> bool

パラメーター

inR
Single[]

変換する回転行列。 通常は、 によって #getRotationMatrix返される行列です。

X
Axis

は、元の座標系の X 軸と一致する新しい座標システムの軸を定義します。

Y
Axis

は、元の座標系の Y 軸と一致する新しい座標システムの軸を定義します。

outR
Single[]

変換された回転行列。 inR と outR を同じ配列にすることはできません。

戻り値

true 成功した場合。 false 入力パラメーターが正しくない場合は (たとえば、X と Y で同じ軸が定義されている場合)。 または、inR と outR の長さが同じでない場合は 。

属性

注釈

指定した回転行列を回転させて、別の座標系で表します。 これは通常、アプリケーションが別の座標系でデバイスの 3 つの方向角度を計算する必要がある場合に使用されます (「」を参照 #getOrientation)。

回転行列を描画に使用する場合 (たとえば OpenGL ES を使用する場合)、画面が物理的に回転しない限り、通常<>、b はこの関数で変換する必要<はありません。>この場合は、 を使用android.view.Display#getRotation() Display.getRotation()して画面の現在の回転を取得できます。 通常、ユーザーは画面を自由に回転できるため、ここで使用するパラメーターを決定する際に回転を検討する必要があります。

<u>の例:</u>

<ul><li>回転角度が必要な拡張現実アプリケーションのカメラ (カメラの軸に沿った Y 軸) を使用する:</li>

<ul>remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);</ul>

<li>回転 android.view.Surface#ROTATION_90 Surface.ROTATION_90が :</li のときにデバイスを機械的コンパスとして使用する>

<ul>remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);</ul>

上記の例に注意してください。 この呼び出しは、回転角度を計算するときに自然な向きからの回転を考慮するためにのみ必要です (「」を参照 #getOrientation)。 回転行列をレンダリングにも使用する場合は、たとえば横モードで実行している場合など、変換する必要がない場合 android.app.Activity Activity があります。 </ul>

結果の座標系は正規正規であるため、2 つの軸のみを指定する必要があります。

の Java ドキュメント android.hardware.SensorManager.remapCoordinateSystem(float[], int, int, float[])

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象

こちらもご覧ください

  • <xref:Android.Hardware.SensorManager.GetRotationMatrix(System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d)>