Vector4

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

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

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

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

Vector4
public Vector4(double x, double y, double z, double w)
vector4 = Vector4(x, y, z, w)

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

x
Компонент x Vector4d.
y
Компонент y вектора 4d.
z
z-компонент Vector4d.
w
Компонент w Vector4d.
Vector4
public Vector4(Vector2 v)
vector4 = Vector4(v)

Конструирует новый Vector4d из данного Vector2d.

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

Создает новый Vector4d из данного Vector3d.

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

Конструирует новый Vector4d из указанного компонента Vector3d и w.

v
Vector3d для копирования компонентов.
w
Компонент w нового Vector4.
Vector4
public Vector4(Vector4 v)
vector4 = Vector4(v)

Конструирует новый Vector4d из данного Vector4d.

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

Свойства

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

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

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

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

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

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

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

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

Xyz
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value

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

Методы

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

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

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

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

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

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

BaryCentric
public static void BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v, Vector4 result)
Vector4.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 Vector4 BaryCentric(Vector4 a, Vector4 b, Vector4 c, double u, double v)
result = Vector4.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 иначе

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

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

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

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

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

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

Divide
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Equals
public bool Equals(Vector4 other)
result = vector4.Equals(other)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Min
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)

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

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

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

Min
public static void Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(a, b, result)

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

a
Первый операнд
b
Второй операнд
result
Компонентный минимум
Multiply
public static Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.Multiply(vector, scale)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Normalize
public void Normalize()
vector4.Normalize()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

op_Explicit(Double*) : IntPtr

Возвращает указатель на первый элемент указанного экземпляра.

v
Экземпляр.

Возвращает: Указатель на первый элемент v.

op_Explicit(IntPtr) : IntPtr

Возвращает указатель на первый элемент указанного экземпляра.

v
Экземпляр.

Возвращает: Указатель на первый элемент v.

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

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

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

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

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

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

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

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

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

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

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

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

op_Subtraction
public static Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)

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

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

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

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

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

vec
Экземпляр.

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

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

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

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

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

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

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

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

Возвращает System.String, который представляет текущий Vector4d, форматируя каждый элемент с форматом.

format
ToString
public override string ToString()
result = vector4.ToString()

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

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

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

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

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

Transform
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)

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

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

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

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

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

Transform
public static void Transform(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.Transform(vec, quat, result)

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

vec
Вектор для трансформации.
quat
Кватернион для вращения вектора.
result
Результат операции.

Поля

One
public static readonly Vector4 One
value = Vector4.One

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

SizeInBytes
public static readonly int SizeInBytes
value = Vector4.SizeInBytes

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

UnitW
public static Vector4 UnitW
value = Vector4.UnitW

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

UnitX
public static Vector4 UnitX
value = Vector4.UnitX

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

UnitY
public static Vector4 UnitY
value = Vector4.UnitY

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

UnitZ
public static Vector4 UnitZ
value = Vector4.UnitZ

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

w
public double w
value = vector4.w

Компонент W Vector4d.

x
public double x
value = vector4.x

X-компонент Vector4d.

y
public double y
value = vector4.y

Компонент Y Vector4d.

z
public double z
value = vector4.z

Компонент Z Vector4d.

Zero
public static Vector4 Zero
value = Vector4.Zero

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