MathUtils

public static Half Lerp(Half a, Half b, Half t)

Language: C#

Линейная интерполяция между a и b по t

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • t: Параметр интерполяции в диапазоне [0,1]

Returns: Интерполированное значение

public static float Lerp(float a, float b, float t)

Language: C#

Линейная интерполяция между a и b по t

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • t: Параметр интерполяции в диапазоне [0,1]

Returns: Интерполированное значение

public static double Lerp(double a, double b, double t)

Language: C#

Линейная интерполяция между a и b по t

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • t: Параметр интерполяции в диапазоне [0,1]

Returns: Интерполированное значение

public static Half InverseLerp(Half a, Half b, Half x)

Language: C#

Обратная линейная интерполяция: вычисляет t для значения x между a и b

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • x: Значение для вычисления параметра t

Returns: Параметр интерполяции t в диапазоне [0,1]

public static float InverseLerp(float a, float b, float x)

Language: C#

Обратная линейная интерполяция: вычисляет t для значения x между a и b

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • x: Значение для вычисления параметра t

Returns: Параметр интерполяции t в диапазоне [0,1]

public static double InverseLerp(double a, double b, double x)

Language: C#

Обратная линейная интерполяция: вычисляет t для значения x между a и b

Parameters:

  • a: Начальное значение
  • b: Конечное значение
  • x: Значение для вычисления параметра t

Returns: Параметр интерполяции t в диапазоне [0,1]

public static float Clamp(this float value, float min, float max)

Language: C#

Ограничивает значение между min и max

Parameters:

  • value: Значение для ограничения
  • min: Минимальное допустимое значение
  • max: Максимальное допустимое значение

Returns: Ограниченное значение

public static double Clamp(this double value, double min, double max)

Language: C#

Ограничивает значение между min и max

Parameters:

  • value: Значение для ограничения
  • min: Минимальное допустимое значение
  • max: Максимальное допустимое значение

Returns: Ограниченное значение

public static FVector2 Reflect(this FVector2 vector, FVector2 normal)

Language: C#

Отражает вектор относительно нормали

Parameters:

  • vector: Вектор для отражения
  • normal: Нормаль для отражения

Returns: Отражённый вектор

public static FVector3 Reflect(this FVector3 vector, FVector3 normal)

Language: C#

Отражает вектор относительно нормали

Parameters:

  • vector: Вектор для отражения
  • normal: Нормаль для отражения

Returns: Отражённый вектор

public static float[]? Intersection(FLine2 line, FVector2 size, FMatrix3x3 transform)

Language: C#

Вычисляет пересечение линии с осью выравненного ограничивающего прямоугольника

Parameters:

  • line: Линия для проверки пересечения
  • size: Размер ограничивающего прямоугольника
  • transform: Матрица трансформации

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FLine2 line, FBox2 aabb)

Language: C#

Вычисляет пересечение линии с осью выравненного ограничивающего прямоугольника

Parameters:

  • line: Линия для проверки пересечения
  • aabb: Ограничивающий прямоугольник

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FLine3 line, FBox3 aabb)

Language: C#

Вычисляет пересечение линии с осью выравненного ограничивающего параллелепипеда

Parameters:

  • line: Линия для проверки пересечения
  • aabb: Ограничивающий параллелепипед

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FLine3 line, FBox3 aabb, FMatrix4x4 transform)

Language: C#

Вычисляет пересечение линии с осью выравненного ограничивающего параллелепипеда с учётом трансформации

Parameters:

  • line: Линия для проверки пересечения
  • aabb: Ограничивающий параллелепипед
  • transform: Матрица трансформации

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FRay2 ray, FVector2 size, FMatrix3x3 transform)

Language: C#

Вычисляет пересечение луча с осью выравненного ограничивающего прямоугольника

Parameters:

  • ray: Луч для проверки пересечения
  • size: Размер ограничивающего прямоугольника
  • transform: Матрица трансформации

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FRay2 ray, FBox2 aabb)

Language: C#

Вычисляет пересечение луча с осью выравненного ограничивающего прямоугольника

Parameters:

  • ray: Луч для проверки пересечения
  • aabb: Ограничивающий прямоугольник

Returns: Массив параметров пересечения или null, если пересечений нет

public static float[]? Intersection(FRay3 ray, FBox3 aabb)

Language: C#

Вычисляет пересечение луча с осью выравненного ограничивающего параллелепипеда

Parameters:

  • ray: Луч для проверки пересечения
  • aabb: Ограничивающий параллелепипед

Returns: Массив параметров пересечения или null, если пересечений нет

public static FVector2? BoxCollision(FVector2 aSize, FMatrix3x3 aTransform, FVector2 bSize, FMatrix3x3 bTransform)

Language: C#

Вычисляет пересечение прямоугольных коробок с учётом трансформаций

Parameters:

  • aSize: Размер первой коробки
  • aTransform: Матрица трансформации первой коробки
  • bSize: Размер второй коробки
  • bTransform: Матрица трансформации второй коробки

Returns: Точка пересечения или null, если пересечений нет

public static FVector3? BoxCollision(FVector3 aSize, FMatrix4x4 aTransform, FVector3 bSize, FMatrix4x4 bTransform)

Language: C#

Вычисляет пересечение прямоугольных коробок с учётом трансформаций

Parameters:

  • aSize: Размер первой коробки
  • aTransform: Матрица трансформации первой коробки
  • bSize: Размер второй коробки
  • bTransform: Матрица трансформации второй коробки

Returns: Точка пересечения или null, если пересечений нет

public static float ReflectionCoefficientSPolarized(FVector3 dir, FVector3 refraction, FVector3 normal, float n1, float n2)

Language: C#

Вычисляет коэффициент отражения для s-поляризованного света

Parameters:

  • dir: Направление падающего света
  • refraction: Направление преломлённого света
  • normal: Нормаль к поверхности
  • n1: Показатель преломления первой среды
  • n2: Показатель преломления второй среды

Returns: Коэффициент отражения для s-поляризованного света

public static float ReflectionCoefficientPPolarized(FVector3 dir, FVector3 refraction, FVector3 normal, float n1, float n2)

Language: C#

Вычисляет коэффициент отражения для p-поляризованного света

Parameters:

  • dir: Направление падающего света
  • refraction: Направление преломлённого света
  • normal: Нормаль к поверхности
  • n1: Показатель преломления первой среды
  • n2: Показатель преломления второй среды

Returns: Коэффициент отражения для p-поляризованного света

public static float ReflectionCoefficientCombined(FVector3 dir, FVector3 refraction, FVector3 normal, float n1, float n2)

Language: C#

Вычисляет комбинированный коэффициент отражения для некотормой смеси s- и p-поляризованного света

Parameters:

  • dir: Направление падающего света
  • refraction: Направление преломлённого света
  • normal: Нормаль к поверхности
  • n1: Показатель преломления первой среды
  • n2: Показатель преломления второй среды

Returns: Комбинированный коэффициент отражения