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
Реализации

Комментарии

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

В матричных преобразованиях экземпляры Vector2, Vector3 и Vector4 отображаются в виде строк: вектор v преобразуется матрицей M с помощью умножения vM.

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

Vector3(ReadOnlySpan<Single>)

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

Vector3(Single)

Создает новый объект Vector3 с тремя элементами, имеющими одинаковое значение.

Vector3(Single, Single, Single)

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

Vector3(Vector2, Single)

Создает новый Vector3 объект из указанного Vector2 объекта и указанного значения.

Поля

X

Координата X вектора.

Y

Координата Y вектора.

Z

Координата Z вектора.

Свойства

Item[Int32]

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

One

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

UnitX

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

UnitY

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

UnitZ

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

Zero

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

Методы

Abs(Vector3)

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

Add(Vector3, Vector3)

Складывает два вектора.

Clamp(Vector3, Vector3, Vector3)

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

CopyTo(Single[])

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

CopyTo(Single[], Int32)

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

CopyTo(Span<Single>)

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

Cross(Vector3, Vector3)

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

Distance(Vector3, Vector3)

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

DistanceSquared(Vector3, Vector3)

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

Divide(Vector3, Single)

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

Divide(Vector3, Vector3)

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

Dot(Vector3, Vector3)

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

Equals(Object)

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

Equals(Vector3)

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

GetHashCode()

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

Length()

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

LengthSquared()

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

Lerp(Vector3, Vector3, Single)

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

Max(Vector3, Vector3)

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

Min(Vector3, Vector3)

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

Multiply(Single, Vector3)

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

Multiply(Vector3, Single)

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

Multiply(Vector3, Vector3)

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

Negate(Vector3)

Преобразует заданный вектор в отрицательный.

Normalize(Vector3)

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

Reflect(Vector3, Vector3)

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

SquareRoot(Vector3)

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

Subtract(Vector3, Vector3)

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

ToString()

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

ToString(String)

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

ToString(String, IFormatProvider)

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

Transform(Vector3, Matrix4x4)

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

Transform(Vector3, Quaternion)

Преобразует вектор посредством заданного значения поворота кватерниона.

TransformNormal(Vector3, Matrix4x4)

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

TryCopyTo(Span<Single>)

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

Операторы

Addition(Vector3, Vector3)

Складывает два вектора.

Division(Vector3, Single)

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

Division(Vector3, Vector3)

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

Equality(Vector3, Vector3)

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

Inequality(Vector3, Vector3)

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

Multiply(Single, Vector3)

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

Multiply(Vector3, Single)

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

Multiply(Vector3, Vector3)

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

Subtraction(Vector3, Vector3)

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

UnaryNegation(Vector3)

Преобразует заданный вектор в отрицательный.

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

AsVector128(Vector3)

Переинтерпретирует Vector3 как новый Vector128<T>.

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