Исправление структуры документации

This commit is contained in:
Andrey Pokidov 2025-02-08 01:22:19 +07:00
parent f8f6b07c81
commit e15070ce45
20 changed files with 316 additions and 135 deletions

View file

@ -52,4 +52,4 @@ The ranges of angles are defined with an enumerated type:
* BGC_ANGLE_RANGE_SIGNED is for the signed range of values.
[Back](intro-eng.md)
[Documentation](intro-eng.md)

View file

@ -54,4 +54,4 @@
* BGC_ANGLE_RANGE_UNSIGNED для беззнакового диапазона значений;
* BGC_ANGLE_RANGE_SIGNED для знакового диапазона значений.
[Назад](intro-rus.md)
[Документация](intro-rus.md)

View file

@ -60,4 +60,4 @@ The versor fields are declared as const so that the developer uses the library f
The quaternion fields are free to be changed by the developer using the library.
[Back](intro-eng.md)
[Documentation](intro-eng.md)

View file

@ -59,4 +59,4 @@ q = w + ix + jy + kz
Поля кватернионов разработчик, использующий библиотеку, может менять свободно.
[Назад](intro-rus.md)
[Документация](intro-rus.md)

View file

@ -20,5 +20,12 @@ Structure definitions:
## Functions
| Funtions for BgcVector2FP32 | Funtions for BgcVector2FP64 |
|:-------------------------------------------------------------:|:-------------------------------------------------------------:|
| [bgc_vector2_reset_fp32](vector2/reset-eng.md) | [bgc_vector2_reset_fp64](vector2/reset-eng.md) |
| [bgc_vector2_set_values_fp32](vector2/set-values-eng.md) | [bgc_vector2_set_values_fp64](vector2/set-values-eng.md) |
| [bgc_vector2_copy_fp32](vector2/copy-eng.md) | [bgc_vector2_copy_fp64](vector2/copy-eng.md) |
| [bgc_vector2_swap_fp32](vector2/swap-eng.md) | [bgc_vector2_swap_fp64](vector2/swap-eng.md) |
[Back](intro-eng.md)
[Documentation](intro-eng.md)

View file

@ -20,105 +20,14 @@
## Функции
### Указание координат двумерного вектора
| Функции для BgcVector2FP32 | Функции для BgcVector2FP64 |
|:-------------------------------------------------------------:|:-------------------------------------------------------------:|
| [bgc_vector2_reset_fp32](vector2/reset-rus.md) | [bgc_vector2_reset_fp64](vector2/reset-rus.md) |
| [bgc_vector2_set_values_fp32](vector2/set-values-rus.md) | [bgc_vector2_set_values_fp64](vector2/set-values-rus.md) |
| [bgc_vector2_copy_fp32](vector2/copy-rus.md) | [bgc_vector2_copy_fp64](vector2/copy-rus.md) |
| [bgc_vector2_swap_fp32](vector2/swap-rus.md) | [bgc_vector2_swap_fp64](vector2/swap-rus.md) |
Для прямого указания координат предлагаются следующие две функции:
inline void bgc_vector2_set_values_fp32(const float x1, const float x2, BgcVector2FP32* to);
inline void bgc_vector2_set_values_fp64(const double x1, const double x2, BgcVector2FP64* to);
Каждая из данных функции эквивалентна следующим строкам кода:
vector->x1 = x1;
vector->x2 = x2;
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
в качестве параметра также считается некорректным.
Пример применения:
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector;
bgc_vector2_set_values_fp32(-2, 7, &my_vector);
printf("x1 = %f, x2 = %f\n", my_vector.x1, my_vector.x2);
return 0;
}
### Копирование
Функции копирования позволяют
Для копирования координат векторов предлагаются данные функции:
inline void bgc_vector2_copy_fp32(const BgcVector2FP32* from, BgcVector2FP32* to);
inline void bgc_vector2_copy_fp64(const BgcVector2FP64* from, BgcVector2FP64* to);
Каждая из данных функции эквивалентна следующим строкам кода:
to->x1 = from->x1;
to->x2 = from->x2;
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
в качестве параметра также считается некорректным.
Пример применения:
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector1, my_vector2;
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
bgc_vector2_copy_fp32(&my_vector1, &my_vector2);
printf("x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
return 0;
}
### Обмен
Функции обмена позволяют двум векторам одного типа обменяться значениями
координат.
Для обмена значениями координат векторов определены следующие функции:
inline void bgc_vector2_swap_fp32(BgcVector2FP32* vector1, BgcVector2FP32* vector2);
inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vector2);
В данные функции не следует передавать некорректные указатели. Значение NULL (0)
также считается некорректным.
Пример применения:
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 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);
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);
return 0;
}
### Конвертация типа
### Функции кнвертации типа
Функции конвертации типа позволяют преобразовать
@ -133,4 +42,4 @@
Тем не менее, в библиотеке есть функции, которые позволяют преобразовать данные
одного типа в данные другого типа.
[Назад](intro-rus.md)
[Документация](intro-rus.md)

