bgc-c/docs/intro-rus.md

59 lines
2.8 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.

# Библиотека базовых геометрических вычислений
## Особенности наименования
### Префиксы
Библиотека использует префиксы в названиях типов, констант и функций.
Основным префиксом является **BGC** (сокращение от **B**asic **G**eometric
**C**omputations / Базовые Геометрие Вычисления).
Для структур данных префикс имеет вид **Bgc**, например: BgcVector3FP64,
BgcVersorFP32, BgcMatrix2x2FP32.
Константы имеют префикс в виде **BGC_**, например: BGC_EPSYLON_FP32,
BGC_TWO_PI_FP64.
Функции имеют префикс в виде **bgc_**, например: bgc_versor_combine_fp32,
bgc_matrix3x3_subtract_fp64.
### Cуффиксы
Названия констант, типов и функций оканчиваются суффиксом, указывающим на
базовый тип. Библиотека использует два типа чисел с плавающей запятой:
**float** и **double** (типы **binary32** и **binary64** стандарта
**IEEE 754**).
Поэтому в библиотеке есть два префикса типа:
* **FP32** - означает **F**loating **P**oint **32** bit, то есть, число с
плавающей запятой, 32 бита, что соответствует типу **float** языка Си.
* **FP64** - означает **F**loating **P**oint **64** bit, то есть, число с
плавающей запятой, 64 бита, что соответствует типу **double** языка Си.
Типы структур, использующие тип **float** имеют суффикс **FP32**:
BgcVector3FP32, BgcMatrix3x2FP32, BgcQuaternionFP32
Типы структур, использующие тип **double** имеют суффикс **FP64**:
BgcVector2FP64, BgcMatrix2x3FP64, BgcVersorFP64
Константы типа **float** имеют суффикс **_FP32**: BGC_PI_FP32, BGC_EPSYLON_FP32.
Константы типа **double** имеют суффикс **_FP64**: BGC_HALF_PI_FP64,
BGC_ONE_THIRD_FP64.
Функции, которые работают с данными типа **float** имеют суффикс **_fp32**:
bcg_vector2_get_modulus_fp32, bgc_radians_to_degrees_fp32.
Функции, которые работают с данными типа **double** имеют суффикс **_fp64**:
bgc_vector3_reset_fp64, bgc_radians_normalize_fp64.
## Сущности
- [Углы](angle-rus.md)
- [2D векторы](vector2-rus.md)
- [3D векторы](vector2-rus.md)
- [Кватернионы](quaternion-rus.md)
- [Версоры](versor-rus.md)