Vector4 Структура

Определение

Представляет вектор с четырьмя значениями с плавающей запятой с одной точностью.

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
Наследование
Vector4
Реализации

Комментарии

Структура Vector4 обеспечивает поддержку аппаратного ускорения.

Для преобразований матрицы экземпляры Vector2Vector3и Vector4 экземпляры представлены в виде строк: вектор v преобразуется матрицей M с умножением vM.

Конструкторы

Имя Описание
Vector4(ReadOnlySpan<Single>)

Создает вектор из заданного.ReadOnlySpan<T> Диапазон должен содержать не менее 4 элементов.

Vector4(Single, Single, Single, Single)

Создает вектор, элементы которого имеют указанные значения.

Vector4(Single)

Создает новый Vector4 объект, четыре элемента которого имеют одно и то же значение.

Vector4(Vector2, Single, Single)

Создает новый Vector4 объект из указанного Vector2 объекта и компонента Z и W.

Vector4(Vector3, Single)

Создает новый Vector4 объект из указанного Vector3 объекта и компонента W.

Поля

Имя Описание
W

Компонент W вектора.

X

Компонент X вектора.

Y

Компонент Y вектора.

Z

Компонент Z вектора.

Свойства

Имя Описание
AllBitsSet

Получает вектор, в котором заданы 1все биты.

E

Получает вектор, элементы которого равны E.

Epsilon

Получает вектор, элементы которого равны Epsilon.

Item[Int32]

Возвращает или задает элемент по указанному индексу.

NaN

Получает вектор, элементы которого равны NaN.

NegativeInfinity

Получает вектор, элементы которого равны NegativeInfinity.

NegativeZero

Получает вектор, элементы которого равны NegativeZero.

One

Получает вектор, 4 элемента которого равны одному.

Pi

Получает вектор, элементы которого равны Pi.

PositiveInfinity

Получает вектор, элементы которого равны PositiveInfinity.

Tau

Получает вектор, элементы которого равны Tau.

UnitW

Получает вектор (0,0,0,1).

UnitX

Получает вектор (1,0,0,0).

UnitY

Получает вектор (0,1,0,0).

UnitZ

Получает вектор (0,0,1,0).

Zero

Получает вектор, 4 элемента которого равны нулю.

Методы

Имя Описание
Abs(Vector4)

Возвращает вектор, элементы которого являются абсолютными значениями каждого из элементов указанного вектора.

Add(Vector4, Vector4)

Добавляет два вектора вместе.

All(Vector4, Single)

Определяет, равны ли все элементы вектора заданному значению.

AllWhereAllBitsSet(Vector4)

Определяет, имеют ли все элементы вектора все их биты.

AndNot(Vector4, Vector4)

Вычисляет побитовое и заданное векторное и дополнение другого вектора.

Any(Vector4, Single)

Определяет, равны ли какие-либо элементы вектора заданному значению.

AnyWhereAllBitsSet(Vector4)

Определяет, имеют ли какие-либо элементы вектора все их биты.

BitwiseAnd(Vector4, Vector4)

Вычисляет битовую и двух векторов.

BitwiseOr(Vector4, Vector4)

Вычисляет побитовое или два вектора.

Clamp(Vector4, Vector4, Vector4)

Ограничивает вектор между минимальным и максимальным значением.

ClampNative(Vector4, Vector4, Vector4)

Ограничивает вектор между минимальным и максимальным значением, используя конкретное поведение платформы для NaN и NegativeZero..

ConditionalSelect(Vector4, Vector4, Vector4)

Условно выбирает значение из двух векторов побитовой основе.

CopySign(Vector4, Vector4)

Копирует знак вектора для каждого элемента в знак другого вектора.

CopyTo(Single[], Int32)

Копирует элементы вектора в указанный массив, начиная с указанной позиции индекса.

CopyTo(Single[])

Копирует элементы вектора в указанный массив.

CopyTo(Span<Single>)

Копирует вектор в заданный Span<T>. Длина целевого диапазона должна быть не менее 4.

Cos(Vector4)

Вычисляет косинус каждого элемента в векторе.

Count(Vector4, Single)

Определяет количество элементов в векторе, равное заданному значению.

CountWhereAllBitsSet(Vector4)

Определяет количество элементов в векторе с набором всех битов.

Create(ReadOnlySpan<Single>)

Создает вектор из заданного.ReadOnlySpan<T> Диапазон должен содержать не менее 4 элементов.

Create(Single, Single, Single, Single)

Создает вектор, элементы которого имеют указанные значения.

