bgc-c/docs/intro-rus.md

3.5 KiB
Raw Blame History

Библиотека базовых геометрических вычислений

English (Английский) Deutsch (Немецкий) 简体中文 (Китайский)

Особенности наименования

В языке программирования C (Си) нет пространств имён, потому роль пространств имён играют префиксы в названиях.

Библиотека использует префиксы в названиях типов, констант и функций для того, чтобы избежать конфликтов в названиях констант, типов и функций с другими библиотеками.

Префикс библиотеки (основной префикс)

Основным префиксом является BGC (сокращение от Basic Geometric Computations, что можно перевести как "Базовые Геометрие Вычисления").

Для констант и структур данных префикс имеет вид BGC_

Например, структуры:

  • BGC_FP64_Vector3
  • BGC_FP32_Quaternion
  • BGC_FP32_Matrix2x2

Константы:

  • BGC_FP32_EPSILON
  • BGC_FP64_TWO_PI

Функции имеют префикс в виде bgc_, например:

  • bgc_fp32_turn3_combine
  • bgc_fp64_matrix3x3_subtract

Префикс базового типа (вторичный префикс)

После префикса библиотеки идёт префикс базового типа.

Библиотека использует два типа чисел с плавающей запятой: float и double (типы binary32 и binary64 стандарта IEEE 754).

Поэтому в библиотеке есть два префикса типа:

  • FP32 - означает Floating Point 32-bit, то есть, число с плавающей запятой, 32 бита, что соответствует типу float языка программирования Си.
  • FP64 - означает Floating Point 64-bit, то есть, число с плавающей запятой, 64 бита, что соответствует типу double языка программирования Си.

Типы структур и константы, основанные на типе float имеют префикс FP32_:

  • BGC_FP32_Vector3
  • BGC_FP32_Matrix3x2
  • BGC_FP32_Quaternion
  • BGC_FP32_PI
  • BGC_FP32_EPSILON

Типы структур и константы, основанные на типе double имеют префикс FP64_:

  • BGC_FP64_Vector2
  • BGC_FP64_Matrix2x3
  • BGC_FP64_Turn3
  • BGC_FP64_HALF_PI
  • BGC_FP64_ONE_THIRD

Функции, которые работают с данными типа float имеют префикс fp32_:

  • bgc_fp32_vector2_get_length
  • bgc_fp32_radians_to_degrees

Функции, которые работают с данными типа double имеют префикс fp64_:

  • bgc_fp64_vector3_reset
  • bgc_fp64_normalize_radians

Использование подобных префиксов позволяет расширять библиотеку используя новые базовые типы в будущем.

Типы данных