Una clase de cuaternión de Sceneform para elementos flotantes.
Las operaciones de cuaternión son de Hamilton con la regla de la derecha.
Campos
público flotante | a | |
público flotante | x | |
público flotante | a | |
público flotante | z |
Constructores públicos
Quaternión()
Construye Quaternion y configúralo en Identity
|
|
Quaternión(float x, float y, float z)
Construye el cuaternión y configura cada valor.
|
|
Quaternión(eje Vector3, ángulo de punto flotante)
Construye cuaternión usando un eje/ángulo para definir la rotación
|
|
Métodos públicos
Quaternion estático | |
booleano estático |
equals(Quaternion lhs, Quaternion rhs)
Comparar dos cuaterniones
Para verificar la igualdad, calcula el producto escalar de lh y rh. |
boolean | |
Quaternion estático |
eulerAngles(Vector3 eulerAngles)
Obtiene un nuevo Quaternion usando eulerAngles para definir la rotación.
|
Quaternion estático |
identidad()
Obtener un cuaternión configurado como identidad
|
Vector3 estático | |
Quaternión |
invertido()
Obtener un cuaternión con la rotación opuesta
|
Quaternion estático |
lookRotation(Vector3 forwardInWorld, Vector3 deseadoUpInWorld)
Obtiene un nuevo cuaternión que representa una rotación hacia una dirección hacia adelante especificada.
|
Quaternion estático |
multiplicar(cuaterniones lh, cuaternión rhs)
Crear un cuaternión mediante la combinación de dos cuaterniones que se multiplican(lhs, rhs) equivale a realizar la rotación de rhs y, luego, la rotación de lhs. El orden es importante para esta operación.
|
boolean |
normalizar()
Escala el cuaternión a la longitud de la unidad.
|
Quaternión |
normalizada()
Obtén un cuaternión con una rotación coincidente, pero escalado a una longitud de unidad.
|
Vector3 estático | |
Quaternion estático |
rotation EntreVectores(inicio Vector3, fin Vector3)
Obtiene un nuevo cuaternión que representa la rotación de un vector a otro.
|
void |
set(float qx, float qy, float qz, float qw)
Establece cada valor y normaliza el cuaternión
|
void | |
void | |
void |
setIdentity()
Establecer el cuaternión en identidad
|
Quaternion estático | |
String |
toString()
|
Métodos heredados
Campos
public float w
public float x
anuncio público flotante y
float público z
Constructores públicos
public Quaternion()
Construye Quaternion y configúralo en Identity
public Quaternion (float x, float y, float z, float w)
Construye el cuaternión y configura cada valor. El cuaternión se normalizará durante la construcción.
Parámetros
x | |
---|---|
y | |
z | |
w |
public Quaternion (Quaternion q)
Construye un cuaternión con valores de otro cuaternión
Parámetros
q |
---|
public Quaternion (eje Vector3, ángulo de punto flotante)
Construye cuaternión usando un eje/ángulo para definir la rotación
Parámetros
eje | Establece la dirección de rotación. |
---|---|
ángulo | Tamaño de ángulo en grados |
public Quaternion(Vector3 eulerAngles)
Construye el cuaternión basado en eulerAngles.
Parámetros
eulerAngles | - el ángulo en grados para cada eje. |
---|
Consulta también
Métodos públicos
público estático Quaternion axisAngle (eje Vector3, grados flotantes)
Obtener un nuevo cuaternión mediante un eje o ángulo para definir la rotación
Parámetros
eje | Establece la dirección de rotación. |
---|---|
grados | Tamaño de ángulo en grados |
booleano estático público es igual a (QUAternion lhs, Quaternion rhs)
Comparar dos cuaterniones
Para probar la igualdad, calculamos el producto escalar de lh y rhs. Las lh y -lhs no serán iguales según esta función.
Parámetros
lh | |
---|---|
eh |
booleano público es igual a (Objeto otro)
Muestra true si el otro objeto es un cuaternión y el producto escalar es 1.0 +/- una tolerancia.
Parámetros
otro |
---|
público estático Quaternion eulerAngles (Vector3 eulerAngles)
Obtiene un nuevo Quaternion usando eulerAngles para definir la rotación.
Las rotaciones se aplican en orden Z, Y, X. Esto es coherente con otros motores de gráficos. Algo que debes tener en cuenta es que los sistemas de coordenadas son diferentes entre Sceneform y Unity, por lo que los mismos ángulos que se usan aquí tendrán una orientación diferente a la de Unity. Revisa cuidadosamente los valores de tus parámetros para obtener el mismo efecto que en otros motores.
Parámetros
eulerAngles | - los ángulos en grados. |
---|
public Quaternion invertido ()
Obtener un cuaternión con la rotación opuesta
Resultado que se muestra
- la rotación opuesta
público estático Quaternion lookRotation (Vector3 forwardInWorld, Vector3 deseadoUpInWorld)
Obtiene un nuevo cuaternión que representa una rotación hacia una dirección hacia adelante especificada. Si upInWorld es ortogonal a forwardInWorld, el eje Y se alinea con deseadoUpInWorld.
Parámetros
reenvíoenelmundo | |
---|---|
deseado en el mundo |
público estático Quaternion multiplicar (Quaternion lhs, Quaternion rhs)
Crear un cuaternión mediante la combinación de dos cuaterniones que se multiplican(lhs, rhs) equivale a realizar la rotación de rhs y, luego, la rotación de lhs. El orden es importante para esta operación.
Parámetros
lh | |
---|---|
eh |
Resultado que se muestra
- La rotación combinada
public boolean normalize ()
Escala el cuaternión a la longitud de la unidad.
Si no se puede escalar el cuaternión, se establece como identidad y se muestra el valor falso.
Resultado que se muestra
- true si el cuaternión no era cero
público Quaternion normalizado ()
Obtén un cuaternión con una rotación coincidente, pero escalado a una longitud de unidad.
Resultado que se muestra
- el cuaternión escalado a la longitud de la unidad, o cero si eso no se puede hacer.
public static Vector3 rotateVector (Quaternion q, Vector3 src)
Rota un vector3 con un cuaternión.
Parámetros
q | |
---|---|
src |
Resultado que se muestra
- Vector rotado
público estático Quaternion rotation EntreVectores (Fin del vector, fin del Vector3)
Obtiene un nuevo cuaternión que representa la rotación de un vector a otro.
Parámetros
start | |
---|---|
end |
público público set (float qx, float qy, float qz, float qw)
Establece cada valor y normaliza el cuaternión
Parámetros
tx | |
---|---|
qy | |
qz | |
qw |
público público set (eje Vector3, ángulo de punto flotante)
Actualiza este cuaternión usando un eje o ángulo para definir la rotación
Parámetros
eje | |
---|---|
ángulo |
vacío público setIdentity ()
Establecer el cuaternión en identidad