Create(Single)

Создает новый Vector4 объект, четыре элемента которого имеют одно и то же значение.

Create(Vector2, Single, Single)

Создает новый Vector4 объект из указанного Vector2 объекта и компонента Z и W.

Create(Vector3, Single)

Создает новый Vector4 объект из указанного Vector3 объекта и компонента W.

CreateScalar(Single)

Создает вектор с X инициализацией указанного значения и остальные элементы, инициализированные до нуля.

CreateScalarUnsafe(Single)

Создает вектор с X инициализацией указанного значения и остальные элементы, оставшиеся неинициализированные.

Cross(Vector4, Vector4)

Вычисляет перекрестный продукт двух векторов. Для однородных координат продукт весов является новым весом для результирующего продукта.

DegreesToRadians(Vector4)

Преобразует заданный вектор из градусов в радианы.

Distance(Vector4, Vector4)

Вычисляет расстояние Евклиида между двумя заданными точками.

DistanceSquared(Vector4, Vector4)

Возвращает расстояние евклиида, квадратное между двумя указанными точками.

Divide(Vector4, Single)

Делит указанный вектор на указанное скалярное значение.

Divide(Vector4, Vector4)

Делит первый вектор на второй.

Dot(Vector4, Vector4)

Возвращает точечный продукт двух векторов.

Equals(Object)

Возвращает значение, указывающее, равны ли этот экземпляр и указанный объект.

