Vector2 Структура
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет вектор с двумя значениями с плавающей запятой с одной точностью.
public value class Vector2 : IEquatable<System::Numerics::Vector2>, IFormattable
public struct Vector2 : IEquatable<System.Numerics.Vector2>, IFormattable
type Vector2 = struct
interface IFormattable
Public Structure Vector2
Implements IEquatable(Of Vector2), IFormattable
- Наследование
- Реализации
Комментарии
Структура Vector2 обеспечивает поддержку аппаратного ускорения.
Для преобразований матрицы экземпляры Vector2Vector3и Vector4 экземпляры представлены в виде строк: вектор v преобразуется матрицей M с умножением vM.
Конструкторы
| Имя | Описание |
|---|---|
| Vector2(ReadOnlySpan<Single>) |
Создает вектор из заданного.ReadOnlySpan<T> Диапазон должен содержать не менее двух элементов. |
| Vector2(Single, Single) |
Создает вектор, элементы которого имеют указанные значения. |
| Vector2(Single) |
Создает новый Vector2 объект, два элемента которого имеют одно и то же значение. |
Поля
| Имя | Описание |
|---|---|
| X |
Компонент X вектора. |
| Y |
Компонент Y вектора. |
Свойства
| Имя | Описание |
|---|---|
| AllBitsSet |
Получает вектор, в котором заданы |
| E |
Получает вектор, элементы которого равны E. |
| Epsilon |
Получает вектор, элементы которого равны Epsilon. |
| Item[Int32] |
Возвращает или задает элемент по указанному индексу. |
| NaN |
Получает вектор, элементы которого равны NaN. |
| NegativeInfinity |
Получает вектор, элементы которого равны NegativeInfinity. |
| NegativeZero |
Получает вектор, элементы которого равны NegativeZero. |
| One |
Получает вектор, 2 элемента которого равны одному. |
| Pi |
Получает вектор, элементы которого равны Pi. |
| PositiveInfinity |
Получает вектор, элементы которого равны PositiveInfinity. |
| Tau |
Получает вектор, элементы которого равны Tau. |
| UnitX |
Получает вектор (1,0). |
| UnitY |
Получает вектор (0,1). |
| Zero |
Возвращает вектор, 2 элемента которого равны нулю. |
Методы
| Имя | Описание |
|---|---|
| Abs(Vector2) |
Возвращает вектор, элементы которого являются абсолютными значениями каждого из элементов указанного вектора. |
| Add(Vector2, Vector2) |
Добавляет два вектора вместе. |
| All(Vector2, Single) |
Определяет, равны ли все элементы вектора заданному значению. |
| AllWhereAllBitsSet(Vector2) |
Определяет, имеют ли все элементы вектора все их биты. |
| AndNot(Vector2, Vector2) |
Вычисляет побитовое и заданное векторное и дополнение другого вектора. |
| Any(Vector2, Single) |
Определяет, равны ли какие-либо элементы вектора заданному значению. |
| AnyWhereAllBitsSet(Vector2) |
Определяет, имеют ли какие-либо элементы вектора все их биты. |
| BitwiseAnd(Vector2, Vector2) |
Вычисляет битовую и двух векторов. |
| BitwiseOr(Vector2, Vector2) |
Вычисляет побитовое или два вектора. |
| Clamp(Vector2, Vector2, Vector2) |
Ограничивает вектор между минимальным и максимальным значением. |
| ClampNative(Vector2, Vector2, Vector2) |
Ограничивает вектор между минимальным и максимальным значением, используя конкретное поведение платформы для |
| ConditionalSelect(Vector2, Vector2, Vector2) |
Условно выбирает значение из двух векторов побитовой основе. |
| CopySign(Vector2, Vector2) |
Копирует знак вектора для каждого элемента в знак другого вектора. |
| CopyTo(Single[], Int32) |
Копирует элементы вектора в указанный массив, начиная с указанной позиции индекса. |
| CopyTo(Single[]) |
Копирует элементы вектора в указанный массив. |
| CopyTo(Span<Single>) |
Копирует вектор в заданный Span<T>. Длина целевого диапазона должна быть не менее 2. |
| Cos(Vector2) |
Вычисляет косинус каждого элемента в векторе. |
| Count(Vector2, Single) |
Определяет количество элементов в векторе, равное заданному значению. |
| CountWhereAllBitsSet(Vector2) |
Определяет количество элементов в векторе с набором всех битов. |
| Create(ReadOnlySpan<Single>) |
Создает вектор из заданного.ReadOnlySpan<T> Диапазон должен содержать не менее 2 элементов. |
| Create(Single, Single) |
Создает вектор, элементы которого имеют указанные значения. |
| Create(Single) |
Создает новый Vector2 объект, два элемента которого имеют одно и то же значение. |
| CreateScalar(Single) |
Создает вектор с X инициализацией указанного значения и остальные элементы, инициализированные до нуля. |
| CreateScalarUnsafe(Single) |
Создает вектор с X инициализацией указанного значения и остальные элементы, оставшиеся неинициализированные. |
| Cross(Vector2, Vector2) |
Возвращает z-значение кросс-продукта двух векторов. Так как Vector2 находится в плоскости x-y, трехмерный кросс-продукт производит только z-значение. |
| DegreesToRadians(Vector2) |
Преобразует заданный вектор из градусов в радианы. |
| Distance(Vector2, Vector2) |
Вычисляет расстояние Евклиида между двумя заданными точками. |
| DistanceSquared(Vector2, Vector2) |
Возвращает расстояние евклиида, квадратное между двумя указанными точками. |
| Divide(Vector2, Single) |
Делит указанный вектор на указанное скалярное значение. |
| Divide(Vector2, Vector2) |
Делит первый вектор на второй. |
| Dot(Vector2, Vector2) |
Возвращает точечный продукт двух векторов. |
| Equals(Object) |
Возвращает значение, указывающее, равны ли этот экземпляр и указанный объект. |
| Equals(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, равны ли они на основе каждого элемента. |
| Equals(Vector2) |
Возвращает значение, указывающее, равны ли этот экземпляр и другой вектор. |
| EqualsAll(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, равны ли все элементы. |
| EqualsAny(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, равны ли какие-либо элементы. |
| Exp(Vector2) |
Вычисляет экспоненциал каждого элемента в векторе. |
| FusedMultiplyAdd(Vector2, Vector2, Vector2) |
Вычисления ( |
| GetHashCode() |
Возвращает хэш-код для этого экземпляра. |
| GreaterThan(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, что больше на основе каждого элемента. |
| GreaterThanAll(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, больше ли все элементы. |
| GreaterThanAny(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, являются ли элементы более большими. |
| GreaterThanOrEqual(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, какое значение больше или равно на основе каждого элемента. |
| GreaterThanOrEqualAll(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, являются ли все элементы более большими или равными. |
| GreaterThanOrEqualAny(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, являются ли какие-либо элементы большими или равными. |
| Hypot(Vector2, Vector2) |
Вычисляет гипотенуз, заданный двумя векторами, представляющим длину более коротких сторон в правом углу треугольника. |
| IndexOf(Vector2, Single) |
Определяет индекс первого элемента в векторе, равном заданному значению. |
| IndexOfWhereAllBitsSet(Vector2) |
Определяет индекс первого элемента в векторе с набором всех битов. |
| IsEvenInteger(Vector2) |
Определяет, какие элементы в вектора являются даже целочисленными значениями. |
| IsFinite(Vector2) |
Определяет, какие элементы в векторе являются конечными. |
| IsInfinity(Vector2) |
Определяет, какие элементы в векторе являются бесконечностью. |
| IsInteger(Vector2) |
Определяет, какие элементы в вектора являются целочисленными значениями. |
| IsNaN(Vector2) |
Определяет, какие элементы в вектора являются NaN. |
| IsNegative(Vector2) |
Определяет, какие элементы в векторе представляют отрицательные реальные числа. |
| IsNegativeInfinity(Vector2) |
Определяет, какие элементы в вектора являются отрицательными бесконечностью. |
| IsNormal(Vector2) |
Определяет, какие элементы в вектора являются нормальными. |
| IsOddInteger(Vector2) |
Определяет, какие элементы в векторе являются нечетными целочисленными значениями. |
| IsPositive(Vector2) |
Определяет, какие элементы в векторе представляют положительные реальные числа. |
| IsPositiveInfinity(Vector2) |
Определяет, какие элементы в вектора являются положительными бесконечностью. |
| IsSubnormal(Vector2) |
Определяет, какие элементы в вектора являются ненормальными. |
| IsZero(Vector2) |
Определяет, какие элементы в векторе равны нулю. |
| LastIndexOf(Vector2, Single) |
Определяет индекс последнего элемента в векторе, равном заданному значению. |
| LastIndexOfWhereAllBitsSet(Vector2) |
Определяет индекс последнего элемента в векторе с набором всех битов. |
| Length() |
Возвращает длину вектора. |
| LengthSquared() |
Возвращает длину квадрата вектора. |
| Lerp(Vector2, Vector2, Single) |
Выполняет линейную интерполяцию между двумя векторами на основе заданного весового значения. |
| Lerp(Vector2, Vector2, Vector2) |
Выполняет линейную интерполяцию между двумя векторами на основе заданного весового значения. |
| LessThan(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, что меньше на основе каждого элемента. |
| LessThanAll(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, меньше ли все элементы. |
| LessThanAny(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, меньше ли какие-либо элементы. |
| LessThanOrEqual(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, что меньше или равно на основе каждого элемента. |
| LessThanOrEqualAll(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, равны ли все элементы. |
| LessThanOrEqualAny(Vector2, Vector2) |
Сравнивает два вектора, чтобы определить, имеются ли элементы меньше или равны. |
| Load(Single*) |
Загружает вектор из заданного источника. |
| LoadAligned(Single*) |
Загружает вектор из заданного выровненного источника. |
| LoadAlignedNonTemporal(Single*) |
Загружает вектор из заданного выровненного источника. |
| LoadUnsafe(Single, UIntPtr) |
Загружает вектор из заданного источника и смещения элемента. |
| LoadUnsafe(Single) |
Загружает вектор из заданного источника. |
| Log(Vector2) |
Вычисляет журнал каждого элемента в векторе. |
| Log2(Vector2) |
Вычисляет журнал 2 каждого элемента в векторе. |
| Max(Vector2, Vector2) |
Возвращает вектор, элементы которого являются максимумом каждой пары элементов в двух указанных векторах. |
| MaxMagnitude(Vector2, Vector2) |
Сравнивает два вектора с вычислениями, которые имеют большую величину на основе каждого элемента. |
| MaxMagnitudeNumber(Vector2, Vector2) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет больше величины и возвращает другое значение, если входные данные имеют значение |
| MaxNative(Vector2, Vector2) |
Сравните два вектора, чтобы определить, что больше на основе каждого элемента, используя конкретное поведение платформы и |
| MaxNumber(Vector2, Vector2) |
Сравнивает два вектора на основе каждого элемента, чтобы вычислить, что больше и возвращает другое значение, если элемент имеет значение |
| Min(Vector2, Vector2) |
Возвращает вектор, элементы которого являются минимальными для каждой пары элементов в двух указанных векторах. |
| MinMagnitude(Vector2, Vector2) |
Сравнивает два вектора с вычислениями, которые имеют меньшее значение на основе каждого элемента. |
| MinMagnitudeNumber(Vector2, Vector2) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое имеет меньшее значение и возвращает другое значение, если входные данные имеют значение |
| MinNative(Vector2, Vector2) |
Сравните два вектора, чтобы определить, что меньше на основе каждого элемента, используя конкретное поведение платформы для |
| MinNumber(Vector2, Vector2) |
Сравнивает два вектора на основе каждого элемента с вычислением, которое меньше и возвращает другое значение, если элемент имеет значение |
| Multiply(Single, Vector2) |
Умножает скалярное значение на указанный вектор. |
| Multiply(Vector2, Single) |
Умножает вектор на указанный скаляр. |
| Multiply(Vector2, Vector2) |
Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах. |
| MultiplyAddEstimate(Vector2, Vector2, Vector2) |
Вычисляет оценку ( |
| Negate(Vector2) |
Отрицает указанный вектор. |
| None(Vector2, Single) |
Определяет, равны ли никакие элементы вектора заданному значению. |
| NoneWhereAllBitsSet(Vector2) |
Определяет, не имеют ли элементы вектора все их биты. |
| Normalize(Vector2) |
Возвращает вектор с тем же направлением, что и указанный вектор, но длиной одного. |
| OnesComplement(Vector2) |
Вычисляет те, которые дополняют вектор. |
| RadiansToDegrees(Vector2) |
Преобразует заданный вектор из радианов в градусы. |
| Reflect(Vector2, Vector2) |
Возвращает отражение вектора от поверхности, которая имеет указанный обычный. |
| Round(Vector2, MidpointRounding) |
Округляет каждый элемент в векторе до ближайшего целого числа с помощью указанного режима округления. |
| Round(Vector2) |
Округляет каждый элемент в векторе до ближайшего целого числа с помощью режима округления по умолчанию (ToEven). |
| Shuffle(Vector2, Byte, Byte) |
Создает новый вектор путем выбора значений из входного вектора с помощью набора индексов. |
| Sin(Vector2) |
Вычисляет синус каждого элемента в векторе. |
| SinCos(Vector2) |
Вычисляет синус и косинус каждого элемента в векторе. |
| SquareRoot(Vector2) |
Возвращает вектор, элементы которого являются квадратным корнем каждого из элементов указанного вектора. |
| Subtract(Vector2, Vector2) |
Вычитает второй вектор из первого. |
| Sum(Vector2) |
Вычисляет сумму всех элементов в векторе. |
| ToString() |
Возвращает строковое представление текущего экземпляра с помощью форматирования по умолчанию. |
| ToString(String, IFormatProvider) |
Возвращает строковое представление текущего экземпляра с помощью указанной строки формата для форматирования отдельных элементов и указанного поставщика формата для определения форматирования, зависяющего от языка и региональных параметров. |
| ToString(String) |
Возвращает строковое представление текущего экземпляра с помощью указанной строки формата для форматирования отдельных элементов. |
| Transform(Vector2, Matrix3x2) |
Преобразует вектор по заданной матрице 3x2. |
| Transform(Vector2, Matrix4x4) |
Преобразует вектор по заданной матрице 4x4. |
| Transform(Vector2, Quaternion) |
Преобразует вектор по указанному значению поворота Кватерниона. |
| TransformNormal(Vector2, Matrix3x2) |
Преобразует векторную норму в заданной матрице 3x2. |
| TransformNormal(Vector2, Matrix4x4) |
Преобразует векторную норму по заданной матрице 4x4. |
| Truncate(Vector2) |
Усечение каждого элемента в векторе. |
| TryCopyTo(Span<Single>) |
Пытается скопировать вектор в заданный Span<T>. Длина целевого диапазона должна быть не менее 2. |
| Xor(Vector2, Vector2) |
Вычисляет монопольные или два вектора. |
Операторы
| Имя | Описание |
|---|---|
| Addition(Vector2, Vector2) |
Добавляет два вектора вместе. |
| BitwiseAnd(Vector2, Vector2) |
Вычисляет битовую и двух векторов. |
| BitwiseOr(Vector2, Vector2) |
Вычисляет побитовое или два вектора. |
| Division(Vector2, Single) |
Делит указанный вектор на указанное скалярное значение. |
| Division(Vector2, Vector2) |
Делит первый вектор на второй. |
| Equality(Vector2, Vector2) |
Возвращает значение, указывающее, равна ли каждая пара элементов в двух указанных векторах. |
| ExclusiveOr(Vector2, Vector2) |
Вычисляет монопольные или два вектора. |
| Inequality(Vector2, Vector2) |
Возвращает значение, указывающее, равны ли два указанных вектора. |
| LeftShift(Vector2, Int32) |
Сдвигает каждый элемент вектора влево на указанный объем. |
| Multiply(Single, Vector2) |
Несколько скалярных значений по указанному вектору. |
| Multiply(Vector2, Single) |
Несколько указанных векторов по указанному скалярным значению. |
| Multiply(Vector2, Vector2) |
Возвращает новый вектор, значения которого являются продуктом каждой пары элементов в двух указанных векторах. |
| OnesComplement(Vector2) |
Вычисляет те, которые дополняют вектор. |
| RightShift(Vector2, Int32) |
Сдвигает (подписанный) каждый элемент вектора вправо по указанному количеству. |
| Subtraction(Vector2, Vector2) |
Вычитает второй вектор из первого. |
| UnaryNegation(Vector2) |
Отрицает указанный вектор. |
| UnaryPlus(Vector2) |
Возвращает заданный вектор без изменений. |
| UnsignedRightShift(Vector2, Int32) |
Сдвиги (без знака) каждого элемента вектора вправо по указанному количеству. |
Методы расширения
| Имя | Описание |
|---|---|
| AsVector128(Vector2) |
Переинтерпретирует новый Vector2Vector128<T>. |
| AsVector128Unsafe(Vector2) |
Переинтерпретирует ее |
| AsVector3(Vector2) |
Переинтерпретирует Vector2 новое Vector3 с новыми элементами, ноль. |
| AsVector3Unsafe(Vector2) |
Переинтерпретирует Vector2 новую Vector3 версию с новыми элементами, которые не определены. |
| AsVector4(Vector2) |
Переинтерпретирует Vector2 новое Vector4 с новыми элементами, ноль. |
| AsVector4Unsafe(Vector2) |
Переинтерпретирует Vector2 новую Vector4 версию с новыми элементами, которые не определены. |
| ExtractMostSignificantBits(Vector2) |
Извлекает самый значительный бит из каждого элемента в векторе. |
| GetElement(Vector2, Int32) |
Возвращает элемент по указанному индексу. |
| Store(Vector2, Single*) |
Сохраняет вектор в заданном месте назначения. |
| StoreAligned(Vector2, Single*) |
Сохраняет вектор в заданном 8-байтовом месте назначения. |
| StoreAlignedNonTemporal(Vector2, Single*) |
Сохраняет вектор в заданном 8-байтовом месте назначения. |
| StoreUnsafe(Vector2, Single, UIntPtr) |
Сохраняет вектор в заданном месте назначения. |
| StoreUnsafe(Vector2, Single) |
Сохраняет вектор в заданном месте назначения. |
| ToPoint(Vector2) |
Представляет вектор с двумя значениями с плавающей запятой с одной точностью. |
| ToScalar(Vector2) |
Преобразует заданный вектор в скаляр, содержащий значение первого элемента. |
| ToSize(Vector2) |
Представляет вектор с двумя значениями с плавающей запятой с одной точностью. |
| WithElement(Vector2, Int32, Single) |
Создает новый Vector128<T> элемент с заданным индексом, заданным заданным значением, а остальные элементы имеют то же значение, что и в заданном векторе. |