Programar Juegos Android

Page 133

CAPÍTULO 3 Y 4. HERRAMIENTAS DE PROGRAMACIÓN

133

Probablemente el uso más común para matrices en Libgdx es a través de la vista y proyección matrices de la clase cámara, que se utilizan para controlar la geometría se representa en la pantalla. Cámara, que viene en OrthographicCamera y PerspectiveCamera , proporcionan una forma cómoda e intuitiva para el control de la vista en una escena renderizada a través de una posición y dirección de visión, un simple grupo de matrices 4x4 que se utilizan para decirle OpenGL cómo procesar la geometría de render.

4.5.8.1. Método de encadenamiento Como con los vectores, las operaciones sobre matrices en Libgdx devolver una referencia a la matriz modificada para permitir el encadenamiento de las operaciones en una sola llamada de línea. El siguiente, se crea un nuevo modelo-vista matriz de 4x4 útil para un objeto con la posición(x, y, z) y la rotación descrito por un par eje de ángulo: Matrix4 estera = nueva Matrix4.()setToRotation( eje , ángulo ).trn( x , y , z );

Esto es, por supuesto, equivalente a: Matrix4 mat = nueva Matrix4 (); / / nueva matriz identidad mat.setToRotation ( eje , ángulo ); rotación / / conjunto de eje angular par mat.trn ( x , y , z ); / / traducir por x, y, z

4.5.8.2. Métodos Nativos Las clases de matriz tienen un número de sus operaciones disponibles en métodos estáticos respaldados por código nativo rápido. Mientras que la sintaxis miembro es a menudo más fácil de leer y más conveniente escribir, estos métodos estáticos deben utilizarse en zonas en las que el rendimiento es una preocupación. En el ejemplo siguiente, se utiliza uno de estos métodos para llevar a cabo una multiplicación entre dos matrices de 4x4: Matrix4 Mata ; Matrix4 MatB ; Matrix4.mul ( Mata.val , MatB . val ); / / el resultado se almacena en Mata

Los métodos nativos trabajan directamente en estas matrices. Lo anterior es funcionalmente equivalente a la sintaxis miembro de: Mata . mul ( MatB );

4.5.9. Quaternions / Cuaterniones. Cuaterniones son sistemas numéricos de cuatro dimensiones que se extienden a los números complejos. Tienen muchos usos esotéricos en las altas matemáticas y la teoría de números. Específicamente en el contexto de Libgdx, el uso de la Unidad-cuaterniones puede ser útil para describir rotaciones en el espacio de tres dimensiones, ya que proporcionan para la composición más simple, la estabilidad numérica, y la evitación de bloqueo de ejes, por lo que a menudo es preferible a otros métodos de representación de rotación que puede diversamente están a la altura en estas áreas. Cuaterniones pueden construirse mediante el suministro de sus cuatro componentes de forma explícita o haciendo pasar un par de eje-ángulo. Tenga en cuenta que mientras que un cuaternión se describe a menudo como la combinación de un vector y un escalar, que no es más que un par de eje-ángulo. Libgdx también proporcionan métodos para la conversión entre

www.adminso.es


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.