Vector4 Struktura

Definice

Představuje vektor se čtyřmi hodnotami s plovoucí desetinnou čárkou s jednoduchou přesností.

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

Poznámky

Struktura Vector4 poskytuje podporu hardwarové akcelerace.

U maticových transformací Vector2jsou vzorce a Vector3Vector4 instance reprezentovány jako řádky: vektor v je transformován maticí M s násobením virtuálního počítače.

Konstruktory

Name Description
Vector4(ReadOnlySpan<Single>)

Vytvoří vektor z daného ReadOnlySpan<T>objektu . Rozsah musí obsahovat alespoň 4 prvky.

Vector4(Single, Single, Single, Single)

Vytvoří vektor, jehož prvky mají zadané hodnoty.

Vector4(Single)

Vytvoří nový Vector4 objekt, jehož čtyři prvky mají stejnou hodnotu.

Vector4(Vector2, Single, Single)

Vytvoří nový Vector4 objekt ze zadaného Vector2 objektu a Z a součásti W.

Vector4(Vector3, Single)

Vytvoří nový Vector4 objekt ze zadaného Vector3 objektu a součásti W.

Pole

Name Description
W

W komponenta vektoru.

X

Komponenta X vektoru.

Y

Komponenta Y vektoru.

Z

Komponenta Z vektoru.

Vlastnosti

Name Description
AllBitsSet

Získá vektor, kde jsou všechny bity nastaveny na 1.

E

Získá vektor, jehož prvky jsou rovny E.

Epsilon

Získá vektor, jehož prvky jsou rovny Epsilon.

Item[Int32]

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

NaN

Získá vektor, jehož prvky jsou rovny NaN.

NegativeInfinity

Získá vektor, jehož prvky jsou rovny NegativeInfinity.

NegativeZero

Získá vektor, jehož prvky jsou rovny NegativeZero.

One

Získá vektor, jehož 4 prvky jsou rovny jedné.

Pi

Získá vektor, jehož prvky jsou rovny Pi.

PositiveInfinity

Získá vektor, jehož prvky jsou rovny PositiveInfinity.

Tau

Získá vektor, jehož prvky jsou rovny Tau.

UnitW

Získá vektor (0,0,0,1).

UnitX

Získá vektor (1,0,0,0).

UnitY

Získá vektor (0,1,0,0).

UnitZ

Získá vektor (0,0,1,0).

Zero

Získá vektor, jehož 4 prvky jsou rovny nule.

Metody

Name Description
Abs(Vector4)

Vrátí vektor, jehož prvky jsou absolutními hodnotami jednotlivých prvků zadaného vektoru.

Add(Vector4, Vector4)

Sečte dva vektory dohromady.

All(Vector4, Single)

Určuje, zda jsou všechny prvky vektoru rovny dané hodnotě.

AllWhereAllBitsSet(Vector4)

Určuje, zda všechny prvky vektoru mají všechny své bity nastaveny.

AndNot(Vector4, Vector4)

Vypočítá bitové i dané vektory a ty, které doplňují jiný vektor.

Any(Vector4, Single)

Určuje, zda se některé prvky vektoru rovnají dané hodnotě.

AnyWhereAllBitsSet(Vector4)

Určuje, zda některé prvky vektoru mají všechny své bity nastaveny.

BitwiseAnd(Vector4, Vector4)

Vypočítá bitové a dva vektory.

BitwiseOr(Vector4, Vector4)

Vypočítá bitové nebo dva vektory.

Clamp(Vector4, Vector4, Vector4)

Omezuje vektor mezi minimální a maximální hodnotou.

ClampNative(Vector4, Vector4, Vector4)

Omezuje vektor mezi minimální a maximální hodnotou pomocí chování specifického pro NaN platformu a NegativeZero..

ConditionalSelect(Vector4, Vector4, Vector4)

Podmíněně vybere hodnotu ze dvou vektorů bitovým způsobem.

CopySign(Vector4, Vector4)

