bgc-c/docs/vector3/swap-rus.md

62 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Обмен значениями координат
[English version / Английская версия](swap-eng.md)
Функция для **BGC_FP32_Vector3**:
```c
inline void bgc_fp32_vector3_swap(BGC_FP32_Vector3* const vector1, BGC_FP32_Vector3* const vector2);
```
Функция для **BGC_FP64_Vector3**:
```c
inline void bgc_fp64_vector3_swap(BGC_FP64_Vector3* const vector1, BGC_FP64_Vector3* const vector2);
```
Функции обмена значениями позволяют двум векторам одного типа обменяться значениями координат.
### Параметры
| Параметр | Направление | Описание |
| --------- | -------------------- | -------------------------------------------------------------------------------- |
| vector1 | исходящий / входящий | Указатель на вектор, в который будут скопированы значения координат из *vector2* |
| vector2 | исходящий / входящий | Указатель на вектор, в который будут скопированы значения координат из *vector1* |
Параметры *vector1* и *vector2* должны быть корректными указателями на структуры трёхмерных векторов. Значение NULL (0) считается некорректным.
После вызова функции вектор *vector1* будет иметь такие же значения координат, как вектор *vector2* до вызова функции.
А вектор *vector2* после вызова функции будет иметь координаты, такие же, как у вектора *vector1* до вызова функции.
### Пример
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BGC_FP32_Vector3 v1, v2;
bgc_fp32_vector3_set_values(&v1, -2, 7, 5);
bgc_fp32_vector3_set_values(&v2, 10, -1, -3);
bgc_fp32_vector3_swap(&v1, &v2);
printf("Vector #1: x = %f, y = %f, z = %f\n", v1.x, v1.y, v1.z);
printf("Vector #2: x = %f, y = %f, z = %f\n", v2.x, v2.y, v2.z);
return 0;
}
```
Результат:
```
Vector #1: x = 10.000000, y = -1.000000, z = -3.000000
Vector #2: x = -2.000000, y = 7.000000, z = 5.000000
```
[Документация](../intro-rus.md) / [Трёхмерные векторы](../vector3-rus.md)