Quaternion

clase pública Quaternion

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.
Quaternion(Quaternion q)
Construye un cuaternión con valores de otro cuaternión
Quaternión(eje Vector3, ángulo de punto flotante)
Construye cuaternión usando un eje/ángulo para definir la rotación
Quaternion(Vector3 eulerAngles)
Construye el cuaternión basado en eulerAngles.

Métodos públicos

Quaternion estático
axisAngle(eje Vector3, grados de punto flotante)
Obtener un nuevo cuaternión mediante un eje o ángulo para definir la rotación
booleano estático
equals(Quaternion lhs, Quaternion rhs)
Comparar dos cuaterniones

Para verificar la igualdad, calcula el producto escalar de lh y rh.

boolean
equals(Object)
Muestra true si el otro objeto es un cuaternión y el producto escalar es 1.0 +/- una tolerancia.
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
rotateVector(Quaternion q, Vector3 src)
Rota un vector3 con un cuaternión.
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
set(eje Vector3, ángulo de punto flotante)
Actualiza este cuaternión usando un eje o ángulo para definir la rotación
void
set(Quaternion q)
Copiar los valores de otro cuaternión en este
void
setIdentity()
Establecer el cuaternión en identidad
Quaternion estático
slerp(inicio de Quaternion, fin de cuaternión, número de punto flotante t)
String

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.

público estático Quaternion identidad ()

Obtener un cuaternión configurado como identidad

public static Vector3 inverseRotateVector (Quaternion q, Vector3 src)

Parámetros
q
src

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

public void set (Quaternion q)

Copiar los valores de otro cuaternión en este

Parámetros
q

vacío público setIdentity ()

Establecer el cuaternión en identidad

public static Quaternion slerp (Quaternion start, Quaternion end, float t)

Parámetros
start
end
t

public String toString ()