=encoding UTF-8 =head1 НАИМЕНОВАНИЕ BH_Vec3f - трёхмерный вещественный вектор =head1 СИНТАКСИС #include cc prog.c -o prog -lbh =head1 ОПИСАНИЕ Модуль BH_Vec3f предоставляет набор функций для работы с трёхмерными векторами. Функции позволяют выполнять арифметические операции, вычислять скалярные и векторные произведения, нормализовать векторы, а также выполнять другие операции над векторами. =head1 API ВЫЗОВЫ =head2 BH_Vec3fAdd void BH_Vec3fAdd(const float a[3], const float b[3], float out[3]); Вычисляет сумму двух векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fSub void BH_Vec3fSub(const float a[3], const float b[3], float out[3]); Вычисляет разность двух векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fMul void BH_Vec3fMul(const float a[3], const float b[3], float out[3]); Вычисляет результат перемножения двух векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fScale void BH_Vec3fScale(const float a[3], float b, float out[3]); Вычисляет результат умножения вектора I на значение I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fMulAdd void BH_Vec3fMulAdd(const float a[3], const float b[3], const float c[3], float out[3]); Вычисляет результат суммы I и результата перемножения векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fNegate void BH_Vec3fNegate(const float in[3], float out[3]); Вычисляет противоположный вектор от вектора I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fDot float BH_Vec3fDot(const float a[3], const float b[3]); Вычисляет скалярное произведение векторов I и I. =head2 BH_Vec3fCross void BH_Vec3fCross(const float a[3], const float b[3], float out[3]); Вычисляет векторное произведение векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fLength float BH_Vec3fLength(const float in[3]); Вычисляет длину вектора I. =head2 BH_Vec3fNormal void BH_Vec3fNormal(const float in[3], float out[3]); Вычисляет нормализованную форму вектора I. =head2 BH_Vec3fNormalEx float BH_Vec3fNormalEx(const float in[3], float out[3]); Вычисляет нормализованную форму вектора I и возвращает его исходную длину. Параметр I описывает результирующий вектор. =head2 BH_Vec3fMin void BH_Vec3fMin(const float a[3], const float b[3], float out[3]); Вычисляет поэлементный минимум двух векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fMax void BH_Vec3fMax(const float a[3], const float b[3], float out[3]); Вычисляет поэлементный максимум двух векторов I и I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fLerp void BH_Vec3fLerp(const float a[3], const float b[3], float t, float out[3]); Выполняет линейную интерполяцию между двумя векторами I и I с параметром I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fProject void BH_Vec3fProject(const float a[3], const float b[3], float out[3]); Вычисляет результат проекции вектора I на вектор I. Параметр I описывает результирующий вектор. =head2 BH_Vec3fBarycentric void BH_Vec3fBarycentric(const float a[3], const float b[3], const float c[3], float v, float w, float out[3]); Вычисляет вектор из барицентрических координат I, I и векторов точек I, I, I. Вычисление происходит по формуле A + v*(B-A) + w*(C-A). Параметр I описывает результирующий вектор. =head1 СМ. ТАКЖЕ L