SensorManager.RemapCoordinateSystem(Single[], Axis, Axis, Single[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Gira a matriz de rotação fornecida para que ela seja expressa em um 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[]
a matriz de rotação a ser transformada. Normalmente, é a matriz retornada por #getRotationMatrix.
- X
- Axis
define o eixo do novo sistema de coordenadas que coincide com o eixo X do sistema de coordenadas original.
- Y
- Axis
define o eixo do novo sistema de coordenadas que coincide com o eixo Y do sistema de coordenadas original.
- outR
- Single[]
a matriz de rotação transformada. inR e outR não devem ser a mesma matriz.
Retornos
true sobre o sucesso.
false se os parâmetros de entrada estiverem incorretos, por exemplo, se X e Y definirem o mesmo eixo. Ou se o inR e o outR não tiverem o mesmo comprimento.
- Atributos
Comentários
Gira a matriz de rotação fornecida para que ela seja expressa em um sistema de coordenadas diferente. Normalmente, isso é usado quando um aplicativo precisa calcular os três ângulos de orientação do dispositivo (veja #getOrientation) em um sistema de coordenadas diferente.
Quando a matriz de rotação é usada para desenho (por exemplo, com OpenGL ES), ela geralmente <>não precisa</b> ser transformada por essa função, a menos que a tela seja girada fisicamente, nesse caso, você pode usar android.view.Display#getRotation() Display.getRotation() para recuperar a rotação atual da tela. Observe que, como o usuário geralmente é livre para girar a tela, você geralmente deve considerar a rotação na decisão dos parâmetros a serem usados aqui.
<u>Examples:</u>
<ul><li>Usando a câmera (eixo Y ao longo do eixo da câmera) para um aplicativo de realidade aumentada em que os ângulos de rotação são necessários:</li>
<ul>remapCoordinateSystem(inR, AXIS_X, AXIS_Z, outR);</ul>
<li>Usando o dispositivo como uma bússola mecânica quando a rotação é android.view.Surface#ROTATION_90 Surface.ROTATION_90:</li>
<ul>remapCoordinateSystem(inR, AXIS_Y, AXIS_MINUS_X, outR);</ul>
Cuidado com o exemplo acima. Essa chamada é necessária apenas para considerar uma rotação de sua orientação natural ao calcular os ângulos de rotação (consulte #getOrientation). Se a matriz de rotação também for usada para renderização, talvez ela não precise ser transformada, por exemplo, se estiver android.app.Activity Activity em execução no modo paisagem.
</ul>
Como o sistema de coordenadas resultante é ortomal, apenas dois eixos precisam ser especificados.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
Confira também
- <xref:Android.Hardware.SensorManager.GetRotationMatrix(System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d%2c+System.Single%5b%5d)>