Включение позиции и аффинного преобразования в проект для Visual Studio

This commit is contained in:
Andrey Pokidov 2026-01-27 02:34:34 +07:00
parent 7175c4148a
commit 3c2b89f369
9 changed files with 191 additions and 12 deletions

View file

@ -279,9 +279,9 @@ inline void bgc_affine3_transform_point_fp32(const BgcAffine3FP32 * affine, cons
bgc_matrix3x3_get_right_product_fp32(&affine->distortion, initial_point, &distorted);
bgc_vector3_add_fp32(&affine->shift, &distorted, transformed_point);
#else
const float x1 = affine->r1c1 * initial_point->x1 + affine->r1c2 * initial_point->x2 + affine->r1c3 * initial_point->x3 + affine->shift1;
const float x2 = affine->r2c1 * initial_point->x1 + affine->r2c2 * initial_point->x2 + affine->r2c3 * initial_point->x3 + affine->shift2;
const float x3 = affine->r3c1 * initial_point->x1 + affine->r3c2 * initial_point->x2 + affine->r3c3 * initial_point->x3 + affine->shift3;
const float x1 = (affine->r1c1 * initial_point->x1 + affine->r1c2 * initial_point->x2) + (affine->r1c3 * initial_point->x3 + affine->shift1);
const float x2 = (affine->r2c1 * initial_point->x1 + affine->r2c2 * initial_point->x2) + (affine->r2c3 * initial_point->x3 + affine->shift2);
const float x3 = (affine->r3c1 * initial_point->x1 + affine->r3c2 * initial_point->x2) + (affine->r3c3 * initial_point->x3 + affine->shift3);
transformed_point->x1 = x1;
transformed_point->x2 = x2;

View file

@ -19,6 +19,7 @@
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClInclude Include="affine3.h" />
<ClInclude Include="angle.h" />
<ClInclude Include="basic-geometry.h" />
<ClInclude Include="complex.h" />
@ -38,6 +39,7 @@
<ClInclude Include="vector3.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="affine3.c" />
<ClCompile Include="angle.c" />
<ClInclude Include="complex.c" />
<ClInclude Include="cotes-number.c" />

View file

@ -72,6 +72,9 @@
<ClInclude Include="types.h">
<Filter>Файлы заголовков</Filter>
</ClInclude>
<ClInclude Include="affine3.h">
<Filter>Файлы заголовков</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="angle.c">
@ -113,5 +116,8 @@
<ClCompile Include="slerp.c">
<Filter>Исходные файлы</Filter>
</ClCompile>
<ClCompile Include="affine3.c">
<Filter>Исходные файлы</Filter>
</ClCompile>
</ItemGroup>
</Project>

View file

@ -47,7 +47,7 @@
#define BGC_AXIS_REVERSE_X3 -3
#if !defined(BGC_AFFINE_USE_MATRIX)
#define BGC_AFFINE_USE_MATRIX 0
#define BGC_AFFINE_USE_MATRIX 1
#endif
inline int bgc_is_correct_axis(const int axis)