Vector3

StockSharp.Xaml.Charting.Rendering.HighQualityRasterizer.Agg.VectorMath

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

Реализует: IEquatable<Vector3>

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

Vector3
public Vector3(double x, double y, double z)
vector3 = Vector3(x, y, z)

Построен новый Vector3.

x
Компонент x Vector3.
y
Компонент y вектора 3.
z
Компонент z Vector3.
Vector3
public Vector3(Vector2 v, double z)
vector3 = Vector3(v, z)

Создает новый экземпляр из данного Vector2d.

v
Vector2d для копирования компонентов.
z
Vector3
public Vector3(Vector3 v)
vector3 = Vector3(v)

Создает новый экземпляр из данного Vector3d.

v
Vector3d для копирования компонентов.
Vector3
public Vector3(Vector4 v)
vector3 = Vector3(v)

Создает новый экземпляр из данного Vector4d.

v
Vector4d для копирования компонентов.

Свойства

Length
public double Length { get; }
value = vector3.Length

Получает длину (величину) вектора.

LengthFast
public double LengthFast { get; }
value = vector3.LengthFast

Получает приближение длины вектора (величины).

LengthSquared
public double LengthSquared { get; }
value = vector3.LengthSquared

Получает квадрат длины вектора (величины).

Xy
public Vector2 Xy { get; set; }
value = vector3.Xy
vector3.Xy = value

Получает или устанавливает OpenTK.Vector2d с компонентами X и Y этого экземпляра.

Методы

Add
public static void Add(Vector3 a, Vector3 b, Vector3 result)
Vector3.Add(a, b, result)

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

a
Левый операнд.
b
Правый операнд.
result
Результат операции.
Add
public static Vector3 Add(Vector3 a, Vector3 b)
result = Vector3.Add(a, b)

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

a
Левый операнд.
b
Правый операнд.

Возвращает: Результат операции.

BaryCentric
public static void BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v, Vector3 result)
Vector3.BaryCentric(a, b, c, u, v, result)

Интерполируйте 3 вектора, используя барицентрические координаты

a
Первый входной вектор.
b
Второй входной вектор.
c
Третий входной вектор.
u
Первая Барицентрическая Координата.
v
Вторая Барицентрическая Координата.
result
Выход вектора. a когда u=v=0, b когда u=1,v=0, c когда u=0,v=1 и линейная комбинация a,b,c в противном случае
BaryCentric
public static Vector3 BaryCentric(Vector3 a, Vector3 b, Vector3 c, double u, double v)
result = Vector3.BaryCentric(a, b, c, u, v)

Интерполируйте 3 вектора, используя барицентрические координаты

a
Первый входной вектор
b
Второй входной вектор
c
Третий входной вектор
u
Первая барицентрическая координата
v
Вторая барицентрическая координата

Возвращает: a когда u=v=0, b когда u=1,v=0, c когда u=0,v=1 и линейная комбинация a,b,c иначе

CalculateAngle
public static void CalculateAngle(Vector3 first, Vector3 second, double result)
Vector3.CalculateAngle(first, second, result)

Рассчитывается угол (в радианах) между двумя векторами.

first
Первый вектор.
second
Второй вектор.
result
Угол (в радианах) между векторами.
CalculateAngle
public static double CalculateAngle(Vector3 first, Vector3 second)
result = Vector3.CalculateAngle(first, second)

Рассчитывается угол (в радианах) между двумя векторами.

first
Первый вектор.
second
Второй вектор.

Возвращает: Угол (в радианах) между векторами.

Clamp
public static void Clamp(Vector3 vec, Vector3 min, Vector3 max, Vector3 result)
Vector3.Clamp(vec, min, max, result)

Закрепить вектор на заданные минимальные и максимальные векторы

vec
Входящий вектор
min
Минимальный вектор
max
Максимальный вектор
result
Зажатый вектор
Clamp
public static Vector3 Clamp(Vector3 vec, Vector3 min, Vector3 max)
result = Vector3.Clamp(vec, min, max)

Закрепить вектор на заданные минимальные и максимальные векторы

