52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
# Указание координат трёхмерного вектора
|
||
|
||
Указать координаты векторов можно как напрямую, так и спомощью функций.
|
||
Принципиальной разницы нет, но функции указания координат позволяют сделать это
|
||
одной строкой.
|
||
|
||
Функция для **BGC_FP32_Vector3**:
|
||
|
||
```c
|
||
inline void bgc_fp32_vector3_set_values(BGC_FP32_Vector3* const destination, const float x, const float y, const float z);
|
||
```
|
||
|
||
Функция для **BGC_FP64_Vector3**:
|
||
|
||
```c
|
||
inline void bgc_fp64_vector3_set_values(BGC_FP64_Vector3* const destination, const double x, const double y, const double z);
|
||
```
|
||
|
||
Каждая из данных функции эквивалентна следующим строкам кода:
|
||
|
||
```c
|
||
destination->x = x;
|
||
destination->y = y;
|
||
destination->z = z;
|
||
```
|
||
|
||
В параметре **destination** не следует передавать некорректные указатели.
|
||
Значение NULL (0) также считается некорректным.
|
||
|
||
Данная функция хорошо подходит для заданя значений координат вектора одной
|
||
строкой. Особенно если надо указать фиксированные значения координат как
|
||
в примере ниже.
|
||
|
||
Пример применения:
|
||
|
||
```c
|
||
#include <stdio.h>
|
||
#include <basic-geometry.h>
|
||
|
||
int main()
|
||
{
|
||
BGC_FP32_Vector3 my_vector;
|
||
|
||
bgc_fp32_vector3_set_values(&my_vector, -2.2f, 7.1f, 10.01f);
|
||
|
||
printf("x = %f, y = %f, z = %f\n", my_vector.x, my_vector.y, my_vector.z);
|
||
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
[Документация](../intro-rus.md) / [3D векторы](../vector3-rus.md)
|