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 обеспечивает поддержку аппаратного ускорения.
Для преобразований матрицы экземпляры 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 |
Получает вектор, в котором заданы |
| 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) |
Ограничивает вектор между минимальным и максимальным значением, используя конкретное поведение платформы для |
| 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) |
Вычисления ( |
| 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) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет больше величины и возвращает другое значение, если входные данные имеют значение |
| MaxNative(Vector4, Vector4) |
Сравните два вектора, чтобы определить, что больше на основе каждого элемента, используя конкретное поведение платформы и |
| MaxNumber(Vector4, Vector4) |
Сравнивает два вектора на основе каждого элемента, чтобы вычислить, что больше и возвращает другое значение, если элемент имеет значение |
| Min(Vector4, Vector4) |
Возвращает вектор, элементы которого являются минимальными для каждой пары элементов в двух указанных векторах. |
| MinMagnitude(Vector4, Vector4) |
Сравнивает два вектора с вычислениями, которые имеют меньшее значение на основе каждого элемента. |
| MinMagnitudeNumber(Vector4, Vector4) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет меньшее значение и возвращает другое значение, если входные данные имеют значение |
| MinNative(Vector4, Vector4) |
Сравните два вектора, чтобы определить, что меньше на основе каждого элемента, используя конкретное поведение платформы для |
| MinNumber(Vector4, Vector4) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое меньше и возвращает другое значение, если элемент имеет значение |
| Multiply(Single, Vector4) |
Умножает скалярное значение на указанный вектор. |
| Multiply(Vector4, Single) |
Умножает вектор на указанный скаляр. |
| Multiply(Vector4, Vector4) |
Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах. |
| MultiplyAddEstimate(Vector4, Vector4, Vector4) |
Вычисляет оценку ( |
| 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) | |
| AsQuaternion(Vector4) |
Переинтерпретирует новый Vector4Quaternion. |
| AsVector128(Vector4) |
Переинтерпретирует новый Vector4Vector128<T>. |
| AsVector2(Vector4) | |
| AsVector3(Vector4) | |
| 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> элемент с заданным индексом, заданным заданным значением, а остальные элементы имеют то же значение, что и в заданном векторе. |