bgc-c/docs/quaternion/copy-rus.md

63 lines
2.1 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 / Английская версия](copy-eng.md)
Функции копирования позволяют скопировать значения компонент одного кватерниона
в другой кватернион.
Функция для **BGC_FP32_Quaternion**:
```c
inline void bgc_fp32_quaternion_copy(BGC_FP32_Quaternion* const destination, const BGC_FP32_Quaternion* const source);
```
Функция для **BGC_FP64_Quaternion**:
```c
inline void bgc_fp64_quaternion_copy(BGC_FP64_Quaternion* const destination, const BGC_FP64_Quaternion* const source);
```
Каждая из данных функции эквивалентна следующим строкам кода:
```c
destination->s = source->s;
destination->x = source->x;
destination->y = source->y;
destination->z = source->z;
```
Параметры **source** и **destination** должны быть корректными указателями.
Значение NULL (0) также считается некорректным.
Параметр **source** должен быть указателем на кватернион, компоненты которого
должны быть скопированы. Компоненты кватерниона **source** не изменятся после
вызова функции.
Параметр **destination** должен быть указателем на кватернионы, компоненты
которого должны быть изменены. Координаты кватерниона **destination** после
вызова функции станут такими же, как и у кватерниона **source**.
Пример применения:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BGC_FP32_Quaternion q1, q2;
q1.s = 1.1f;
q1.x = -2.0f;
q1.y = 7.4f;
q1.z = 1.8f;
bgc_fp32_quaternion_copy(&q2, &q1);
printf("s = %f, x = %f, y = %f, z = %f\n", q2.s, q2.x, q2.y, q2.z);
return 0;
}
```
[Документация](../intro-rus.md) / [Кватернионы](../quaternion-rus.md)