50
docs/vector2/copy-eng.md Normal file
View file

@ -0,0 +1,50 @@
# Copying
The copy functions allow you to copy the coordinate values of one vector to another vector.
Function for **BgcVector2FP32**:
```c
inline void bgc_vector2_copy_fp32(const BgcVector2FP32* from, BgcVector2FP32* to);
```
Function for **BgcVector2FP64**:
```c
inline void bgc_vector2_copy_fp64(const BgcVector2FP64* from, BgcVector2FP64* to);
```
Each of these functions is equivalent to the following lines of code:
```c
to->x1 = from->x1;
to->x2 = from->x2;
```
You should not pass invalid pointers to these functions. The NULL (0) value is also considered invalid.
The **from** parameter must be a pointer to a two-dimensional vector whose coordinates are to be copied. The coordinates of the **from** vector will not change after the function call.
The **to** parameter must be a pointer to a two-dimensional vector whose coordinates are to be changed. The coordinates of the **to** vector will become the same as those of the **from** vector after the function call.
Example of use:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector1, my_vector2;
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
bgc_vector2_copy_fp32(&my_vector1, &my_vector2);
printf("x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
return 0;
}
```
[Documentation](../intro-eng.md) / [2D vectors](../vector2-eng.md)

50
docs/vector2/copy-rus.md Normal file
View file

@ -0,0 +1,50 @@
# Копирование
Функции копирования позволяют скопировать значения координат одного вектора в другой вектор.
Функция для **BgcVector2FP32**:
```c
inline void bgc_vector2_copy_fp32(const BgcVector2FP32* from, BgcVector2FP32* to);
```
Функция для **BgcVector2FP64**:
```c
inline void bgc_vector2_copy_fp64(const BgcVector2FP64* from, BgcVector2FP64* to);
```
Каждая из данных функции эквивалентна следующим строкам кода:
```c
to->x1 = from->x1;
to->x2 = from->x2;
```
В данные функции не следует передавать некорректные указатели. Значение NULL (0) также считается некорректным.
Параметр **from** должен быть указателем на двумерный вектор, координаты которого должны быть скопированы. Координаты вектора **from** не изменятся после вызова функции.
Параметр **to** должен быть указателем на двумерный вектор, координаты которого должны быть изменены. Координаты вектора **to** после вызова функции станут такими же, как и у вектора **from**.
Пример применения:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector1, my_vector2;
bgc_vector2_set_values_fp32(-2, 7, &my_vector1);
bgc_vector2_copy_fp32(&my_vector1, &my_vector2);
printf("x1 = %f, x2 = %f\n", my_vector2.x1, my_vector2.x2);
return 0;
}
```
[Документация](../intro-rus.md) / [2D векторы](../vector2-rus.md)

View file

@ -41,4 +41,4 @@ Example of use:
}
```
[Back](../vector2-eng.md)
[Documentation](../intro-eng.md) / [2D vectors](../vector2-eng.md)

View file

@ -41,4 +41,4 @@
}
```
[Íàçàä](../vector2-rus.md)
[Äîêóìåíòàöèÿ](../intro-rus.md) / [2D âåêòîðû](../vector2-rus.md)

View file

