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: Комбинированный коэффициент отражения