Добавлено умножение дуальных кватернионов с прочими сущностями
This commit is contained in:
parent
b621191698
commit
a8a22cdcc1
4 changed files with 105 additions and 10 deletions
|
|
@ -330,6 +330,34 @@ inline void bgc_fp64_quaternion_multiply_by_conjugate(BGC_FP64_Quaternion* produ
|
|||
product->x3 = x3;
|
||||
}
|
||||
|
||||
// ========== Multiply By Dual Number =========== //
|
||||
|
||||
inline void bgc_fp32_quaternion_multiply_by_dual_number(BGC_FP32_DualQuaternion* product, const BGC_FP32_Quaternion* multiplicand, const BGC_FP32_DualNumber* multiplier)
|
||||
{
|
||||
bgc_fp32_quaternion_multiply_by_real(&product->real_part, multiplicand, multiplier->real_part);
|
||||
bgc_fp32_quaternion_multiply_by_real(&product->dual_part, multiplicand, multiplier->dual_part);
|
||||
}
|
||||
|
||||
inline void bgc_fp64_quaternion_multiply_by_dual_number(BGC_FP64_DualQuaternion* product, const BGC_FP64_Quaternion* multiplicand, const BGC_FP64_DualNumber* multiplier)
|
||||
{
|
||||
bgc_fp64_quaternion_multiply_by_real(&product->real_part, multiplicand, multiplier->real_part);
|
||||
bgc_fp64_quaternion_multiply_by_real(&product->dual_part, multiplicand, multiplier->dual_part);
|
||||
}
|
||||
|
||||
// ======== Multiply By Dual Quaternion ========= //
|
||||
|
||||
inline void bgc_fp32_quaternion_multiply_by_dual_quaternion(BGC_FP32_DualQuaternion* product, const BGC_FP32_Quaternion* left, const BGC_FP32_DualQuaternion* right)
|
||||
{
|
||||
bgc_fp32_quaternion_multiply_by_quaternion(&product->real_part, left, &right->real_part);
|
||||
bgc_fp32_quaternion_multiply_by_quaternion(&product->dual_part, left, &right->dual_part);
|
||||
}
|
||||
|
||||
inline void bgc_fp64_quaternion_multiply_by_dual_quaternion(BGC_FP64_DualQuaternion* product, const BGC_FP64_Quaternion* left, const BGC_FP64_DualQuaternion* right)
|
||||
{
|
||||
bgc_fp64_quaternion_multiply_by_quaternion(&product->real_part, left, &right->real_part);
|
||||
bgc_fp64_quaternion_multiply_by_quaternion(&product->dual_part, left, &right->dual_part);
|
||||
}
|
||||
|
||||
// ============== Divide By Number ============== //
|
||||
|
||||
inline int bgc_fp32_quaternion_divide_by_real(BGC_FP32_Quaternion* quotient, const BGC_FP32_Quaternion* dividend, const float divisor)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue