SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Gira la matriz de rotación proporcionada para que se exprese en un sistema de coordenadas diferente.
[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
Parámetros
- inR
- Single[]
matriz de rotación que se va a transformar. Normalmente es la matriz devuelta por #getRotationMatrix.
- X
- Axis
define el eje del nuevo sistema de coordenadas que coincide con el eje X del sistema de coordenadas original.
- Y
- Axis
define el eje del nuevo sistema de coordenadas que coincide con el eje Y del sistema de coordenadas original.
- outR
- Single[]
matriz de rotación transformada. inR y outR no deben ser la misma matriz.
Devoluciones
true si se ha realizado correctamente.
false si los parámetros de entrada son incorrectos, por ejemplo, si X e Y definen el mismo eje. O bien, si inR y outR no tienen la misma longitud.
- Atributos
Comentarios
Gira la matriz de rotación proporcionada para que se exprese en un sistema de coordenadas diferente. Normalmente se usa cuando una aplicación necesita calcular los tres ángulos de orientación del dispositivo (vea #getOrientation) en un sistema de coordenadas diferente.
Cuando la matriz de rotación se usa para dibujar (por ejemplo, con OpenGL ES), normalmente <b>no necesita</b> transformarse mediante esta función, a menos que la pantalla se gire físicamente, en cuyo caso puede usarse android.view.Display#getRotation() Display.getRotation() para recuperar la rotación actual de la pantalla. Tenga en cuenta que, dado que el usuario es generalmente libre de girar su pantalla, a menudo debe considerar la rotación para decidir los parámetros que se usarán aquí.
<u>Examples:</u>
<ul><li>Usando la cámara (eje Y a lo largo del eje de la cámara) para una aplicación de realidad aumentada donde se necesitan los ángulos de rotación:</li>
<ul>remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);</ul>
<li>Usar el dispositivo como brújula mecánica cuando la rotación es android.view.Surface#ROTATION_90 Surface.ROTATION_90:</li>
<ul>remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);</ul>
Tenga cuidado con el ejemplo anterior. Esta llamada solo es necesaria para tener en cuenta una rotación desde su orientación natural al calcular los ángulos de rotación (vea #getOrientation). Si la matriz de rotación también se usa para la representación, es posible que no sea necesario transformarla, por ejemplo, si android.app.Activity Activity se ejecuta en modo horizontal.
</ul>
Dado que el sistema de coordenadas resultante es ortonormal, solo es necesario especificar dos ejes.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
Consulte también
- <xref:Android.Hardware.SensorManager.GetRotationMatrix(System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d)>