Vector3 Struktura

Definice

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

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

Poznámky

Struktura Vector3 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
Vector3(ReadOnlySpan<Single>)

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

Vector3(Single, Single, Single)

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

Vector3(Single)

Vytvoří nový Vector3 objekt, jehož tři prvky mají stejnou hodnotu.

Vector3(Vector2, Single)

Vytvoří nový Vector3 objekt ze zadaného Vector2 objektu a zadanou hodnotu.

Pole

Name Description
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ž 3 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.

UnitX

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

UnitY

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

UnitZ

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

Zero

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

Metody

Name Description
Abs(Vector3)

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

Add(Vector3, Vector3)

Sečte dva vektory dohromady.

All(Vector3, Single)

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

AllWhereAllBitsSet(Vector3)

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

AndNot(Vector3, Vector3)

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

Any(Vector3, Single)

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

AnyWhereAllBitsSet(Vector3)

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

BitwiseAnd(Vector3, Vector3)

Vypočítá bitové a dva vektory.

BitwiseOr(Vector3, Vector3)

Vypočítá bitové nebo dva vektory.

Clamp(Vector3, Vector3, Vector3)

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

ClampNative(Vector3, Vector3, Vector3)

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

ConditionalSelect(Vector3, Vector3, Vector3)

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

CopySign(Vector3, Vector3)

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ň 3.

Cos(Vector3)

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

Count(Vector3, Single)

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

CountWhereAllBitsSet(Vector3)

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ň 3 prvky.

Create(Single, Single, Single)

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

Create(Single)

Vytvoří nový Vector3 objekt, jehož tři prvky mají stejnou hodnotu.

Create(Vector2, Single)

Vytvoří nový Vector3 objekt ze zadaného Vector2 objektu a komponenty Z.

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(Vector3, Vector3)

Vypočítá křížový součin dvou vektorů.

DegreesToRadians(Vector3)

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

Distance(Vector3, Vector3)

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

DistanceSquared(Vector3, Vector3)

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

Divide(Vector3, Single)

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

Divide(Vector3, Vector3)

Vydělí první vektor druhou.

Dot(Vector3, Vector3)

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(Vector3, Vector3)

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

Equals(Vector3)

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

EqualsAll(Vector3, Vector3)

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

EqualsAny(Vector3, Vector3)

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

Exp(Vector3)

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

FusedMultiplyAdd(Vector3, Vector3, Vector3)

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

GetHashCode()

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

GreaterThan(Vector3, Vector3)

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

GreaterThanAll(Vector3, Vector3)

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

GreaterThanAny(Vector3, Vector3)

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

GreaterThanOrEqual(Vector3, Vector3)

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

GreaterThanOrEqualAll(Vector3, Vector3)

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

GreaterThanOrEqualAny(Vector3, Vector3)

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

Hypot(Vector3, Vector3)

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

IndexOf(Vector3, Single)

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

IndexOfWhereAllBitsSet(Vector3)

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

IsEvenInteger(Vector3)

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

IsFinite(Vector3)

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

IsInfinity(Vector3)

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

IsInteger(Vector3)

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

IsNaN(Vector3)

Určuje, které prvky vektoru jsou NaN.

IsNegative(Vector3)

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

IsNegativeInfinity(Vector3)

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

IsNormal(Vector3)

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

IsOddInteger(Vector3)

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

IsPositive(Vector3)

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

IsPositiveInfinity(Vector3)

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

IsSubnormal(Vector3)

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

IsZero(Vector3)

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

LastIndexOf(Vector3, Single)

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

LastIndexOfWhereAllBitsSet(Vector3)

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(Vector3, Vector3, Single)

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

Lerp(Vector3, Vector3, Vector3)

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

LessThan(Vector3, Vector3)

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

LessThanAll(Vector3, Vector3)

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

LessThanAny(Vector3, Vector3)

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

LessThanOrEqual(Vector3, Vector3)

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

LessThanOrEqualAll(Vector3, Vector3)

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

LessThanOrEqualAny(Vector3, Vector3)

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(Vector3)

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

