Vector4
Представляет четырехмерный вектор с использованием четырех чисел двойной точности с плавающей запятой.
Реализует: IEquatable<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.
public Vector4(Vector2 v)
vector4 = Vector4(v)
Конструирует новый Vector4d из данного Vector2d.
- v
- Vector2d для копирования компонентов.
public Vector4(Vector3 v)
vector4 = Vector4(v)
Создает новый Vector4d из данного Vector3d.
- v
- Vector3d для копирования компонентов.
public Vector4(Vector3 v, double w)
vector4 = Vector4(v, w)
Конструирует новый Vector4d из указанного компонента Vector3d и w.
- v
- Vector3d для копирования компонентов.
- w
- Компонент w нового Vector4.
public Vector4(Vector4 v)
vector4 = Vector4(v)
Конструирует новый Vector4d из данного Vector4d.
- v
- Vector4d для копирования компонентов.
Свойства
public double LengthFast { get; }
value = vector4.LengthFast
Получает приближение длины вектора (величины).
public double LengthSquared { get; }
value = vector4.LengthSquared
Получает квадрат длины вектора (величины).
public Vector2 Xy { get; set; }
value = vector4.Xy
vector4.Xy = value
Получает или устанавливает OpenTK.Vector2d с компонентами X и Y этого экземпляра.
public Vector3 Xyz { get; set; }
value = vector4.Xyz
vector4.Xyz = value
Получает или устанавливает OpenTK.Vector3d с компонентами X, Y и Z этого экземпляра.
Методы
public static void Add(Vector4 a, Vector4 b, Vector4 result)
Vector4.Add(a, b, result)
Добавляет два вектора.
- a
- Левый операнд.
- b
- Правый операнд.
- result
- Результат операции.
public static Vector4 Add(Vector4 a, Vector4 b)
result = Vector4.Add(a, b)
Добавляет два вектора.
- a
- Левый операнд.
- b
- Правый операнд.
Возвращает: Результат операции.
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 в противном случае
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 иначе
public static void Clamp(Vector4 vec, Vector4 min, Vector4 max, Vector4 result)
Vector4.Clamp(vec, min, max, result)
Закрепить вектор на заданные минимальные и максимальные векторы
- vec
- Входящий вектор
- min
- Минимальный вектор
- max
- Максимальный вектор
- result
- Зажатый вектор
public static Vector4 Clamp(Vector4 vec, Vector4 min, Vector4 max)
result = Vector4.Clamp(vec, min, max)
Закрепить вектор на заданные минимальные и максимальные векторы
- vec
- Входящий вектор
- min
- Минимальный вектор
- max
- Максимальный вектор
Возвращает: Зажатый вектор
public static Vector4 Divide(Vector4 vector, double scale)
result = Vector4.Divide(vector, scale)
Разделяет вектор на скаляр.
- vector
- Левый операнд.
- scale
- Правый операнд.
Возвращает: Результат операции.
public static void Divide(Vector4 vector, double scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Разделяет вектор на скаляр.
- vector
- Левый операнд.
- scale
- Правый операнд.
- result
- Результат операции.
public static Vector4 Divide(Vector4 vector, Vector4 scale)
result = Vector4.Divide(vector, scale)
Разделяет вектор на компоненты вектора (шкалы).
- vector
- Левый операнд.
- scale
- Правый операнд.
Возвращает: Результат операции.
public static void Divide(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Divide(vector, scale, result)
Разделите вектор на компоненты вектора (шкалы).
- vector
- Левый операнд.
- scale
- Правый операнд.
- result
- Результат операции.
public static void Dot(Vector4 left, Vector4 right, double result)
Vector4.Dot(left, right, result)
Вычислите точечный продукт двух векторов
- left
- Первый операнд
- right
- Второй операнд
- result
- Точечный продукт двух входов
public static double Dot(Vector4 left, Vector4 right)
result = Vector4.Dot(left, right)
Вычислите точечный продукт двух векторов
- left
- Первый операнд
- right
- Второй операнд
Возвращает: Точечный продукт двух входов
public bool Equals(Vector4 other)
result = vector4.Equals(other)
Указывает, равен ли текущий вектор другому вектору.
- other
- Вектор для сравнения с этим вектором.
Возвращает: истинно, если текущий вектор равен векторному параметру; в противном случае ложно.
public override bool Equals(object obj)
result = vector4.Equals(obj)
Указывает, равны ли данный экземпляр и заданный объект.
- obj
- Объект для сравнения.
Возвращает: Истинно, если примеры равны; ложно иное.
public override int GetHashCode()
result = vector4.GetHashCode()
Возвращает хеш-код для этого случая.
Возвращает: A System.Int32, содержащий уникальный хеш-код для этого случая.
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 и линейная комбинация иначе
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 и линейная комбинация иначе
public static void Max(Vector4 a, Vector4 b, Vector4 result)
Vector4.Max(a, b, result)
Вычислите компонентный максимум из двух векторов
- a
- Первый операнд
- b
- Второй операнд
- result
- Компонентно-мудрый максимум
public static Vector4 Max(Vector4 a, Vector4 b)
result = Vector4.Max(a, b)
Вычислите компонентный максимум из двух векторов
- a
- Первый операнд
- b
- Второй операнд
Возвращает: Компонентно-мудрый максимум
public static Vector4 Min(Vector4 a, Vector4 b)
result = Vector4.Min(a, b)
Вычислить компонентный минимум из двух векторов
- a
- Первый операнд
- b
- Второй операнд
Возвращает: Компонентный минимум
public static void Min(Vector4 a, Vector4 b, Vector4 result)
Vector4.Min(a, b, result)
Вычислить компонентный минимум из двух векторов
- a
- Первый операнд
- b
- Второй операнд
- result
- Компонентный минимум
public static Vector4 Multiply(Vector4 vector, double scale)
result = Vector4.Multiply(vector, scale)
Умножает вектор на скаляр.
- vector
- Левый операнд.
- scale
- Правый операнд.
Возвращает: Результат операции.
public static void Multiply(Vector4 vector, double scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Умножает вектор на скаляр.
- vector
- Левый операнд.
- scale
- Правый операнд.
- result
- Результат операции.
public static Vector4 Multiply(Vector4 vector, Vector4 scale)
result = Vector4.Multiply(vector, scale)
Умножает вектор на компоненты вектора (масштаб).
- vector
- Левый операнд.
- scale
- Правый операнд.
Возвращает: Результат операции.
public static void Multiply(Vector4 vector, Vector4 scale, Vector4 result)
Vector4.Multiply(vector, scale, result)
Умножает вектор на компоненты вектора (шкалы).
- vector
- Левый операнд.
- scale
- Правый операнд.
- result
- Результат операции.
public static Vector4 Normalize(Vector4 vec)
result = Vector4.Normalize(vec)
Шкала вектора до длины единицы
- vec
- Входящий вектор
Возвращает: Нормализованный вектор
public static void Normalize(Vector4 vec, Vector4 result)
Vector4.Normalize(vec, result)
Шкала вектора до длины единицы
- vec
- Входящий вектор
- result
- Нормализованный вектор
public void NormalizeFast()
vector4.NormalizeFast()
Весит Vector4d примерно до единицы длины.
public static void NormalizeFast(Vector4 vec, Vector4 result)
Vector4.NormalizeFast(vec, result)
Масштабировать вектор приблизительно до единицы длины
- vec
- Входящий вектор
- result
- Нормализованный вектор
public static Vector4 NormalizeFast(Vector4 vec)
result = Vector4.NormalizeFast(vec)
Масштабировать вектор приблизительно до единицы длины
- vec
- Входящий вектор
Возвращает: Нормализованный вектор
public static Vector4 op_Addition(Vector4 left, Vector4 right)
result = Vector4.op_Addition(left, right)
Добавляет два экземпляра.
- left
- Первый случай.
- right
- Второй случай.
Возвращает: Результат расчета.
public static Vector4 op_Division(Vector4 vec, double scale)
result = Vector4.op_Division(vec, scale)
Разделяет экземпляр на скаляр.
- vec
- Экземпляр.
- scale
- Скаляр.
Возвращает: Результат расчета.
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.
public static bool op_Inequality(Vector4 left, Vector4 right)
result = Vector4.op_Inequality(left, right)
Сравните два примера неравенства.
- left
- Первый случай.
- right
- Второй случай.
Возвращает: Истинно, если левое не равно правому; ложно иначе.
public static Vector4 op_Multiply(double scale, Vector4 vec)
result = Vector4.op_Multiply(scale, vec)
Умножает экземпляр на скаляр.
- scale
- Скаляр.
- vec
- Экземпляр.
Возвращает: Результат расчета.
public static Vector4 op_Multiply(Vector4 vec, double scale)
result = Vector4.op_Multiply(vec, scale)
Умножает экземпляр на скаляр.
- vec
- Экземпляр.
- scale
- Скаляр.
Возвращает: Результат расчета.
public static Vector4 op_Subtraction(Vector4 left, Vector4 right)
result = Vector4.op_Subtraction(left, right)
Вычтите два примера.
- left
- Первый случай.
- right
- Второй случай.
Возвращает: Результат расчета.
public static Vector4 op_UnaryNegation(Vector4 vec)
result = Vector4.op_UnaryNegation(vec)
Отрицает случай.
- vec
- Экземпляр.
Возвращает: Результат расчета.
public static Vector4 Subtract(Vector4 a, Vector4 b)
result = Vector4.Subtract(a, b)
Вычтите один вектор из другого
- a
- Первый операнд
- b
- Второй операнд
Возвращает: Результат вычитания
public static void Subtract(Vector4 a, Vector4 b, Vector4 result)
Vector4.Subtract(a, b, result)
Вычтите один вектор из другого
- a
- Первый операнд
- b
- Второй операнд
- result
- Результат вычитания
public string ToString(string format)
result = vector4.ToString(format)
Возвращает System.String, который представляет текущий Vector4d, форматируя каждый элемент с форматом.
- format
public override string ToString()
result = vector4.ToString()
Возвращает System.String, который представляет текущий Vector4d.
public static Vector4 Transform(Vector4 vec, Matrix4X4 mat)
result = Vector4.Transform(vec, mat)
Преобразовать вектор по данной матрице
- vec
- Вектор для преобразования
- mat
- Желаемая трансформация
Возвращает: Трансформированный вектор
public static void Transform(Vector4 vec, Matrix4X4 mat, Vector4 result)
Vector4.Transform(vec, mat, result)
Преобразовать вектор по данной матрице
- vec
- Вектор для преобразования
- mat
- Желаемая трансформация
- result
- Трансформированный вектор
public static Vector4 Transform(Vector4 vec, Quaternion quat)
result = Vector4.Transform(vec, quat)
Преобразует вектор с помощью вращения кватерниона.
- vec
- Вектор для трансформации.
- quat
- Кватернион для вращения вектора.
Возвращает: Результат операции.
public static void Transform(Vector4 vec, Quaternion quat, Vector4 result)
Vector4.Transform(vec, quat, result)
Преобразует вектор с помощью вращения кватерниона.
- vec
- Вектор для трансформации.
- quat
- Кватернион для вращения вектора.
- result
- Результат операции.
Поля
public static readonly Vector4 One
value = Vector4.One
Определяет экземпляр, для всех компонентов которого установлено значение 1.
public static readonly int SizeInBytes
value = Vector4.SizeInBytes
Определяет размер структуры Vector4d в байтах.
public static Vector4 UnitW
value = Vector4.UnitW
Определяет Vector4d единичной длины, указывающий на ось W.
public static Vector4 UnitX
value = Vector4.UnitX
Определяет Vector4d единичной длины, указывающий на ось X.
public static Vector4 UnitY
value = Vector4.UnitY
Определяет Vector4d единичной длины, указывающий на ось Y.
public static Vector4 UnitZ
value = Vector4.UnitZ
Определяет Vector4d единичной длины, указывающий на ось Z.