vec
Входящий вектор
min
Минимальный вектор
max
Максимальный вектор

Возвращает: Зажатый вектор

ComponentMax
public static Vector3 ComponentMax(Vector3 a, Vector3 b)
result = Vector3.ComponentMax(a, b)

Вычислите компонентный максимум из двух векторов

a
Первый операнд
b
Второй операнд

Возвращает: Компонентно-мудрый максимум

ComponentMax
public static void ComponentMax(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMax(a, b, result)

Вычислите компонентный максимум из двух векторов

a
Первый операнд
b
Второй операнд
result
Компонентно-мудрый максимум
ComponentMin
public static Vector3 ComponentMin(Vector3 a, Vector3 b)
result = Vector3.ComponentMin(a, b)

Вычислить компонентный минимум из двух векторов

a
Первый операнд
b
Второй операнд

Возвращает: Компонентный минимум

ComponentMin
public static void ComponentMin(Vector3 a, Vector3 b, Vector3 result)
Vector3.ComponentMin(a, b, result)

Вычислить компонентный минимум из двух векторов

a
Первый операнд
b
Второй операнд
result
Компонентный минимум
Cross
public static void Cross(Vector3 left, Vector3 right, Vector3 result)
Vector3.Cross(left, right, result)

Вычислить крест (вектор) из двух векторов

left
Первый операнд
right
Второй операнд
result
Крестовое произведение двух входов

Возвращает: Крестовое произведение двух входов

Cross
public static Vector3 Cross(Vector3 left, Vector3 right)
result = Vector3.Cross(left, right)

Вычислить крест (вектор) из двух векторов

left
Первый операнд
right
Второй операнд

Возвращает: Крестовое произведение двух входов

Divide
public static Vector3 Divide(Vector3 vector, Vector3 scale)
result = Vector3.Divide(vector, scale)

Разделяет вектор на компоненты вектора (шкалы).

vector
Левый операнд.
scale
Правый операнд.

Возвращает: Результат операции.

Divide
public static void Divide(Vector3 vector, double scale, Vector3 result)
Vector3.Divide(vector, scale, result)

Разделяет вектор на скаляр.

vector
Левый операнд.
scale
Правый операнд.
result
Результат операции.
Divide
public static Vector3 Divide(Vector3 vector, double scale)
result = Vector3.Divide(vector, scale)

Разделяет вектор на скаляр.

vector
Левый операнд.
scale
Правый операнд.

Возвращает: Результат операции.

Divide
public static void Divide(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Divide(vector, scale, result)

Разделите вектор на компоненты вектора (шкалы).

vector
Левый операнд.
scale
Правый операнд.
result
Результат операции.
Dot
public static void Dot(Vector3 left, Vector3 right, double result)
Vector3.Dot(left, right, result)

Вычислите точечный (скалярный) продукт двух векторов

left
Первый операнд
right
Второй операнд
result
Точечный продукт двух входов
Dot
public static double Dot(Vector3 left, Vector3 right)
result = Vector3.Dot(left, right)

Вычислите точечный (скалярный) продукт двух векторов

left
Первый операнд
right
Второй операнд

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

Equals
public bool Equals(Vector3 OtherVector, double ErrorValue)
result = vector3.Equals(OtherVector, ErrorValue)

Указывает, равны ли данный экземпляр и заданный объект в пределах диапазона ошибок.

OtherVector
ErrorValue

Возвращает: Истинно, если примеры равны; ложно иное.

Equals
public bool Equals(Vector3 other)
result = vector3.Equals(other)

Указывает, равен ли текущий вектор другому вектору.

other
Вектор для сравнения с этим вектором.

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

Equals
public override bool Equals(object obj)
result = vector3.Equals(obj)

Указывает, равны ли данный экземпляр и заданный объект.

obj
Объект для сравнения.

Возвращает: Истинно, если примеры равны; ложно иное.

GetHashCode
public override int GetHashCode()
result = vector3.GetHashCode()

Возвращает хеш-код для этого случая.

Возвращает: A System.Int32, содержащий уникальный хеш-код для этого случая.

GetNormal
public Vector3 GetNormal()
result = vector3.GetNormal()

Возвращает нормализованный вектор этого.

Lerp
public static Vector3 Lerp(Vector3 a, Vector3 b, double blend)
result = Vector3.Lerp(a, b, blend)

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

a
Первый входной вектор
b
Второй входной вектор
blend
Смешанный фактор. a когда смесь = 0, b когда смесь = 1.

Возвращает: a когда смесь = 0, b когда смесь = 1 и линейная комбинация иначе

Lerp
public static void Lerp(Vector3 a, Vector3 b, double blend, Vector3 result)
Vector3.Lerp(a, b, blend, result)

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

a
Первый входной вектор
b
Второй входной вектор
blend
Смешанный фактор. a когда смесь = 0, b когда смесь = 1.
result
a когда смесь = 0, b когда смесь = 1 и линейная комбинация иначе
Max
public static Vector3 Max(Vector3 left, Vector3 right)
result = Vector3.Max(left, right)

Возвращает Vector3d с минимальной величиной

left
Левый операнд
right
Правый операнд

Возвращает: Минимальный вектор3

Min
public static Vector3 Min(Vector3 left, Vector3 right)
result = Vector3.Min(left, right)

Возвращает Vector3d с минимальной величиной

left
Левый операнд
right
Правый операнд

Возвращает: Минимальный вектор3

Multiply
public static Vector3 Multiply(Vector3 vector, double scale)
result = Vector3.Multiply(vector, scale)

Умножает вектор на скаляр.

vector
Левый операнд.
scale
Правый операнд.

Возвращает: Результат операции.

Multiply
public static void Multiply(Vector3 vector, double scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

Умножает вектор на скаляр.

vector
Левый операнд.
scale
Правый операнд.
result
Результат операции.
Multiply
public static Vector3 Multiply(Vector3 vector, Vector3 scale)
result = Vector3.Multiply(vector, scale)

Умножает вектор на компоненты вектора (масштаб).

vector
Левый операнд.
scale
Правый операнд.

Возвращает: Результат операции.

Multiply
public static void Multiply(Vector3 vector, Vector3 scale, Vector3 result)
Vector3.Multiply(vector, scale, result)

Умножает вектор на компоненты вектора (шкалы).

vector
Левый операнд.
scale
Правый операнд.
result
Результат операции.
Normalize
public void Normalize()
vector3.Normalize()

Весит Vector3d до единицы длины.

Normalize
public static void Normalize(Vector3 vec, Vector3 result)
Vector3.Normalize(vec, result)

Шкала вектора до длины единицы

vec
Входящий вектор
result
Нормализованный вектор
Normalize
public static Vector3 Normalize(Vector3 vec)
result = Vector3.Normalize(vec)

Шкала вектора до длины единицы

vec
Входящий вектор

Возвращает: Нормализованный вектор

NormalizeFast
public static void NormalizeFast(Vector3 vec, Vector3 result)
Vector3.NormalizeFast(vec, result)

Масштабировать вектор приблизительно до единицы длины

vec
Входящий вектор
result
Нормализованный вектор
NormalizeFast
public static Vector3 NormalizeFast(Vector3 vec)
result = Vector3.NormalizeFast(vec)

Масштабировать вектор приблизительно до единицы длины

vec
Входящий вектор

Возвращает: Нормализованный вектор

NormalizeFast
public void NormalizeFast()
vector3.NormalizeFast()

Весит Vector3d примерно до единицы длины.

op_Addition
public static Vector3 op_Addition(Vector3 left, Vector3 right)
result = Vector3.op_Addition(left, right)

Добавляет два экземпляра.

left
Первый случай.
right
Второй случай.

Возвращает: Результат расчета.

op_Division
public static Vector3 op_Division(double numerator, Vector3 vec)
result = Vector3.op_Division(numerator, vec)

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

numerator
vec

Возвращает: Результат расчета.

op_Division
public static Vector3 op_Division(Vector3 vec, double scale)
result = Vector3.op_Division(vec, scale)

Разделяет экземпляр на скаляр.

vec
Экземпляр.
scale
Скаляр.

Возвращает: Результат расчета.

op_Equality
public static bool op_Equality(Vector3 left, Vector3 right)
result = Vector3.op_Equality(left, right)

Сравните два примера равенства.

left
Первый случай.
right
Второй случай.

Возвращает: Верно, если левое равно правому; ложно иначе.

op_Inequality
public static bool op_Inequality(Vector3 left, Vector3 right)
result = Vector3.op_Inequality(left, right)

Сравните два примера неравенства.

left
Первый случай.
right
Второй случай.

Возвращает: Истинно, если левое не равно правому; ложно иначе.

op_Multiply
public static Vector3 op_Multiply(double scale, Vector3 vec)
result = Vector3.op_Multiply(scale, vec)

Умножает экземпляр на скаляр.

scale
Скаляр.
vec
Экземпляр.

Возвращает: Результат расчета.

op_Multiply
public static Vector3 op_Multiply(Vector3 vec, double scale)
result = Vector3.op_Multiply(vec, scale)

Умножает экземпляр на скаляр.

vec
Экземпляр.
scale
Скаляр.

Возвращает: Результат расчета.

op_Multiply
public static Vector3 op_Multiply(Vector3 vecA, Vector3 vecB)
result = Vector3.op_Multiply(vecA, vecB)

Компонент мудро умножает два вектора вместе, x*x, y*y, z*z.

vecA
vecB
op_Subtraction
public static Vector3 op_Subtraction(Vector3 left, Vector3 right)
result = Vector3.op_Subtraction(left, right)

Вычтите два примера.

left
Первый случай.
right
Второй случай.

Возвращает: Результат расчета.

op_UnaryNegation
public static Vector3 op_UnaryNegation(Vector3 vec)
result = Vector3.op_UnaryNegation(vec)

Отрицает случай.

vec
Экземпляр.

Возвращает: Результат расчета.

Subtract
public static Vector3 Subtract(Vector3 a, Vector3 b)
result = Vector3.Subtract(a, b)

Вычтите один вектор из другого

a
Первый операнд
b
Второй операнд

Возвращает: Результат вычитания

Subtract
public static void Subtract(Vector3 a, Vector3 b, Vector3 result)
Vector3.Subtract(a, b, result)

Вычтите один вектор из другого

a
Первый операнд
b
Второй операнд
result
Результат вычитания
ToString
public override string ToString()
result = vector3.ToString()

Возвращает System.String, который представляет текущий Vector3.

Transform
public static void Transform(Vector3[] vecArray, Quaternion rotationQuaternion)
Vector3.Transform(vecArray, rotationQuaternion)

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

vecArray
rotationQuaternion
Transform
public static void Transform(Vector3 vec, Quaternion quat, Vector3 result)
Vector3.Transform(vec, quat, result)

Преобразует вектор с помощью вращения кватерниона.

vec
Вектор для трансформации.
quat
Кватернион для вращения вектора.
result
Результат операции.
Transform
public static void Transform(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.Transform(vec, mat, result)

Преобразовать вектор по данной матрице

vec
Вектор для преобразования
mat
Желаемая трансформация
result
Трансформированный вектор
Transform
public static Vector3 Transform(Vector3 vec, Quaternion quat)
result = Vector3.Transform(vec, quat)

Преобразует вектор с помощью вращения кватерниона.

vec
Вектор для трансформации.
quat
Кватернион для вращения вектора.

Возвращает: Результат операции.

Transform
public static void Transform(Vector3[] vecArray, Matrix4X4 mat)
Vector3.Transform(vecArray, mat)

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

Transform
public static Vector3 Transform(Vector3 vec, Matrix4X4 mat)
result = Vector3.Transform(vec, mat)

Преобразовать вектор по данной матрице

vec
Вектор для преобразования
mat
Желаемая трансформация

Возвращает: Трансформированный вектор

TransformNormal
public static void TransformNormal(Vector3 norm, Matrix4X4 mat, Vector3 result)
Vector3.TransformNormal(norm, mat, result)

Преобразование нормального по данной матрице

norm
Нормальный для трансформации
mat
Желаемая трансформация
result
Преобразованная норма
TransformNormal
public static Vector3 TransformNormal(Vector3 norm, Matrix4X4 mat)
result = Vector3.TransformNormal(norm, mat)

Преобразование нормального по данной матрице

norm
Нормальный для трансформации
mat
Желаемая трансформация

Возвращает: Преобразованная норма

TransformNormalInverse
public static void TransformNormalInverse(Vector3 norm, Matrix4X4 invMat, Vector3 result)
Vector3.TransformNormalInverse(norm, invMat, result)

Преобразование нормального посредством (переноса) данной матрицы

norm
Нормальный для трансформации
invMat
Обратная сторона желаемой трансформации
result
Преобразованная норма
TransformNormalInverse
public static Vector3 TransformNormalInverse(Vector3 norm, Matrix4X4 invMat)
result = Vector3.TransformNormalInverse(norm, invMat)

Преобразование нормального посредством (переноса) данной матрицы

norm
Нормальный для трансформации
invMat
Обратная сторона желаемой трансформации

Возвращает: Преобразованная норма

TransformPerspective
public static Vector3 TransformPerspective(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformPerspective(vec, mat)

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

vec
Вектор для преобразования
mat
Желаемая трансформация

Возвращает: Трансформированный вектор

TransformPerspective
public static void TransformPerspective(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformPerspective(vec, mat, result)

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

vec
Вектор для преобразования
mat
Желаемая трансформация
result
Трансформированный вектор
TransformPosition
public static void TransformPosition(Vector3 pos, Matrix4X4 mat, Vector3 result)
Vector3.TransformPosition(pos, mat, result)

Преобразование позиции по данной матрице

pos
Позиция для преобразования
mat
Желаемая трансформация
result
Преобразованная позиция
TransformPosition
public static Vector3 TransformPosition(Vector3 pos, Matrix4X4 mat)
result = Vector3.TransformPosition(pos, mat)

Преобразование позиции по данной матрице

pos
Позиция для преобразования
mat
Желаемая трансформация

Возвращает: Преобразованная позиция

TransformVector
public static void TransformVector(Vector3 vec, Matrix4X4 mat, Vector3 result)
Vector3.TransformVector(vec, mat, result)

Преобразование вектора направления по заданной матрице Предполагает, что матрица имеет нижнюю строку (0,0,0,1), то есть часть перевода игнорируется.

vec
Вектор для преобразования
mat
Желаемая трансформация
result
Трансформированный вектор
TransformVector
public static Vector3 TransformVector(Vector3 vec, Matrix4X4 mat)
result = Vector3.TransformVector(vec, mat)

Преобразование вектора направления по заданной матрице Предполагает, что матрица имеет нижнюю строку (0,0,0,1), то есть часть перевода игнорируется.

vec
Вектор для преобразования
mat
Желаемая трансформация

Возвращает: Трансформированный вектор

Поля

NegativeInfinity
public static readonly Vector3 NegativeInfinity
value = Vector3.NegativeInfinity

Определяет экземпляр, в котором для всех компонентов установлено значение отрицательной бесконечности.

One
public static readonly Vector3 One
value = Vector3.One

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

PositiveInfinity
public static readonly Vector3 PositiveInfinity
value = Vector3.PositiveInfinity

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

SizeInBytes
public static readonly int SizeInBytes
value = Vector3.SizeInBytes

Определяет размер структуры Vector3d в байтах.

UnitX
public static readonly Vector3 UnitX
value = Vector3.UnitX

Определяет Vector3d единичной длины, указывающий на ось X.

UnitY
public static readonly Vector3 UnitY
value = Vector3.UnitY

Определяет Vector3d единичной длины, указывающий на ось Y.

UnitZ
public static readonly Vector3 UnitZ
value = Vector3.UnitZ

/// Определяет Vector3d единичной длины, указывающий на ось Z.

x
public double x
value = vector3.x

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

y
public double y
value = vector3.y

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

z
public double z
value = vector3.z

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

Zero
public static readonly Vector3 Zero
value = Vector3.Zero

Определяет Vector3 нулевой длины.