Операции оптимизации (shorten), получения альтернативного (alternate), получение матриц поворота, сдвигов и аффинных преобразовний из позиции твёрдого тела (rigid pose), представленной дуальным кватернионом

This commit is contained in:
Andrey Pokidov 2026-03-21 22:03:43 +07:00
parent 4ead7ca106
commit 84be068503
6 changed files with 163 additions and 34 deletions

View file

@ -396,7 +396,7 @@ inline void bgc_fp64_quaternion_multiply_by_dual_quaternion(BGC_FP64_DualQuatern
// ============== Divide By Number ============== //
inline int bgc_fp32_quaternion_divide_by_real(BGC_FP32_Quaternion* quotient, const BGC_FP32_Quaternion* dividend, const float divisor)
inline int bgc_fp32_quaternion_divide_by_real_number(BGC_FP32_Quaternion* quotient, const BGC_FP32_Quaternion* dividend, const float divisor)
{
if (bgc_fp32_is_zero(divisor) || isnan(divisor)) {
return BGC_FAILURE;
@ -407,7 +407,7 @@ inline int bgc_fp32_quaternion_divide_by_real(BGC_FP32_Quaternion* quotient, con
return BGC_SUCCESS;
}
inline int bgc_fp64_quaternion_divide_by_real(BGC_FP64_Quaternion* quotient, const BGC_FP64_Quaternion* dividend, const double divisor)
inline int bgc_fp64_quaternion_divide_by_real_number(BGC_FP64_Quaternion* quotient, const BGC_FP64_Quaternion* dividend, const double divisor)
{
if (bgc_fp64_is_zero(divisor) || isnan(divisor)) {
return BGC_FAILURE;