From d33daf4e2d7b04a9bffb744c8fbbcf7d5077f90a Mon Sep 17 00:00:00 2001 From: Andrey Pokidov Date: Wed, 28 Jan 2026 17:04:48 +0700 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20makefile,=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=BE=D0=B2=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9=20=D0=BA=D0=BE=D0=BC=D0=B1?= =?UTF-8?q?=D0=B8=D0=BD=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=B0=D1=84=D1=84=D0=B8=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D0=BE=D0=B1=D1=80=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- basic-geometry/Makefile | 5 +++-- basic-geometry/affine2.c | 4 ++-- basic-geometry/affine2.h | 20 ++++++++++---------- basic-geometry/affine3.c | 4 ++-- basic-geometry/affine3.h | 20 ++++++++++---------- 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/basic-geometry/Makefile b/basic-geometry/Makefile index 726c8d9..772a2f8 100644 --- a/basic-geometry/Makefile +++ b/basic-geometry/Makefile @@ -1,8 +1,9 @@ CC=gcc GFLAGS=-c -Wall -O2 SOURCES=utilities.c angle.c vector2.c vector3.c complex.c cotes-number.c \ - matrix2x2.c matrix2x3.c matrix3x2.c matrix3x3.c matrixes.c \ - rotation3.c quaternion.c versor.c + matrix2x2.c matrix2x3.c matrix3x2.c matrix3x3.c matrixes.c affine2.c affine3.c \ + rotation3.c quaternion.c versor.c slerp.c position2.c position3.c + OBJECTS=$(SOURCES:.c=.o) OBJECT_DIRECTORY=obj/Release BINARY_DIRECTORY=bin/Release diff --git a/basic-geometry/affine2.c b/basic-geometry/affine2.c index d9802d8..a9d325f 100644 --- a/basic-geometry/affine2.c +++ b/basic-geometry/affine2.c @@ -18,8 +18,8 @@ extern inline int bgc_affine2_invert_fp64(BgcAffine2FP64 * affine); extern inline int bgc_affine2_get_inverse_fp32(const BgcAffine2FP32 * source, BgcAffine2FP32 * destination); extern inline int bgc_affine2_get_inverse_fp64(const BgcAffine2FP64 * source, BgcAffine2FP64 * destination); -extern inline void bgc_affine2_combine_fp32(const BgcAffine2FP32 * parent, const BgcAffine2FP32 * child, BgcAffine2FP32 * combination); -extern inline void bgc_affine2_combine_fp64(const BgcAffine2FP64 * parent, const BgcAffine2FP64 * child, BgcAffine2FP64 * combination); +extern inline void bgc_affine2_combine_fp32(const BgcAffine2FP32 * first, const BgcAffine2FP32 * second, BgcAffine2FP32 * combination); +extern inline void bgc_affine2_combine_fp64(const BgcAffine2FP64 * first, const BgcAffine2FP64 * second, BgcAffine2FP64 * combination); extern inline void bgc_affine2_transform_point_fp32(const BgcAffine2FP32 * affine, const BgcVector2FP32 * initial_point, BgcVector2FP32 * transformed_point); extern inline void bgc_affine2_transform_point_fp64(const BgcAffine2FP64 * affine, const BgcVector2FP64 * initial_point, BgcVector2FP64 * transformed_point); diff --git a/basic-geometry/affine2.h b/basic-geometry/affine2.h index 9b2a291..be0aaf5 100644 --- a/basic-geometry/affine2.h +++ b/basic-geometry/affine2.h @@ -128,20 +128,20 @@ inline int bgc_affine2_get_inverse_fp64(const BgcAffine2FP64 * source, BgcAffine // =================== Combine =================== // -inline void bgc_affine2_combine_fp32(const BgcAffine2FP32 * parent, const BgcAffine2FP32 * child, BgcAffine2FP32 * combination) +inline void bgc_affine2_combine_fp32(const BgcAffine2FP32 * first, const BgcAffine2FP32 * second, BgcAffine2FP32 * combination) { - BgcVector2FP32 child_shift; - bgc_matrix2x2_get_right_product_fp32(&parent->distortion, &child->shift, &child_shift); - bgc_matrix_product_2x2_at_2x2_fp32(&parent->distortion, &child->distortion, &combination->distortion); - bgc_vector2_add_fp32(&parent->shift, &child_shift, &combination->shift); + BgcVector2FP32 first_shift; + bgc_matrix2x2_get_right_product_fp32(&second->distortion, &first->shift, &first_shift); + bgc_matrix_product_2x2_at_2x2_fp32(&second->distortion, &first->distortion, &combination->distortion); + bgc_vector2_add_fp32(&first_shift, &second->shift, &combination->shift); } -inline void bgc_affine2_combine_fp64(const BgcAffine2FP64 * parent, const BgcAffine2FP64 * child, BgcAffine2FP64 * combination) +inline void bgc_affine2_combine_fp64(const BgcAffine2FP64 * first, const BgcAffine2FP64 * second, BgcAffine2FP64 * combination) { - BgcVector2FP64 child_shift; - bgc_matrix2x2_get_right_product_fp64(&parent->distortion, &child->shift, &child_shift); - bgc_matrix_product_2x2_at_2x2_fp64(&parent->distortion, &child->distortion, &combination->distortion); - bgc_vector2_add_fp64(&parent->shift, &child_shift, &combination->shift); + BgcVector2FP64 first_shift; + bgc_matrix2x2_get_right_product_fp64(&second->distortion, &first->shift, &first_shift); + bgc_matrix_product_2x2_at_2x2_fp64(&second->distortion, &first->distortion, &combination->distortion); + bgc_vector2_add_fp64(&first_shift, &second->shift, &combination->shift); } // =============== Transform Point =============== // diff --git a/basic-geometry/affine3.c b/basic-geometry/affine3.c index 6297637..8f4940f 100644 --- a/basic-geometry/affine3.c +++ b/basic-geometry/affine3.c @@ -18,8 +18,8 @@ extern inline int bgc_affine3_invert_fp64(BgcAffine3FP64 * affine); extern inline int bgc_affine3_get_inverse_fp32(const BgcAffine3FP32 * source, BgcAffine3FP32 * destination); extern inline int bgc_affine3_get_inverse_fp64(const BgcAffine3FP64 * source, BgcAffine3FP64 * destination); -extern inline void bgc_affine3_combine_fp32(const BgcAffine3FP32 * parent, const BgcAffine3FP32 * child, BgcAffine3FP32 * combination); -extern inline void bgc_affine3_combine_fp64(const BgcAffine3FP64 * parent, const BgcAffine3FP64 * child, BgcAffine3FP64 * combination); +extern inline void bgc_affine3_combine_fp32(const BgcAffine3FP32 * first, const BgcAffine3FP32 * second, BgcAffine3FP32 * combination); +extern inline void bgc_affine3_combine_fp64(const BgcAffine3FP64 * first, const BgcAffine3FP64 * second, BgcAffine3FP64 * combination); extern inline void bgc_affine3_transform_point_fp32(const BgcAffine3FP32 * affine, const BgcVector3FP32 * initial_point, BgcVector3FP32 * transformed_point); extern inline void bgc_affine3_transform_point_fp64(const BgcAffine3FP64 * affine, const BgcVector3FP64 * initial_point, BgcVector3FP64 * transformed_point); diff --git a/basic-geometry/affine3.h b/basic-geometry/affine3.h index 39a026a..71bbf0c 100644 --- a/basic-geometry/affine3.h +++ b/basic-geometry/affine3.h @@ -127,20 +127,20 @@ inline int bgc_affine3_get_inverse_fp64(const BgcAffine3FP64 * source, BgcAffine // =================== Combine =================== // -inline void bgc_affine3_combine_fp32(const BgcAffine3FP32 * parent, const BgcAffine3FP32 * child, BgcAffine3FP32 * combination) +inline void bgc_affine3_combine_fp32(const BgcAffine3FP32 * first, const BgcAffine3FP32 * second, BgcAffine3FP32 * combination) { - BgcVector3FP32 child_shift; - bgc_matrix3x3_get_right_product_fp32(&parent->distortion, &child->shift, &child_shift); - bgc_matrix_product_3x3_at_3x3_fp32(&parent->distortion, &child->distortion, &combination->distortion); - bgc_vector3_add_fp32(&parent->shift, &child_shift, &combination->shift); + BgcVector3FP32 first_shift; + bgc_matrix3x3_get_right_product_fp32(&second->distortion, &first->shift, &first_shift); + bgc_matrix_product_3x3_at_3x3_fp32(&second->distortion, &first->distortion, &combination->distortion); + bgc_vector3_add_fp32(&first_shift, &second->shift, &combination->shift); } -inline void bgc_affine3_combine_fp64(const BgcAffine3FP64 * parent, const BgcAffine3FP64 * child, BgcAffine3FP64 * combination) +inline void bgc_affine3_combine_fp64(const BgcAffine3FP64 * first, const BgcAffine3FP64 * second, BgcAffine3FP64 * combination) { - BgcVector3FP64 child_shift; - bgc_matrix3x3_get_right_product_fp64(&parent->distortion, &child->shift, &child_shift); - bgc_matrix_product_3x3_at_3x3_fp64(&parent->distortion, &child->distortion, &combination->distortion); - bgc_vector3_add_fp64(&parent->shift, &child_shift, &combination->shift); + BgcVector3FP64 first_shift; + bgc_matrix3x3_get_right_product_fp64(&second->distortion, &first->shift, &first_shift); + bgc_matrix_product_3x3_at_3x3_fp64(&second->distortion, &first->distortion, &combination->distortion); + bgc_vector3_add_fp64(&first_shift, &second->shift, &combination->shift); } // =============== Transform Point =============== //