Sdílet prostřednictvím


Quaternion Struktura

Definice

Představuje vektor, který se používá ke kódování trojrozměrných fyzických otočení.

public value class Quaternion : IEquatable<System::Numerics::Quaternion>
public struct Quaternion : IEquatable<System.Numerics.Quaternion>
type Quaternion = struct
Public Structure Quaternion
Implements IEquatable(Of Quaternion)
Dědičnost
Quaternion
Implementuje

Poznámky

Struktura Quaternion slouží k efektivnímu otočení objektu o vektoru (x,y,z) úhlem teta, kde:

w = cos(theta/2)  

Konstruktory

Quaternion(Single, Single, Single, Single)

Vytvoří kvazternion ze zadaných součástí.

Quaternion(Vector3, Single)

Vytvoří kvazternion ze zadaných vektorových a rotačních částí.

Pole

W

Součást otáčení kvarternionu.

X

Hodnota X vektorové komponenty kvazternionu.

Y

Hodnota Y vektorové složky kvazternionu.

Z

Hodnota Z vektorové složky kvazternionu.

Vlastnosti

Identity

Získá kvaternion, který představuje žádnou rotaci.

IsIdentity

Získá hodnotu, která určuje, zda aktuální instance je kvazternion identity.

Item[Int32]

Získá nebo nastaví prvek v zadaném indexu.

Zero

Získá kvaternion, který představuje nulu.

Metody

Add(Quaternion, Quaternion)

Přidá každý prvek v jednom kvazternionu s odpovídajícím prvkem ve druhém kvazternionu.

Concatenate(Quaternion, Quaternion)

Zřetězí dva kvaterniony.

Conjugate(Quaternion)

Vrátí konjugovanou určitou kvazternionu.

CreateFromAxisAngle(Vector3, Single)

Vytvoří kvazternion z jednotkového vektoru a úhel pro otočení kolem vektoru.

CreateFromRotationMatrix(Matrix4x4)

Vytvoří kvaternion ze zadané matice otočení.

CreateFromYawPitchRoll(Single, Single, Single)

Vytvoří novou kvaternionu z dané pily, rozteče a hodu.

Divide(Quaternion, Quaternion)

Vydělí jednu kvazternion druhou kvazternií.

Dot(Quaternion, Quaternion)

Vypočítá tečkovaný součin dvou kvaternionů.

Equals(Object)

Vrátí hodnotu, která určuje, zda je tato instance a zadaný objekt stejné.

Equals(Quaternion)

Vrátí hodnotu, která určuje, zda je tato instance a jiná kvazternion rovna.

GetHashCode()

Vrátí kód hash pro tuto instanci.

Inverse(Quaternion)

Vrátí inverzní funkci kvazternionu.

Length()

Vypočítá délku kvaternionu.

LengthSquared()

Vypočítá druhou délku kvaternionu.

Lerp(Quaternion, Quaternion, Single)

Provede lineární interpolaci mezi dvěma kvaterniony na základě hodnoty, která určuje váhu druhého kvarternionu.

Multiply(Quaternion, Quaternion)

Vrátí kvazternion, který je výsledkem vynásobení dvou kvazternionů.

Multiply(Quaternion, Single)

Vrátí kvazternion, který je výsledkem škálování všech součástí zadaného kvazternionu skalárním faktorem.

Negate(Quaternion)

Obrátí znaménko každé součásti kvazternionu.

Normalize(Quaternion)

Rozdělí každou součást zadaného Quaternion o jeho délku.

Slerp(Quaternion, Quaternion, Single)

Interpoluje mezi dvěma kvaterniony pomocí kulové lineární interpolace.

Subtract(Quaternion, Quaternion)

Odečte každý prvek ve druhém kvazternionu od jeho odpovídajícího prvku v prvním kvazternionu.

ToString()

Vrátí řetězec, který představuje tento kvazternion.

Operátory

Addition(Quaternion, Quaternion)

Přidá každý prvek v jednom kvazternionu s odpovídajícím prvkem ve druhém kvazternionu.

Division(Quaternion, Quaternion)

Vydělí jednu kvazternion druhou kvazternií.

Equality(Quaternion, Quaternion)

Vrátí hodnotu, která určuje, zda jsou dvě kvaterniony rovny.

Inequality(Quaternion, Quaternion)

Vrátí hodnotu, která určuje, zda se dvě kvaterniony nerovnají.

Multiply(Quaternion, Quaternion)

Vrátí kvazternion, který je výsledkem vynásobení dvou kvazternionů.

Multiply(Quaternion, Single)

Vrátí kvazternion, který je výsledkem škálování všech součástí zadaného kvazternionu skalárním faktorem.

Subtraction(Quaternion, Quaternion)

Odečte každý prvek ve druhém kvazternionu od jeho odpovídajícího prvku v prvním kvazternionu.

UnaryNegation(Quaternion)

Obrátí znaménko každé součásti kvazternionu.

Metody rozšíření

AsVector4(Quaternion)

Reinterpretuje Quaternion jako nový Vector4.

Platí pro