@ -0,0 +1,44 @@
# Setting the coordinates of a two-dimensional vector
You can set the coordinates of vectors either directly or using functions. The functions for setting coordinate values allow you to do this in one line.
Function for **BgcVector2FP32**:
```c
inline void bgc_vector2_set_values_fp32(const float x1, const float x2, BgcVector2FP32* to);
```
Function for **BgcVector2FP32**:
```c
inline void bgc_vector2_set_values_fp64(const double x1, const double x2, BgcVector2FP64* to);
```
Each of these functions is equivalent to the following lines of code:
```c
vector->x1 = x1;
vector->x2 = x2;
```
You should not pass invalid pointers to these functions. The value NULL (0) is also considered invalid.
Example of use:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector;
bgc_vector2_set_values_fp32(-2, 7, &my_vector);
printf("x1 = %f, x2 = %f\n", my_vector.x1, my_vector.x2);
return 0;
}
```
[Documentation](../intro-eng.md) / [2D vectors](../vector2-eng.md)

View file

@ -0,0 +1,44 @@
# Задание координат двумерного вектора
Задавать координаты векторов можно как напрямую, так и спомощью функций. Функции задания значений координат позволяют сделать это одной строкой.
Функция для **BgcVector2FP32**:
```c
inline void bgc_vector2_set_values_fp32(const float x1, const float x2, BgcVector2FP32* to);
```
Функция для **BgcVector2FP32**:
```c
inline void bgc_vector2_set_values_fp64(const double x1, const double x2, BgcVector2FP64* to);
```
Каждая из данных функции эквивалентна следующим строкам кода:
```c
vector->x1 = x1;
vector->x2 = x2;
```
В данные функции не следует передавать некорректные указатели. Значение NULL (0) также считается некорректным.
Пример применения:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 my_vector;
bgc_vector2_set_values_fp32(-2, 7, &my_vector);
printf("x1 = %f, x2 = %f\n", my_vector.x1, my_vector.x2);
return 0;
}
```
[Документация](../intro-rus.md) / [2D векторы](../vector2-rus.md)

44
docs/vector2/swap-eng.md Normal file
View file

