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

2.1 KiB
Raw Blame History

Копирование

English version / Английская версия

Функции копирования позволяют скопировать значения компонент одного кватерниона в другой кватернион.

Функция для BGC_FP32_Quaternion:

inline void bgc_fp32_quaternion_copy(BGC_FP32_Quaternion* const destination, const BGC_FP32_Quaternion* const source);

Функция для BGC_FP64_Quaternion:

inline void bgc_fp64_quaternion_copy(BGC_FP64_Quaternion* const destination, const BGC_FP64_Quaternion* const source);

Каждая из данных функции эквивалентна следующим строкам кода:

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.

Пример применения:

#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;
}

Документация / Кватернионы