SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fait pivoter la matrice de rotation fournie afin qu’elle soit exprimée dans un autre système de coordonnées.
[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
Paramètres
- inR
- Single[]
matrice de rotation à transformer. En général, il s’agit de la matrice retournée par #getRotationMatrix.
- X
- Axis
définit l’axe du nouveau système de coordonnées qui coïncident avec l’axe X du système de coordonnées d’origine.
- Y
- Axis
définit l’axe du nouveau système de coordonnées qui coïncide avec l’axe Y du système de coordonnées d’origine.
- outR
- Single[]
la matrice de rotation transformée. inR et outR ne doivent pas être le même tableau.
Retours
true sur le succès.
false si les paramètres d’entrée sont incorrects, par exemple si X et Y définissent le même axe. Ou si inR et outR n’ont pas la même longueur.
- Attributs
Remarques
Fait pivoter la matrice de rotation fournie afin qu’elle soit exprimée dans un autre système de coordonnées. Cela est généralement utilisé lorsqu’une application doit calculer les trois angles d’orientation de l’appareil (voir #getOrientation) dans un autre système de coordonnées.
Lorsque la matrice de rotation est utilisée pour dessiner (par exemple avec OpenGL ES), elle n’a généralement <>pas besoin</b> d’être transformée par cette fonction, sauf si l’écran est physiquement pivoté, auquel cas vous pouvez utiliser android.view.Display#getRotation() Display.getRotation() pour récupérer la rotation actuelle de l’écran. Notez que, étant donné que l’utilisateur est généralement libre de faire pivoter son écran, vous devez souvent envisager la rotation pour décider des paramètres à utiliser ici.
<exemples u>:</u>
<ul><li>Utilisation de la caméra (axe Y le long de l’axe de la caméra) pour une application de réalité augmentée où les angles de rotation sont nécessaires :</li>
<ul>remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);</ul>
<li>Utilisation de l’appareil comme boussole mécanique lors de la rotation est android.view.Surface#ROTATION_90 Surface.ROTATION_90:</li>
<ul>remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);</ul>
Attention à l’exemple ci-dessus. Cet appel est nécessaire uniquement pour tenir compte d’une rotation à partir de son orientation naturelle lors du calcul des angles de rotation (voir #getOrientation). Si la matrice de rotation est également utilisée pour le rendu, elle n’a peut-être pas besoin d’être transformée, par exemple si votre android.app.Activity Activity exécution est en mode paysage.
</ul>
Étant donné que le système de coordonnées résultant est orthonormal, seuls deux axes doivent être spécifiés.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
S’applique à
Voir aussi
- <xref:Android.Hardware.SensorManager.GetRotationMatrix(System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d)>