Equals(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, равны ли они на основе каждого элемента.

Equals(Vector4)

Возвращает значение, указывающее, равны ли этот экземпляр и другой вектор.

EqualsAll(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, равны ли все элементы.

EqualsAny(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, равны ли какие-либо элементы.

Exp(Vector4)

Вычисляет экспоненциал каждого элемента в векторе.

FusedMultiplyAdd(Vector4, Vector4, Vector4)

Вычисления (left * right) + addendокруглены как одна тернарная операция.

GetHashCode()

Возвращает хэш-код для этого экземпляра.

GreaterThan(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, что больше на основе каждого элемента.

GreaterThanAll(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, больше ли все элементы.

GreaterThanAny(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, являются ли элементы более большими.

GreaterThanOrEqual(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, какое значение больше или равно на основе каждого элемента.

GreaterThanOrEqualAll(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, являются ли все элементы более большими или равными.

GreaterThanOrEqualAny(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, являются ли какие-либо элементы большими или равными.

Hypot(Vector4, Vector4)

Вычисляет гипотенуз, заданный двумя векторами, представляющим длину более коротких сторон в правом углу треугольника.

IndexOf(Vector4, Single)

Определяет индекс первого элемента в векторе, равном заданному значению.

IndexOfWhereAllBitsSet(Vector4)

Определяет индекс первого элемента в векторе с набором всех битов.

IsEvenInteger(Vector4)

Определяет, какие элементы в вектора являются даже целочисленными значениями.

IsFinite(Vector4)

Определяет, какие элементы в векторе являются конечными.

IsInfinity(Vector4)

Определяет, какие элементы в векторе являются бесконечностью.

IsInteger(Vector4)

Определяет, какие элементы в вектора являются целочисленными значениями.

IsNaN(Vector4)

Определяет, какие элементы в вектора являются NaN.

IsNegative(Vector4)

Определяет, какие элементы в векторе представляют отрицательные реальные числа.

IsNegativeInfinity(Vector4)

Определяет, какие элементы в вектора являются отрицательными бесконечностью.

IsNormal(Vector4)

Определяет, какие элементы в вектора являются нормальными.

IsOddInteger(Vector4)

Определяет, какие элементы в векторе являются нечетными целочисленными значениями.

IsPositive(Vector4)

Определяет, какие элементы в векторе представляют положительные реальные числа.

IsPositiveInfinity(Vector4)

Определяет, какие элементы в вектора являются положительными бесконечностью.

IsSubnormal(Vector4)

Определяет, какие элементы в вектора являются ненормальными.

IsZero(Vector4)

Определяет, какие элементы в векторе равны нулю.

LastIndexOf(Vector4, Single)

Определяет индекс последнего элемента в векторе, равном заданному значению.

LastIndexOfWhereAllBitsSet(Vector4)

Определяет индекс последнего элемента в векторе с набором всех битов.

Length()

Возвращает длину этого объекта вектора.

LengthSquared()

Возвращает длину квадрата вектора.

Lerp(Vector4, Vector4, Single)

Выполняет линейную интерполяцию между двумя векторами на основе заданного весового значения.

Lerp(Vector4, Vector4, Vector4)

Выполняет линейную интерполяцию между двумя векторами на основе заданного весового значения.

LessThan(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, что меньше на основе каждого элемента.

LessThanAll(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, меньше ли все элементы.

LessThanAny(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, меньше ли какие-либо элементы.

LessThanOrEqual(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, что меньше или равно на основе каждого элемента.

LessThanOrEqualAll(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, равны ли все элементы.

LessThanOrEqualAny(Vector4, Vector4)

Сравнивает два вектора, чтобы определить, имеются ли элементы меньше или равны.

Load(Single*)

Загружает вектор из заданного источника.

LoadAligned(Single*)

Загружает вектор из заданного выровненного источника.

LoadAlignedNonTemporal(Single*)

Загружает вектор из заданного выровненного источника.

LoadUnsafe(Single, UIntPtr)

Загружает вектор из заданного источника и смещения элемента.

LoadUnsafe(Single)

Загружает вектор из заданного источника.

Log(Vector4)

Вычисляет журнал каждого элемента в векторе.

Log2(Vector4)

Вычисляет журнал 2 каждого элемента в векторе.

Max(Vector4, Vector4)

Возвращает вектор, элементы которого являются максимумом каждой пары элементов в двух указанных векторах.

MaxMagnitude(Vector4, Vector4)

Сравнивает два вектора с вычислениями, которые имеют большую величину на основе каждого элемента.

MaxMagnitudeNumber(Vector4, Vector4)

Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет больше величины и возвращает другое значение, если входные данные имеют значение NaN.

MaxNative(Vector4, Vector4)

Сравните два вектора, чтобы определить, что больше на основе каждого элемента, используя конкретное поведение платформы и NaNNegativeZero.

MaxNumber(Vector4, Vector4)

Сравнивает два вектора на основе каждого элемента, чтобы вычислить, что больше и возвращает другое значение, если элемент имеет значение NaN.

Min(Vector4, Vector4)

Возвращает вектор, элементы которого являются минимальными для каждой пары элементов в двух указанных векторах.

MinMagnitude(Vector4, Vector4)

Сравнивает два вектора с вычислениями, которые имеют меньшее значение на основе каждого элемента.

MinMagnitudeNumber(Vector4, Vector4)

Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет меньшее значение и возвращает другое значение, если входные данные имеют значение NaN.

MinNative(Vector4, Vector4)

Сравните два вектора, чтобы определить, что меньше на основе каждого элемента, используя конкретное поведение платформы для NaN и NegativeZero.

MinNumber(Vector4, Vector4)

Сравнивает два вектора на основе каждого элемента с вычислением, которое меньше и возвращает другое значение, если элемент имеет значение NaN.

Multiply(Single, Vector4)

Умножает скалярное значение на указанный вектор.

Multiply(Vector4, Single)

Умножает вектор на указанный скаляр.

Multiply(Vector4, Vector4)

Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах.

MultiplyAddEstimate(Vector4, Vector4, Vector4)

Вычисляет оценку (left * right) + . addend

Negate(Vector4)

Отрицает указанный вектор.

None(Vector4, Single)

Определяет, равны ли никакие элементы вектора заданному значению.

NoneWhereAllBitsSet(Vector4)

Определяет, не имеют ли элементы вектора все их биты.

Normalize(Vector4)

Возвращает вектор с тем же направлением, что и указанный вектор, но длиной одного.

OnesComplement(Vector4)

Вычисляет те, которые дополняют вектор.

RadiansToDegrees(Vector4)

Преобразует заданный вектор из радианов в градусы.

Round(Vector4, MidpointRounding)

Округляет каждый элемент в векторе до ближайшего целого числа с помощью указанного режима округления.

Round(Vector4)

Округляет каждый элемент в векторе до ближайшего целого числа с помощью режима округления по умолчанию (ToEven).

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

Создает новый вектор путем выбора значений из входного вектора с помощью набора индексов.

Sin(Vector4)

Вычисляет синус каждого элемента в векторе.

SinCos(Vector4)

Вычисляет синус и косинус каждого элемента в векторе.

SquareRoot(Vector4)

Возвращает вектор, элементы которого являются квадратным корнем каждого из элементов указанного вектора.

Subtract(Vector4, Vector4)

Вычитает второй вектор из первого.

Sum(Vector4)

Вычисляет сумму всех элементов в векторе.

ToString()

Возвращает строковое представление текущего экземпляра с помощью форматирования по умолчанию.

ToString(String, IFormatProvider)

Возвращает строковое представление текущего экземпляра с помощью указанной строки формата для форматирования отдельных элементов и указанного поставщика формата для определения форматирования, зависяющего от языка и региональных параметров.

ToString(String)

Возвращает строковое представление текущего экземпляра с помощью указанной строки формата для форматирования отдельных элементов.

Transform(Vector2, Matrix4x4)

Преобразует двухмерный вектор на указанную матрицу 4x4.

Transform(Vector2, Quaternion)

Преобразует двухмерный вектор по указанному значению поворота кватерниона.

Transform(Vector3, Matrix4x4)

Преобразует трехмерный вектор на указанную матрицу 4x4.

Transform(Vector3, Quaternion)

Преобразует трехмерный вектор по указанному значению поворота кватерниона.

Transform(Vector4, Matrix4x4)

Преобразует четырехмерный вектор по заданной матрице 4x4.

Transform(Vector4, Quaternion)

Преобразует четырехмерный вектор по указанному значению поворота Кватерниона.

Truncate(Vector4)

Усечение каждого элемента в векторе.

TryCopyTo(Span<Single>)

Пытается скопировать вектор в заданный Span<T>. Длина целевого диапазона должна быть не менее 4.

Xor(Vector4, Vector4)

Вычисляет монопольные или два вектора.

Операторы

Имя Описание
Addition(Vector4, Vector4)

Добавляет два вектора вместе.

BitwiseAnd(Vector4, Vector4)

Вычисляет битовую и двух векторов.

BitwiseOr(Vector4, Vector4)

Вычисляет побитовое или два вектора.

Division(Vector4, Single)

Делит указанный вектор на указанное скалярное значение.

Division(Vector4, Vector4)

Делит первый вектор на второй.

Equality(Vector4, Vector4)

Возвращает значение, указывающее, равна ли каждая пара элементов в двух указанных векторах.

ExclusiveOr(Vector4, Vector4)

Вычисляет монопольные или два вектора.

Inequality(Vector4, Vector4)

Возвращает значение, указывающее, равны ли два указанных вектора.

LeftShift(Vector4, Int32)

Сдвигает каждый элемент вектора влево на указанный объем.

Multiply(Single, Vector4)

Несколько скалярных значений по указанному вектору.

Multiply(Vector4, Single)

Несколько указанных векторов по указанному скалярным значению.

Multiply(Vector4, Vector4)

Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах.

OnesComplement(Vector4)

Вычисляет те, которые дополняют вектор.

RightShift(Vector4, Int32)

Сдвигает (подписанный) каждый элемент вектора вправо по указанному количеству.

Subtraction(Vector4, Vector4)

Вычитает второй вектор из первого.

UnaryNegation(Vector4)

Отрицает указанный вектор.

UnaryPlus(Vector4)

Возвращает заданный вектор без изменений.

UnsignedRightShift(Vector4, Int32)

Сдвиги (без знака) каждого элемента вектора вправо по указанному количеству.

Методы расширения

Имя Описание
AsPlane(Vector4)

Переинтерпретирует новый Vector4Plane.

AsQuaternion(Vector4)

Переинтерпретирует новый Vector4Quaternion.

AsVector128(Vector4)

Переинтерпретирует новый Vector4Vector128<T>.

AsVector2(Vector4)

Переинтерпретирует новый Vector4Vector2.

AsVector3(Vector4)

Переинтерпретирует новый Vector4Vector3.

ExtractMostSignificantBits(Vector4)

Извлекает самый значительный бит из каждого элемента в векторе.

GetElement(Vector4, Int32)

Возвращает элемент по указанному индексу.

Store(Vector4, Single*)

Сохраняет вектор в заданном месте назначения.

StoreAligned(Vector4, Single*)

Сохраняет вектор в заданном 16-байтовом месте назначения.

StoreAlignedNonTemporal(Vector4, Single*)

Сохраняет вектор в заданном 16-байтовом месте назначения.

StoreUnsafe(Vector4, Single, UIntPtr)

Сохраняет вектор в заданном месте назначения.

StoreUnsafe(Vector4, Single)

Сохраняет вектор в заданном месте назначения.

ToScalar(Vector4)

Преобразует заданный вектор в скаляр, содержащий значение первого элемента.

WithElement(Vector4, Int32, Single)

Создает новый Vector128<T> элемент с заданным индексом, заданным заданным значением, а остальные элементы имеют то же значение, что и в заданном векторе.

Применяется к