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 se používá k efektivnímu otočení objektu o vektoru (x,y,z) o úhel teta, kde:

w = cos(theta/2)  

Konstruktory

Quaternion(Single, Single, Single, Single)

Vytvoří quaternion ze zadaných komponent.

Quaternion(Vector3, Single)

Vytvoří kvaternion ze zadaných vektorů a rotačních částí.

Pole

W

Rotační součást quaternionu.

X

Hodnota X vektorové komponenty quaternionu.

Y

Hodnota Y vektorové komponenty quaternionu.

Z

Hodnota Z vektorové komponenty quaternionu.

Vlastnosti

Identity

Získá kvaternion, který představuje žádné otočení.

IsIdentity

Získá hodnotu, která označuje, zda aktuální instance je identita quaternion.

Item[Int32]

Získá nebo nastaví prvek u zadaného indexu.

Zero

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

Metody

Add(Quaternion, Quaternion)

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

Concatenate(Quaternion, Quaternion)

Zřetězí dva quaterniony.

Conjugate(Quaternion)

Vrátí spojení zadaného quaternionu.

CreateFromAxisAngle(Vector3, Single)

Vytvoří kvaternion z vektoru jednotky a úhel pro otáčení kolem vektoru.

CreateFromRotationMatrix(Matrix4x4)

Vytvoří kvaternion ze zadané matice otáčení.

CreateFromYawPitchRoll(Single, Single, Single)

Vytvoří nový quaternion z daného yaw, pitch, a roll.

Divide(Quaternion, Quaternion)

Vydělí jeden kvaternion druhým kvaternionem.

Dot(Quaternion, Quaternion)

Vypočítá součin dvou kvaternionů.

Equals(Object)

Vrátí hodnotu, která označuje, zda je tato instance a zadaný objekt rovny.

Equals(Quaternion)

Vrátí hodnotu, která označuje, zda je tato instance a jiný kvaternion stejné.

GetHashCode()

Vrátí hodnotu hash pro tuto instanci.

Inverse(Quaternion)

Vrátí inverzní funkci k quaternionu.

Length()

Vypočítá délku quaternionu.

LengthSquared()

Vypočítá druhou mocninu délky quaternionu.

Lerp(Quaternion, Quaternion, Single)

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

Multiply(Quaternion, Quaternion)

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

Multiply(Quaternion, Single)

Vrátí kvaternion, který je výsledkem škálování všech komponent zadaného quaternionu skalárním faktorem.

Negate(Quaternion)

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

Normalize(Quaternion)

Vydělí každou komponentu určenou Quaternion délkou.

Slerp(Quaternion, Quaternion, Single)

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

Subtract(Quaternion, Quaternion)

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

ToString()

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

Operátory

Addition(Quaternion, Quaternion)

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

Division(Quaternion, Quaternion)

Vydělí jeden kvaternion druhým kvaternionem.

Equality(Quaternion, Quaternion)

Vrátí hodnotu, která určuje, zda jsou si dva kvaterniony rovny.

Inequality(Quaternion, Quaternion)

Vrátí hodnotu, která označuje, jestli si dva kvaterniony nejsou rovny.

Multiply(Quaternion, Quaternion)

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

Multiply(Quaternion, Single)

Vrátí kvaternion, který je výsledkem škálování všech komponent zadaného quaternionu skalárním faktorem.

Subtraction(Quaternion, Quaternion)

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

UnaryNegation(Quaternion)

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

Platí pro