SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ruota la matrice di rotazione fornita in modo che venga espressa in un sistema di coordinate diverso.
[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
Parametri
- inR
- Single[]
matrice di rotazione da trasformare. In genere è la matrice restituita da #getRotationMatrix.
- X
- Axis
definisce l'asse del nuovo sistema di coordinate che coincide con l'asse X del sistema di coordinate originale.
- Y
- Axis
definisce l'asse del nuovo sistema di coordinate che coincide con l'asse Y del sistema di coordinate originale.
- outR
- Single[]
matrice di rotazione trasformata. inR e outR non devono essere la stessa matrice.
Valori restituiti
true in caso di esito positivo.
false se i parametri di input non sono corretti, ad esempio se X e Y definiscono lo stesso asse. Oppure se inR e outR non hanno la stessa lunghezza.
- Attributi
Commenti
Ruota la matrice di rotazione fornita in modo che venga espressa in un sistema di coordinate diverso. Questo viene in genere usato quando un'applicazione deve calcolare i tre angoli di orientamento del dispositivo (vedere #getOrientation) in un sistema di coordinate diverso.
Quando la matrice di rotazione viene usata per il disegno (ad esempio con OpenGL ES), in genere <b>non è necessario</b> per essere trasformata da questa funzione, a meno che lo schermo non venga ruotato fisicamente, nel qual caso è possibile usare android.view.Display#getRotation() Display.getRotation() per recuperare la rotazione corrente dello schermo. Si noti che poiché l'utente è in genere libero di ruotare lo schermo, spesso è consigliabile considerare la rotazione nel decidere i parametri da usare qui.
<u>Examples:</u>
<ul><li>Uso della fotocamera (asse Y lungo l'asse della fotocamera) per un'applicazione di realtà aumentata in cui sono necessari gli angoli di rotazione:</li>
<ul>remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);</ul>
<li>Uso del dispositivo come bussola meccanica quando la rotazione è android.view.Surface#ROTATION_90 Surface.ROTATION_90:</li>
<ul>remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);</ul>
Tenere presente l'esempio precedente. Questa chiamata è necessaria solo per tenere conto di una rotazione dall'orientamento naturale quando si calcolano gli angoli di rotazione (vedere #getOrientation). Se per il rendering viene usata anche la matrice di rotazione, potrebbe non essere necessario trasformarla, ad esempio se android.app.Activity Activity è in esecuzione in modalità orizzontale.
</ul>
Poiché il sistema di coordinate risultante è ortonormaale, è necessario specificare solo due assi.
per android.hardware.SensorManager.remapCoordinateSystem(float[], int, int, float[]).
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Vedi anche
- <xref:Android.Hardware.SensorManager.GetRotationMatrix(System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d)>