Quaternion

corso pubblico Quaternion

Una classe di quaternione Sceneform per i carri mobili.

Le operazioni di quaternione sono di Hamilton e seguono la convenzione della regola a destra.

Campi

floating pubblico S
floating pubblico x
floating pubblico A
floating pubblico Z

Costruttori pubblici

Quaternion()
Crea Quaternion e imposta su Identity
Quaternion(fluttuare x, fluttuare y, fluttuare z, fluttuare w)
Crea quaternion e imposta ogni valore.
Quaternion(Quaternion q)
Costruisci Quaternion utilizzando i valori di un altro Quaternion
Quaternion(asse Vector3, angolo del galleggiante)
Crea quaternione utilizzando un asse/angolo per definire la rotazione
Quaternion(Vector3 eulerAngles)
Costruisci un Quaternion basato su eulerAngles.

Metodi pubblici

statico Quaternion
asse Angolo(asse Vector3, gradi di virgola mobile)
Ottieni un nuovo Quaternion utilizzando un asse/angolo per definire la rotazione
Booleano statico
uguale a(Quaternion lhs, Quaternion r
Confronta due quaternioni

Test di uguaglianza calcolando il prodotto punto di lhs e rh.

boolean
uguale a(Oggetto altro)
Restituisce true se l'altro oggetto è Quaternion e il prodotto con punto è 1.0 +/- a tolleranza.
statico Quaternion
eulerAngles(Vector3 eulerAngles)
Ottieni un nuovo Quaternion utilizzando eulerAngles per definire la rotazione.
statico Quaternion
identity()
Recupero di un Quaternion impostato su identità
statico Vector3
Quaternion
invertito()
Ottieni un quaternione con la rotazione opposta
statico Quaternion
lookRotation(Vector3 forwardingInWorld, Vector3wantUpInWorld)
Ottieni un nuovo Quaternion che rappresenta una rotazione verso una direzione di avanti specificata.
statico Quaternion
multiply(Quaternion slh, Quaternion rhs)
Crea un qua via
boolean
normalizza()
Riduce il quaternione alla lunghezza unitaria.
Quaternion
normalizzato()
Ottieni un quaternione con una rotazione corrispondente, ma in base alla lunghezza dell'unità.
statico Vector3
rotateVector (Quaternion q, Vector3 src)
Ruota un Vector3 di un Quaternion
statico Quaternion
rotationBetweenVectors(inizio Vector3, fine Vector3)
Ottieni un nuovo quaternione che rappresenti la rotazione da un vettore a un altro.
nullo
set(galleggia qx, numero in virgola mobile qy, numero in virgola mobile qz, numero in virgola mobile qw)
Imposta ogni valore e normalizza il quaternione
nullo
set(asse Vector3, angolo del galleggiante)
Aggiorna questo Quaternion utilizzando un asse/angolo per definire la rotazione
nullo
set(Quaternion q)
Copia i valori da un altro Quaternion a questo
nullo
setIdentity()
Imposta l'identità del Quaternion
statico Quaternion
slerp(inizio Quaternion, fine Quaternion, numero in virgola mobile)
Stringa

Metodi ereditati

Campi

floating pubblico w

floating pubblico x

floating pubblico y

floating pubblico z

Costruttori pubblici

pubblica Quaternion ()

Crea Quaternion e imposta su Identity

pubblica Quaternion (fluttuare x, fluttuare y, fluttua z, fluttuare w)

Crea quaternion e imposta ogni valore. Il Quaternion verrà normalizzato durante la costruzione

Parametri
x
y
z
w

pubblica Quaternion (Quaternion q)

Costruisci Quaternion utilizzando i valori di un altro Quaternion

Parametri
q

pubblica Quaternion (asse Vector3, angolo mobile)

Crea quaternione utilizzando un asse/angolo per definire la rotazione

Parametri
Axis Imposta il senso di rotazione
angolo Dimensioni angolo in gradi

pubblico Quaternion (Vector3 eulerAngles)

Costruisci un Quaternion basato su eulerAngles.

Parametri
EulerAngolas - L'angolo in gradi per ogni asse.

Metodi pubblici

pubblica statica Quaternion asse Angolo (asse Vector3, fluttuazione)

Ottieni un nuovo Quaternion utilizzando un asse/angolo per definire la rotazione

Parametri
Axis Imposta il senso di rotazione
gradi Dimensioni angolo in gradi

pubblico statico booleano uguale a (Quaternion lhs, Quaternion rhs)

Confronta due quaternioni

I test di uguaglianza calcolano il prodotto punto di lhs e rhs. secondo questa funzione non sarà uguale a lhs e -lhs.

Parametri
sx
dx

pubblico booleano uguale a (Oggetto altro)

Restituisce true se l'altro oggetto è Quaternion e il prodotto con punto è 1.0 +/- a tolleranza.

Parametri
altro

pubblica statica Quaternion eulerAngles (Vector3 eulerAngles)

Ottieni un nuovo Quaternion utilizzando eulerAngles per definire la rotazione.

Le rotazioni vengono applicate in ordine Z, Y e X. Ciò è coerente con altri motori grafici. Una cosa da notare è che i sistemi di coordinate sono diversi tra Sceneform e Unity, quindi gli stessi angoli utilizzati qui avranno un orientamento diverso rispetto a Unity. Controlla attentamente i valori dei parametri per ottenere lo stesso effetto degli altri motori.

Parametri
EulerAngolas - gli angoli in gradi.

pubblica statica Quaternion identità ()

Recupero di un Quaternion impostato su identità

public static Vector3 inverseRuotaVector (Quaternion q, Vector3 src)

Parametri
q
src

pubblica Quaternion invertito ()

Ottieni un quaternione con la rotazione opposta

Restituisce
  • la rotazione opposta

pubblica statica Quaternion lookRotation (Vector3 forwardingInWorld, Vector3wantUpInWorld)

Ottieni un nuovo Quaternion che rappresenta una rotazione verso una direzione di avanti specificata. Se upInWorld è ortogonale ad forwardingInWorld, l'asse Y è allineato con quello desiderato.

Parametri
forwardingInWorld
UpUpInWorld

pubblico statico Quaternion moltiplicato (Quaternion lhs, Quaternion rhs)

Crea un qua via

Parametri
sx
dx
Restituisce
  • La rotazione combinata

pubblico booleano normalizza ()

Riduce il quaternione alla lunghezza unitaria.

Se non è possibile scalare il Quaternion, viene impostato su identità e viene restituito false.

Restituisce
  • true se il quaternione è diverso da zero

pubblica Quaternion normalizzato ()

Ottieni un quaternione con una rotazione corrispondente, ma in base alla lunghezza dell'unità.

Restituisce
  • il quaternione scalato alla lunghezza dell'unità o zero, se non è possibile farlo.

pubblica statica Vector3 rotateVector (Quaternion q, Vector3 src)

Ruota un Vector3 di un Quaternion

Parametri
q
src
Restituisce
  • Il Vettore ruotato

pubblica statica Quaternion rotationBetweenVectors (Vector3 start, Vector3 end)

Ottieni un nuovo quaternione che rappresenti la rotazione da un vettore a un altro.

Parametri
inizio
termina

pubblico void set (galleggia qx, fluttua qy, fluttua qz, fluttua qw)

Imposta ogni valore e normalizza il quaternione

Parametri
qx
qy
qz
qw

pubblico void set (asse Vector3, angolo mobile)

Aggiorna questo Quaternion utilizzando un asse/angolo per definire la rotazione

Parametri
Axis
angolo

pubblico void set (Quaternion q)

Copia i valori da un altro Quaternion a questo

Parametri
q

pubblica void setIdentity ()

Imposta l'identità del Quaternion

pubblica statica Quaternion slerp (Quaternion inizio, Quaternion fine, numero in virgola mobile t)

Parametri
inizio
termina
t

pubblica Stringa toString ()