Уменшение количества внутренних методов за счёт методов получения матрицы поворота для веросора; исправления в методах проверки матрицы поворота; добавление методов вычисления поворота (turn3) по матрице поворота 3x3
This commit is contained in:
parent
abf99a7126
commit
54c762da14
9 changed files with 448 additions and 351 deletions
|
|
@ -21,6 +21,8 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="main.c" />
|
<ClCompile Include="main.c" />
|
||||||
<ClCompile Include="affine3.c" />
|
<ClCompile Include="affine3.c" />
|
||||||
|
<ClCompile Include="printing_utils.c" />
|
||||||
|
<ClCompile Include="vector3_pair_difference.c" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\basic-geometry\basic-geometry.vcxproj">
|
<ProjectReference Include="..\basic-geometry\basic-geometry.vcxproj">
|
||||||
|
|
@ -29,6 +31,8 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="affine3.h" />
|
<ClInclude Include="affine3.h" />
|
||||||
|
<ClInclude Include="printing_utils.h" />
|
||||||
|
<ClInclude Include="vector3_pair_difference.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
<VCProjectVersion>16.0</VCProjectVersion>
|
<VCProjectVersion>16.0</VCProjectVersion>
|
||||||
|
|
|
||||||
|
|
@ -21,10 +21,22 @@
|
||||||
<ClCompile Include="affine3.c">
|
<ClCompile Include="affine3.c">
|
||||||
<Filter>Исходные файлы</Filter>
|
<Filter>Исходные файлы</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="printing_utils.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="vector3_pair_difference.c">
|
||||||
|
<Filter>Исходные файлы</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="affine3.h">
|
<ClInclude Include="affine3.h">
|
||||||
<Filter>Файлы заголовков</Filter>
|
<Filter>Файлы заголовков</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="printing_utils.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="vector3_pair_difference.h">
|
||||||
|
<Filter>Файлы заголовков</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -9,7 +9,9 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#endif // _WINDOWS_
|
#endif // _WINDOWS_
|
||||||
|
|
||||||
|
#include "printing_utils.h"
|
||||||
#include "vector3_pair_difference.h"
|
#include "vector3_pair_difference.h"
|
||||||
|
#include "affine3.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
BGC_FP32_Turn3 versor1, versor2, result;
|
BGC_FP32_Turn3 versor1, versor2, result;
|
||||||
|
|
@ -132,13 +134,48 @@ int main() {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
void test_fp32_quaternion_set_matrix()
|
||||||
|
{
|
||||||
|
BGC_FP32_Turn3 turn;
|
||||||
|
BGC_FP32_Matrix3x3 rotation;
|
||||||
|
BGC_FP32_Quaternion quaternion;
|
||||||
|
|
||||||
#include "affine3.h"
|
bgc_fp32_turn3_set_rotation(&turn, 1.0f, 1.0f, 1.0f, 120.0f, BGC_ANGLE_UNIT_DEGREES);
|
||||||
|
|
||||||
|
bgc_fp32_turn3_get_rotation_matrix(&rotation, &turn);
|
||||||
|
|
||||||
|
if (bgc_fp32_quaternion_set_rotation_matrix(&quaternion, &rotation) == BGC_FAILURE) {
|
||||||
|
printf("Failed\n");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
print_fp32_quaternion(&quaternion);
|
||||||
|
print_fp32_quaternion(&turn._versor);
|
||||||
|
}
|
||||||
|
|
||||||