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