Zkopíruje znaménko prvku vektoru na znaménko pro jednotlivé prvky jiného vektoru.

CopyTo(Single[], Int32)

Zkopíruje prvky vektoru do zadaného pole počínaje zadanou pozicí indexu.

CopyTo(Single[])

Zkopíruje prvky vektoru do zadaného pole.

CopyTo(Span<Single>)

Zkopíruje vektor do daného Span<T>objektu . Délka cílového rozsahu musí být alespoň 4.

Cos(Vector4)

Vypočítá kosinus každého prvku ve vektoru.

Count(Vector4, Single)

Určuje počet prvků ve vektoru, které jsou rovny dané hodnotě.

CountWhereAllBitsSet(Vector4)

Určuje počet prvků ve vektoru, které mají všechny jejich bity nastaveny.

Create(ReadOnlySpan<Single>)

Vytvoří vektor z daného ReadOnlySpan<T>objektu . Rozsah musí obsahovat alespoň 4 prvky.

Create(Single, Single, Single, Single)

Vytvoří vektor, jehož prvky mají zadané hodnoty.

Create(Single)

Vytvoří nový Vector4 objekt, jehož čtyři prvky mají stejnou hodnotu.

Create(Vector2, Single, Single)

Vytvoří nový Vector4 objekt ze zadaného Vector2 objektu a Z a součásti W.

Create(Vector3, Single)

Vytvoří nový Vector4 objekt ze zadaného Vector3 objektu a součásti W.

CreateScalar(Single)

Vytvoří vektor s inicializovaným X na zadanou hodnotu a zbývající prvky inicializované na nulu.

CreateScalarUnsafe(Single)

Vytvoří vektor s inicializovaným X na zadanou hodnotu a zbývající prvky zůstanou neinicializované.

Cross(Vector4, Vector4)

Vypočítá křížový součin dvou vektorů. Pro homogenní souřadnice je součin váhy novou hmotností výsledného výrobku.

DegreesToRadians(Vector4)

Převede daný vektor ze stupňů na radiány.

Distance(Vector4, Vector4)

Vypočítá euklidskou vzdálenost mezi dvěma danými body.

DistanceSquared(Vector4, Vector4)

Vrátí euklidskou vzdálenost čtverce mezi dvěma zadanými body.

Divide(Vector4, Single)

Vydělí zadaný vektor zadanou skalární hodnotou.

Divide(Vector4, Vector4)

Vydělí první vektor druhou.

Dot(Vector4, Vector4)

Vrátí tečkovaný součin dvou vektorů.

Equals(Object)

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

