Sprache

SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Methode

Definition

Dreht die bereitgestellte Drehungsmatrix so, dass sie in einem anderen Koordinatensystem ausgedrückt wird.

[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

Parameter

inR
Single[]

die zu transformierenden Drehungsmatrix. Normalerweise handelt es sich um die Matrix, die von #getRotationMatrix.

X
Axis

definiert die Achse des neuen Koordinatensystems, die mit der X-Achse des ursprünglichen Koordinatensystems übereinstimmen.

Y
Axis

definiert die Achse des neuen Koordinatensystems, die mit der Y-Achse des ursprünglichen Koordinatensystems übereinstimmen.

outR
Single[]

die transformierte Drehungsmatrix. inR und outR sollte nicht dasselbe Array sein.

Gibt zurück

true auf Erfolg. false wenn die Eingabeparameter falsch sind, z. B. wenn X und Y dieselbe Achse definieren. Oder wenn inR und outR nicht dieselbe Länge haben.

Attribute

Hinweise

Dreht die bereitgestellte Drehungsmatrix so, dass sie in einem anderen Koordinatensystem ausgedrückt wird. Dies wird in der Regel verwendet, wenn eine Anwendung die drei Ausrichtungswinkel des Geräts berechnen muss (siehe #getOrientation) in einem anderen Koordinatensystem.

Wenn die Drehungsmatrix für die Zeichnung verwendet wird (z. B. mit OpenGL ES), muss>< b normalerweise <>nicht von dieser Funktion transformiert werden, es sei denn, der Bildschirm wird physisch gedreht, in diesem Fall können Sie die android.view.Display#getRotation() Display.getRotation() aktuelle Drehung des Bildschirms abrufen. Beachten Sie, dass der Benutzer in der Regel frei ist, seinen Bildschirm zu drehen, häufig die Drehung bei der Entscheidung der hier zu verwendenden Parameter berücksichtigen.

<u>Beispiele:</u>

<ul><li>Verwendung der Kamera (Y-Achse entlang der Kameraachse) für eine Augmented Reality-Anwendung, bei der die Drehwinkel benötigt werden:</li>

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

<li>Verwendung des Geräts als mechanischer Kompass bei Drehung :android.view.Surface#ROTATION_90 Surface.ROTATION_90</li>

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

Achten Sie auf das obige Beispiel. Dieser Aufruf wird nur benötigt, um eine Drehung aus der natürlichen Ausrichtung beim Berechnen der Drehwinkel zu berücksichtigen (siehe #getOrientation). Wenn die Drehungsmatrix auch zum Rendern verwendet wird, muss sie möglicherweise nicht transformiert werden, z. B. wenn ihr android.app.Activity Activity im Querformatmodus ausgeführt wird. </ul>

Da das resultierende Koordinatensystem orthonormal ist, müssen nur zwei Achsen angegeben werden.

Java Dokumentation für android.hardware.SensorManager.remapCoordinateSystem(float[], int, int, float[]).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Siehe auch

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