Обновление документации по векторам и кватернионам

This commit is contained in:
Andrey Pokidov 2026-03-30 01:05:57 +07:00
parent 2fd2578bb3
commit 460fe94830
20 changed files with 237 additions and 138 deletions

View file

@ -1,24 +1,30 @@
# Обмен
Функции обмена позволяют двум векторам одного типа обменяться значениями координат.
[English version / Английская версия](swap-eng.md)
Функция для **BgcVector2FP32**:
Функции обмена позволяют двум векторам одного типа обменяться значениями
координат.
Функция для **BGC_FP32_Vector2**:
```c
inline void bgc_vector2_swap_fp32(BgcVector2FP32* vector1, BgcVector2FP32* vector2);
inline void bgc_fp32_vector2_swap(BGC_FP32_Vector2* const vector1, BGC_FP32_Vector2* const vector2);
```
Функция для **BgcVector2FP32**:
Функция для **BGC_FP64_Vector2**:
```c
inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vector2);
inline void bgc_fp64_vector2_swap(BGC_FP64_Vector2* const vector1, BGC_FP64_Vector2* const vector2);
```
Параметры **vector1** и **vector2** не должны быть некорректными указателями. Значение NULL (0) также считается некорректным.
Параметры **vector1** и **vector2** должны быть корректными указателями.
Значение NULL (0) также считается некорректным.
Вектор **vector1** после вызова данной функции будет иметь значения координат, какие имел вектор **vector2** до вызова функции.
Вектор **vector1** после вызова данной функции будет иметь значения координат,
какие имел вектор **vector2** до вызова функции.
А вектор **vector2** после вызова данной функции будет иметь такие же значения координат, какие имел вектор **vector1** до вызова функции.
А вектор **vector2** после вызова данной функции будет иметь такие же значения
координат, какие имел вектор **vector1** до вызова функции.
Пример применения:
@ -28,15 +34,16 @@ inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vecto
int main()
{
BgcVector2FP32 my_vector1, my_vector2;
BGC_FP32_Vector2 my_vector1, my_vector2;
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
bgc_vector2_set_values_fp32(10, -1, &my_vector2);
bgc_vector2_swap_fp32(&my_vector1, &my_vector2);
bgc_fp32_vector2_set_values(&my_vector1, -2, 7);
bgc_fp32_vector2_set_values(&my_vector2, 10, -1);
printf("Vector #1: x1 = %f, x2 = %f\n", my_vector1.x1, my_vector1.x2);
printf("Vector #2: x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
bgc_fp32_vector2_swap(&my_vector1, &my_vector2);
printf("Vector #1: x = %f, y = %f\n", my_vector1.x, my_vector1.y);
printf("Vector #2: x = %f, y = %f\n", my_vector2.x, my_vector2.y);
return 0;
}