Equals(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou rovny pro jednotlivé prvky.

Equals(Vector4)

Vrátí hodnotu, která určuje, zda jsou tato instance a jiný vektor rovny.

EqualsAll(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou všechny prvky stejné.

EqualsAny(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou některé prvky stejné.

Exp(Vector4)

Vypočítá exponenciální hodnotu každého prvku ve vektoru.

FusedMultiplyAdd(Vector4, Vector4, Vector4)

Výpočty (left * right) + addend, zaokrouhlené jako jedna ternární operace.

GetHashCode()

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

GreaterThan(Vector4, Vector4)

Porovná dva vektory a určí, který z prvků je větší.

GreaterThanAll(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou všechny prvky větší.

GreaterThanAny(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou některé prvky větší.

GreaterThanOrEqual(Vector4, Vector4)

Porovná dva vektory a určí, která z prvků je větší nebo rovna.

GreaterThanOrEqualAll(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou všechny prvky větší nebo rovny.

GreaterThanOrEqualAny(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou některé prvky větší nebo rovny.

Hypot(Vector4, Vector4)

Vypočítá hypotenuse zadanou dvěma vektory představující délky kratších stran v pravoúhlém trojúhelníku.

IndexOf(Vector4, Single)

Určuje index prvního prvku v vektoru, který se rovná dané hodnotě.

IndexOfWhereAllBitsSet(Vector4)

Určuje index prvního prvku v vektoru, který má všechny bity set.

IsEvenInteger(Vector4)

Určuje, které prvky vektoru jsou dokonce celočíselné hodnoty.

IsFinite(Vector4)

Určuje, které prvky vektoru jsou konečné.

IsInfinity(Vector4)

Určuje, které prvky ve vektoru jsou nekonečno.

IsInteger(Vector4)

Určuje, které prvky vektoru jsou celočíselné hodnoty.

IsNaN(Vector4)

Určuje, které prvky vektoru jsou NaN.

IsNegative(Vector4)

Určuje, které prvky vektoru představují záporná reálná čísla.

IsNegativeInfinity(Vector4)

Určuje, které prvky ve vektoru jsou záporné nekonečno.

IsNormal(Vector4)

Určuje, které prvky vektoru jsou normální.

IsOddInteger(Vector4)

Určuje, které prvky vektoru jsou liché celočíselné hodnoty.

IsPositive(Vector4)

Určuje, které prvky vektoru představují kladná reálná čísla.

IsPositiveInfinity(Vector4)

Určuje, které prvky ve vektoru jsou kladné nekonečno.

IsSubnormal(Vector4)

Určuje, které prvky vektoru jsou podnormální.

IsZero(Vector4)

Určuje, které prvky ve vektoru jsou nula.

LastIndexOf(Vector4, Single)

Určuje index posledního prvku ve vektoru, který se rovná dané hodnotě.

LastIndexOfWhereAllBitsSet(Vector4)

Určuje index posledního prvku v vektoru, který má všechny bity set.

Length()

Vrátí délku tohoto vektorového objektu.

LengthSquared()

Vrátí délku vektorového čtverce.

Lerp(Vector4, Vector4, Single)

Provede lineární interpolaci mezi dvěma vektory na základě dané váhy.

Lerp(Vector4, Vector4, Vector4)

Provede lineární interpolaci mezi dvěma vektory na základě dané váhy.

LessThan(Vector4, Vector4)

Porovná dva vektory a určí, která hodnota je menší na základě jednotlivých prvků.

LessThanAll(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou všechny prvky menší.

LessThanAny(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou některé prvky menší.

LessThanOrEqual(Vector4, Vector4)

Porovná dva vektory a určí, která hodnota je menší nebo rovna pro jednotlivé prvky.

LessThanOrEqualAll(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou všechny prvky menší nebo rovny.

LessThanOrEqualAny(Vector4, Vector4)

Porovná dva vektory a určí, jestli jsou některé prvky menší nebo rovny.

Load(Single*)

Načte vektor z daného zdroje.

LoadAligned(Single*)

Načte vektor z daného zarovnaného zdroje.

LoadAlignedNonTemporal(Single*)

Načte vektor z daného zarovnaného zdroje.

LoadUnsafe(Single, UIntPtr)

Načte vektor z daného zdroje a posunu prvku.

LoadUnsafe(Single)

Načte vektor z daného zdroje.

Log(Vector4)

Vypočítá protokol každého prvku vektoru.

Log2(Vector4)

Vypočítá log2 každého prvku vektoru.

Max(Vector4, Vector4)

Vrátí vektor, jehož prvky jsou maximálním počtem dvojic prvků ve dvou zadaných vektorech.

MaxMagnitude(Vector4, Vector4)

Porovná dva vektory s výpočty, které mají větší velikost na základě prvku.

MaxMagnitudeNumber(Vector4, Vector4)

Porovná dva vektory, na bázi jednotlivých prvků, k výpočtu, který má větší velikost a vrací druhou hodnotu, pokud je NaNvstup .

MaxNative(Vector4, Vector4)

Porovnáním dvou vektorů určíte, která je větší na základě jednotlivých prvků, pomocí specifického chování platformy pro NaN a NegativeZero.

MaxNumber(Vector4, Vector4)

Porovná dva vektory, na bázi jednotlivých prvků, k výpočtu, který je větší a vrací druhou hodnotu, pokud je NaNprvek .

Min(Vector4, Vector4)

Vrátí vektor, jehož prvky jsou minimálními jednotlivými dvojicemi prvků ve dvou zadaných vektorech.

MinMagnitude(Vector4, Vector4)

Porovná dva vektory s výpočty, které mají menší velikost na základě prvku.

MinMagnitudeNumber(Vector4, Vector4)

Porovná dva vektory, na bázi jednotlivých prvků, k výpočtu, který má menší velikost a vrací druhou hodnotu, pokud je NaNvstup .

MinNative(Vector4, Vector4)

Porovnáním dvou vektorů určíte, která z jednotlivých prvků je menší pomocí chování specifického pro platformu a NaNNegativeZero.

MinNumber(Vector4, Vector4)

Porovná dva vektory, na bázi jednotlivých prvků, k výpočtu, který je menší a vrací druhou hodnotu, pokud je NaNprvek .

Multiply(Single, Vector4)

Vynásobí skalární hodnotu zadaným vektorem.

Multiply(Vector4, Single)

Vynásobí vektor zadaným skalárem.

Multiply(Vector4, Vector4)

Vrátí nový vektor, jehož hodnoty jsou součinem každé dvojice prvků ve dvou zadaných vektorech.

MultiplyAddEstimate(Vector4, Vector4, Vector4)

Vypočítá odhad (left * right) + . addend

Negate(Vector4)

Neguje zadaný vektor.

None(Vector4, Single)

Určuje, zda se žádné prvky vektoru nerovnají dané hodnotě.

NoneWhereAllBitsSet(Vector4)

Určuje, zda žádné prvky vektoru nemají všechny své bity nastaveny.

Normalize(Vector4)

Vrátí vektor se stejným směrem jako zadaný vektor, ale s délkou jednoho.

OnesComplement(Vector4)

Vypočítá doplněk vektoru.

RadiansToDegrees(Vector4)

Převede daný vektor z radiánů na stupně.

Round(Vector4, MidpointRounding)

Zaokrouhlí každý prvek ve vektoru na nejbližší celé číslo pomocí zadaného režimu zaokrouhlování.

Round(Vector4)

Zaokrouhlí každý prvek ve vektoru na nejbližší celé číslo pomocí výchozího režimu zaokrouhlování (ToEven).

Shuffle(Vector4, Byte, Byte, Byte, Byte)

Vytvoří nový vektor výběrem hodnot ze vstupního vektoru pomocí sady indexů.

Sin(Vector4)

Vypočítá sinus každého prvku ve vektoru.

SinCos(Vector4)

Vypočítá sinus a kosinus každého prvku ve vektoru.

SquareRoot(Vector4)

Vrátí vektor, jehož prvky jsou druhou odmocninou každého z prvků zadaného vektoru.

Subtract(Vector4, Vector4)

Odečte druhý vektor od prvního.

Sum(Vector4)

Vypočítá součet všech prvků ve vektoru.

ToString()

Vrátí řetězcovou reprezentaci aktuální instance pomocí výchozího formátování.

ToString(String, IFormatProvider)

Vrátí řetězcovou reprezentaci aktuální instance pomocí zadaného řetězce formátu k formátování jednotlivých prvků a zadaného zprostředkovatele formátu pro definování formátování specifického pro jazykovou verzi.

ToString(String)

Vrátí řetězcovou reprezentaci aktuální instance pomocí zadaného formátovacího řetězce k formátování jednotlivých prvků.

Transform(Vector2, Matrix4x4)

Transformuje dvojrozměrný vektor zadanou maticí 4x4.

Transform(Vector2, Quaternion)

Transformuje dvojrozměrný vektor zadanou hodnotou otočení quaternionu.

Transform(Vector3, Matrix4x4)

Transformuje trojrozměrný vektor zadanou maticí 4x4.

Transform(Vector3, Quaternion)

Transformuje trojrozměrný vektor zadanou hodnotou otočení quaternionu.

Transform(Vector4, Matrix4x4)

Transformuje čtyřrozměrný vektor zadanou maticí 4x4.

Transform(Vector4, Quaternion)

Transformuje čtyřrozměrný vektor zadanou hodnotou otočení quaternionu.

Truncate(Vector4)

Zkrátí každý prvek vektoru.

TryCopyTo(Span<Single>)

Pokusí se zkopírovat vektor do daného Span<T>objektu . Délka cílového rozsahu musí být alespoň 4.

Xor(Vector4, Vector4)

Vypočítá exkluzivní nebo dva vektory.

Operátory

Name Description
Addition(Vector4, Vector4)

Sečte dva vektory dohromady.

BitwiseAnd(Vector4, Vector4)

Vypočítá bitové a dva vektory.

BitwiseOr(Vector4, Vector4)

Vypočítá bitové nebo dva vektory.

Division(Vector4, Single)

Vydělí zadaný vektor zadanou skalární hodnotou.

Division(Vector4, Vector4)

Vydělí první vektor druhou.

Equality(Vector4, Vector4)

Vrátí hodnotu, která určuje, zda je každá dvojice prvků ve dvou zadaných vektorech rovna.

ExclusiveOr(Vector4, Vector4)

Vypočítá exkluzivní nebo dva vektory.

Inequality(Vector4, Vector4)

Vrátí hodnotu, která určuje, zda dva zadané vektory nejsou rovny.

LeftShift(Vector4, Int32)

Posune každý prvek vektoru doleva o zadanou hodnotu.

Multiply(Single, Vector4)

Znásobí skalární hodnotu zadaným vektorem.

Multiply(Vector4, Single)

Násobí zadaný vektor zadanou skalární hodnotou.

Multiply(Vector4, Vector4)

Vrátí nový vektor, jehož hodnoty jsou součinem každé dvojice prvků ve dvou zadaných vektorech.

OnesComplement(Vector4)

Vypočítá doplněk vektoru.

RightShift(Vector4, Int32)

Posune (podepsáno) každý prvek vektoru doprava o zadanou částku.

Subtraction(Vector4, Vector4)

Odečte druhý vektor od prvního.

UnaryNegation(Vector4)

Neguje zadaný vektor.

UnaryPlus(Vector4)

Vrátí daný vektor beze změny.

UnsignedRightShift(Vector4, Int32)

Posune (bez znaménka) každý prvek vektoru doprava o zadanou velikost.

Metody rozšíření

Name Description
AsPlane(Vector4)

Reinterpretuje Vector4 jako nový Plane.

AsQuaternion(Vector4)

Reinterpretuje Vector4 jako nový Quaternion.

AsVector128(Vector4)

Reinterpretuje Vector4 jako nový Vector128<T>.

AsVector2(Vector4)

Reinterpretuje Vector4 jako nový Vector2.

AsVector3(Vector4)

Reinterpretuje Vector4 jako nový Vector3.

ExtractMostSignificantBits(Vector4)

Extrahuje nejvýznamnější bit z každého prvku vektoru.

GetElement(Vector4, Int32)

Získá prvek v zadaném indexu.

Store(Vector4, Single*)

Uloží vektor v daném cíli.

StoreAligned(Vector4, Single*)

Uloží vektor v daném cíli zarovnaném na 16 bajtů.

StoreAlignedNonTemporal(Vector4, Single*)

Uloží vektor v daném cíli zarovnaném na 16 bajtů.

StoreUnsafe(Vector4, Single, UIntPtr)

Uloží vektor v daném cíli.

StoreUnsafe(Vector4, Single)

Uloží vektor v daném cíli.

ToScalar(Vector4)

Převede daný vektor na skalár obsahující hodnotu prvního prvku.

WithElement(Vector4, Int32, Single)

Vytvoří nový Vector128<T> prvek se zadaným indexem nastaveným na zadanou hodnotu a zbývající prvky jsou nastaveny na stejnou hodnotu jako v daném vektoru.

Platí pro