Переименование s0 -> s, x1 -> x, x2 -> y, x3 -> z, что должно упростить читаемость кода. Также обновление документации

This commit is contained in:
Andrey Pokidov 2026-03-29 22:06:01 +07:00
parent d83ab7160d
commit b8d383da33
38 changed files with 2104 additions and 2070 deletions

View file

@ -23,7 +23,7 @@ extern inline void bgc_fp64_slerp3_get_phase_both_matrices(BGC_FP64_Matrix3x3* c
void bgc_fp32_slerp3_make(BGC_FP32_Slerp3* const slerp, const BGC_FP32_Turn3* const start, const BGC_FP32_Turn3* const augment)
{
const float square_vector = augment->_versor.x1 * augment->_versor.x1 + augment->_versor.x2 * augment->_versor.x2 + augment->_versor.x3 * augment->_versor.x3;
const float square_vector = augment->_versor.x * augment->_versor.x + augment->_versor.y * augment->_versor.y + augment->_versor.z * augment->_versor.z;
if (isnan(square_vector)) {
bgc_fp32_slerp3_reset(slerp);
@ -31,15 +31,15 @@ void bgc_fp32_slerp3_make(BGC_FP32_Slerp3* const slerp, const BGC_FP32_Turn3* co
}
if (square_vector <= BGC_FP32_SQUARE_EPSILON) {
slerp->_cosine_weight.s0 = start->_versor.s0;
slerp->_cosine_weight.x1 = start->_versor.x1;
slerp->_cosine_weight.x2 = start->_versor.x2;
slerp->_cosine_weight.x3 = start->_versor.x3;
slerp->_cosine_weight.s = start->_versor.s;
slerp->_cosine_weight.x = start->_versor.x;
slerp->_cosine_weight.y = start->_versor.y;
slerp->_cosine_weight.z = start->_versor.z;
slerp->_sine_weight.s0 = 0.0f;
slerp->_sine_weight.x1 = 0.0f;
slerp->_sine_weight.x2 = 0.0f;
slerp->_sine_weight.x3 = 0.0f;
slerp->_sine_weight.s = 0.0f;
slerp->_sine_weight.x = 0.0f;
slerp->_sine_weight.y = 0.0f;
slerp->_sine_weight.z = 0.0f;
slerp->radians = 0.0f;
return;
@ -47,24 +47,24 @@ void bgc_fp32_slerp3_make(BGC_FP32_Slerp3* const slerp, const BGC_FP32_Turn3* co
const float vector_modulus = sqrtf(square_vector);
slerp->radians = atan2f(vector_modulus, augment->_versor.s0);
slerp->radians = atan2f(vector_modulus, augment->_versor.s);
const float multiplier = 1.0f / vector_modulus;
slerp->_cosine_weight.s0 = start->_versor.s0;
slerp->_cosine_weight.x1 = start->_versor.x1;
slerp->_cosine_weight.x2 = start->_versor.x2;
slerp->_cosine_weight.x3 = start->_versor.x3;
slerp->_cosine_weight.s = start->_versor.s;
slerp->_cosine_weight.x = start->_versor.x;
slerp->_cosine_weight.y = start->_versor.y;
slerp->_cosine_weight.z = start->_versor.z;
slerp->_sine_weight.s0 = -multiplier * (augment->_versor.x1 * start->_versor.x1 + augment->_versor.x2 * start->_versor.x2 + augment->_versor.x3 * start->_versor.x3);
slerp->_sine_weight.x1 = multiplier * (augment->_versor.x1 * start->_versor.s0 + augment->_versor.x2 * start->_versor.x3 - augment->_versor.x3 * start->_versor.x2);
slerp->_sine_weight.x2 = multiplier * (augment->_versor.x2 * start->_versor.s0 - augment->_versor.x1 * start->_versor.x3 + augment->_versor.x3 * start->_versor.x1);
slerp->_sine_weight.x3 = multiplier * (augment->_versor.x3 * start->_versor.s0 - augment->_versor.x2 * start->_versor.x1 + augment->_versor.x1 * start->_versor.x2);
slerp->_sine_weight.s = -multiplier * (augment->_versor.x * start->_versor.x + augment->_versor.y * start->_versor.y + augment->_versor.z * start->_versor.z);
slerp->_sine_weight.x = multiplier * (augment->_versor.x * start->_versor.s + augment->_versor.y * start->_versor.z - augment->_versor.z * start->_versor.y);
slerp->_sine_weight.y = multiplier * (augment->_versor.y * start->_versor.s - augment->_versor.x * start->_versor.z + augment->_versor.z * start->_versor.x);
slerp->_sine_weight.z = multiplier * (augment->_versor.z * start->_versor.s - augment->_versor.y * start->_versor.x + augment->_versor.x * start->_versor.y);
}
void bgc_fp64_slerp3_make(BGC_FP64_Slerp3* const slerp, const BGC_FP64_Turn3* const start, const BGC_FP64_Turn3* const augment)
{
const double square_vector = augment->_versor.x1 * augment->_versor.x1 + augment->_versor.x2 * augment->_versor.x2 + augment->_versor.x3 * augment->_versor.x3;
const double square_vector = augment->_versor.x * augment->_versor.x + augment->_versor.y * augment->_versor.y + augment->_versor.z * augment->_versor.z;
if (isnan(square_vector)) {
bgc_fp64_slerp3_reset(slerp);
@ -72,15 +72,15 @@ void bgc_fp64_slerp3_make(BGC_FP64_Slerp3* const slerp, const BGC_FP64_Turn3* co
}
if (square_vector <= BGC_FP64_SQUARE_EPSILON) {
slerp->_cosine_weight.s0 = start->_versor.s0;
slerp->_cosine_weight.x1 = start->_versor.x1;
slerp->_cosine_weight.x2 = start->_versor.x2;
slerp->_cosine_weight.x3 = start->_versor.x3;
slerp->_cosine_weight.s = start->_versor.s;
slerp->_cosine_weight.x = start->_versor.x;
slerp->_cosine_weight.y = start->_versor.y;
slerp->_cosine_weight.z = start->_versor.z;
slerp->_sine_weight.s0 = 0.0;
slerp->_sine_weight.x1 = 0.0;
slerp->_sine_weight.x2 = 0.0;
slerp->_sine_weight.x3 = 0.0;
slerp->_sine_weight.s = 0.0;
slerp->_sine_weight.x = 0.0;
slerp->_sine_weight.y = 0.0;
slerp->_sine_weight.z = 0.0;
slerp->radians = 0.0;
return;
@ -88,17 +88,17 @@ void bgc_fp64_slerp3_make(BGC_FP64_Slerp3* const slerp, const BGC_FP64_Turn3* co
const double vector_modulus = sqrt(square_vector);
slerp->radians = atan2(vector_modulus, augment->_versor.s0);
slerp->radians = atan2(vector_modulus, augment->_versor.s);
const double multiplier = 1.0 / vector_modulus;
slerp->_cosine_weight.s0 = start->_versor.s0;
slerp->_cosine_weight.x1 = start->_versor.x1;
slerp->_cosine_weight.x2 = start->_versor.x2;
slerp->_cosine_weight.x3 = start->_versor.x3;
slerp->_cosine_weight.s = start->_versor.s;
slerp->_cosine_weight.x = start->_versor.x;
slerp->_cosine_weight.y = start->_versor.y;
slerp->_cosine_weight.z = start->_versor.z;
slerp->_sine_weight.s0 = -multiplier * (augment->_versor.x1 * start->_versor.x1 + augment->_versor.x2 * start->_versor.x2 + augment->_versor.x3 * start->_versor.x3);
slerp->_sine_weight.x1 = multiplier * (augment->_versor.x1 * start->_versor.s0 + augment->_versor.x2 * start->_versor.x3 - augment->_versor.x3 * start->_versor.x2);
slerp->_sine_weight.x2 = multiplier * (augment->_versor.x2 * start->_versor.s0 - augment->_versor.x1 * start->_versor.x3 + augment->_versor.x3 * start->_versor.x1);
slerp->_sine_weight.x3 = multiplier * (augment->_versor.x3 * start->_versor.s0 - augment->_versor.x2 * start->_versor.x1 + augment->_versor.x1 * start->_versor.x2);
slerp->_sine_weight.s = -multiplier * (augment->_versor.x * start->_versor.x + augment->_versor.y * start->_versor.y + augment->_versor.z * start->_versor.z);
slerp->_sine_weight.x = multiplier * (augment->_versor.x * start->_versor.s + augment->_versor.y * start->_versor.z - augment->_versor.z * start->_versor.y);
slerp->_sine_weight.y = multiplier * (augment->_versor.y * start->_versor.s - augment->_versor.x * start->_versor.z + augment->_versor.z * start->_versor.x);
slerp->_sine_weight.z = multiplier * (augment->_versor.z * start->_versor.s - augment->_versor.y * start->_versor.x + augment->_versor.x * start->_versor.y);
}