@ -0,0 +1,44 @@
# Swapping
The exchange functions allow two vectors of the same type to exchange coordinate values.
Function for **BgcVector2FP32**:
```c
inline void bgc_vector2_swap_fp32(BgcVector2FP32* vector1, BgcVector2FP32* vector2);
```
Function for **BgcVector2FP32**:
```c
inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vector2);
```
You should not pass invalid pointers to these functions. The value NULL (0) is also considered invalid.
Vector **vector1** after calling this function will have the coordinate values that vector **vector2** had before calling the function.
And vector **vector2** after calling this function will have the same coordinate values that vector **vector1** had before calling the function.
Example of use:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 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);
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);
return 0;
}
```
[Documentation](../intro-eng.md) / [2D vectors](../vector2-eng.md)

44
docs/vector2/swap-rus.md Normal file
View file

@ -0,0 +1,44 @@
# Îáìåí
Ôóíêöèè îáìåíà ïîçâîëÿþò äâóì âåêòîðàì îäíîãî òèïà îáìåíÿòüñÿ çíà÷åíèÿìè êîîðäèíàò.
Ôóíêöèÿ äëÿ **BgcVector2FP32**:
```c
inline void bgc_vector2_swap_fp32(BgcVector2FP32* vector1, BgcVector2FP32* vector2);
```
Ôóíêöèÿ äëÿ **BgcVector2FP32**:
```c
inline void bgc_vector2_swap_fp64(BgcVector2FP64* vector1, BgcVector2FP64* vector2);
```
 äàííûå ôóíêöèè íå ñëåäóåò ïåðåäàâàòü íåêîððåêòíûå óêàçàòåëè. Çíà÷åíèå NULL (0) òàêæå ñ÷èòàåòñÿ íåêîððåêòíûì.
Âåêòîð **vector1** ïîñëå âûçîâà äàííîé ôóíêöèè áóäåò èìåòü çíà÷åíèÿ êîîðäèíàò, êàêèå èìåë âåêòîð **vector2** äî âûçîâà ôóíêöèè.
À âåêòîð **vector2** ïîñëå âûçîâà äàííîé ôóíêöèè áóäåò èìåòü òàêèå æå çíà÷åíèÿ êîîðäèíàò, êàêèå èìåë âåêòîð **vector1** äî âûçîâà ôóíêöèè.
Ïðèìåð ïðèìåíåíèÿ:
```c
#include <stdio.h>
#include <basic-geometry.h>
int main()
{
BgcVector2FP32 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);
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);
return 0;
}
```
[Äîêóìåíòàöèÿ](../intro-rus.md) / [2D âåêòîðû](../vector2-rus.md)

View file

@ -60,23 +60,12 @@ Fields:
- s0 is the real part of the versor.
- x1, x2, x3 are the imaginary components of the versor.
## Operation with versors
## Functions
- [Reset state](versor/reset-eng.md)
- [Specify component values](versor/set-values-eng.md)
- Copy component values
- Swap component values
- Build based on rotation
- Check for absence of rotation
- Type conversion
- Rotation reduction
- Inversion
- Combination
- Get rotation description
- Get rotation matrix
- Get inverse rotation matrix
- Rotate vector
- Inverse vector rotation
- Compare
| Funtions for BgcVersorFP32 | Funtions for BgcVersorFP64 |
|:-------------------------------------------------------------:|:-------------------------------------------------------------:|
| [bgc_versor_reset_fp32](versor/reset-eng.md) | [bgc_versor_reset_fp64](versor/reset-eng.md) |
| [bgc_versor_set_values_fp32](versor/set-values-eng.md) | [bgc_versor_set_values_fp64](versor/set-values-eng.md) |
[Back](intro-eng.md)
[Documentation](intro-eng.md)

View file

@ -64,10 +64,10 @@ q = w + ix + jy + kz
## Функции
| Функция для BgcVersorFP32 | Функция для BgcVersorFP64 |
| Функции для BgcVersorFP32 | Функции для BgcVersorFP64 |
|:-------------------------------------------------------------:|:-------------------------------------------------------------:|
| [bgc_versor_reset_fp32](versor/reset-rus.md) | [bgc_versor_reset_fp64](versor/reset-rus.md) |
| [bgc_versor_set_values_fp32](versor/set-values-rus.md) | [bgc_versor_set_values_fp64](versor/set-values-rus.md) |
[Назад](intro-rus.md)
[Документация](intro-rus.md)

View file

@ -1,6 +1,6 @@
# State reset functions for versors
[A versor](./versor-eng.md) that corresponds to no rotation has the following component values:
[A versor](../versor-eng.md) that corresponds to no rotation has the following component values:
```
s0 = 1;
@ -50,4 +50,4 @@ Result:
Versor: (1.000000, 0.000000, 0.000000, 0.000000)
```
[Versors](./versor-eng.md)
[Documentation](../intro-eng.md) / [Versors](../versor-eng.md)

View file

@ -1,6 +1,6 @@
# Функции сброса состояния для версоров
[Версор](./versor-rus.md), который соответствует отсутствию поворота, имеет следующие значеия компонент:
[Версор](../versor-rus.md), который соответствует отсутствию поворота, имеет следующие значеия компонент:
```
s0 = 1;
@ -9,7 +9,7 @@
x3 = 0;
```
Чтобы установить такое состояние для компонент версора, в библиотеке есть соответствующие функции.
Чтобы установить данное состояние для компонент версора, в библиотеке есть соответствующие функции.
Для типа **BgFP32Versor** функция имеет вид:
@ -50,4 +50,4 @@
Versor: (1.000000, 0.000000, 0.000000, 0.000000)
```
[Библиотека базовых геометрических вычислений](./intro-rus.md) / [Версоры](./versor-rus.md)
[Документация](../intro-rus.md) / [Версоры](../versor-rus.md)

View file

@ -1,4 +1,4 @@
# Functions that set the values of the versor components
# Versor component assignment functions
Special functions are provided to specify specific values ??for the versor components.
@ -53,4 +53,4 @@ Result:
Versor: (1.000000, 0.000000, 0.000000, 0.000000)
```
[Versors](./versor-eng.md)
[Documentation](../intro-eng.md) / [Versors](../versor-eng.md)

View file

@ -1,4 +1,4 @@
# Функции устанавливащие значения компоенен версора
# Функции задания компонент версора
Чтобы указать конкретные значения для компонент версора предусмотрены специальные функции.
@ -55,4 +55,4 @@
Versor: (1.000000, 0.000000, 0.000000, 0.000000)
```
[Библиотека базовых геометрических вычислений](./intro-rus.md) / [Версоры](./versor-rus.md)
[Документация](../intro-rus.md) / [Версоры](../versor-rus.md)