Log2(Vector3)

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

Max(Vector3, Vector3)

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

MaxMagnitude(Vector3, Vector3)

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

MaxMagnitudeNumber(Vector3, Vector3)

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(Vector3, Vector3)

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(Vector3, Vector3)

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(Vector3, Vector3)

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

MinMagnitude(Vector3, Vector3)

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

MinMagnitudeNumber(Vector3, Vector3)

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(Vector3, Vector3)

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

MinNumber(Vector3, Vector3)

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, Vector3)

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

Multiply(Vector3, Single)

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

Multiply(Vector3, Vector3)

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

MultiplyAddEstimate(Vector3, Vector3, Vector3)

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

Negate(Vector3)

Neguje zadaný vektor.

None(Vector3, Single)

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

NoneWhereAllBitsSet(Vector3)

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

Normalize(Vector3)

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

OnesComplement(Vector3)

Vypočítá doplněk vektoru.

RadiansToDegrees(Vector3)

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

Reflect(Vector3, Vector3)

Vrátí odraz vektoru z povrchu, který má zadaný normální.

Round(Vector3, MidpointRounding)

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

Round(Vector3)

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

Shuffle(Vector3, Byte, Byte, Byte)

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

Sin(Vector3)

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

SinCos(Vector3)

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

SquareRoot(Vector3)

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

Subtract(Vector3, Vector3)

Odečte druhý vektor od prvního.

Sum(Vector3)

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(Vector3, Matrix4x4)

Transformuje vektor podle zadané matice 4x4.

Transform(Vector3, Quaternion)

Transformuje vektor podle zadané hodnoty otočení quaternionu.

TransformNormal(Vector3, Matrix4x4)

Transformuje vektor normální podle dané matice 4x4.

Truncate(Vector3)

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ň 3.

Xor(Vector3, Vector3)

Vypočítá exkluzivní nebo dva vektory.

Operátory

Name Description
Addition(Vector3, Vector3)

Sečte dva vektory dohromady.

BitwiseAnd(Vector3, Vector3)

Vypočítá bitové a dva vektory.

BitwiseOr(Vector3, Vector3)

Vypočítá bitové nebo dva vektory.

Division(Vector3, Single)

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

Division(Vector3, Vector3)

Vydělí první vektor druhou.

Equality(Vector3, Vector3)

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

ExclusiveOr(Vector3, Vector3)

Vypočítá exkluzivní nebo dva vektory.

Inequality(Vector3, Vector3)

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

LeftShift(Vector3, Int32)

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

Multiply(Single, Vector3)

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

Multiply(Vector3, Single)

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

Multiply(Vector3, Vector3)

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

OnesComplement(Vector3)

Vypočítá doplněk vektoru.

RightShift(Vector3, Int32)

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

Subtraction(Vector3, Vector3)

Odečte druhý vektor od prvního.

UnaryNegation(Vector3)

Neguje zadaný vektor.

UnaryPlus(Vector3)

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

UnsignedRightShift(Vector3, Int32)

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

Metody rozšíření

Name Description
AsVector128(Vector3)

Reinterpretuje Vector3 jako nový Vector128<T>.

AsVector128Unsafe(Vector3)

Reinterpretuje Vector3 jako nový Vector128<T>, ponechá nové prvky nedefinované.

AsVector2(Vector3)

Reinterpretuje Vector3 jako nový Vector2.

AsVector4(Vector3)

Převede na Vector3 nový Vector4 s nulovanými novými prvky.

AsVector4Unsafe(Vector3)

Převede na Vector3 nový s novými Vector4 prvky, které nejsou definovány.

ExtractMostSignificantBits(Vector3)

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

GetElement(Vector3, Int32)

Získá prvek v zadaném indexu.

Store(Vector3, Single*)

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

StoreAligned(Vector3, Single*)

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

StoreAlignedNonTemporal(Vector3, Single*)

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

StoreUnsafe(Vector3, Single, UIntPtr)

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

StoreUnsafe(Vector3, Single)

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

ToScalar(Vector3)

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

WithElement(Vector3, 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