SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
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)>