35 lines
2 KiB
Markdown
35 lines
2 KiB
Markdown
# Basic Geometry for .NET
|
||
|
||
## Библиотека базовых геометрических вычислений для .NET
|
||
|
||
Язык программирования: C#
|
||
|
||
Версия: 0.2.0-dev
|
||
|
||
Лицензия: Apache-2.0
|
||
|
||
Основными целями разработки данной библиотеки были:
|
||
|
||
1. Производительность
|
||
2. Функциональность
|
||
3. Универсальность
|
||
|
||
Производительность была на первом месте, что оказало влияние на особенности
|
||
реализации библиотеки.
|
||
|
||
Например, почти все сущности в библиотеке реализованы в виде структур, а сами
|
||
структуры передаются в методы по ссылке.
|
||
|
||
Это позволило получить достаточно высокую производительность, спосотавимую с
|
||
производительностью аналогичной реализации сущностей а алгоритмов на языке Си.
|
||
|
||
Библиотека использует два типа чисел с плавающей запятой: **float** и **double**
|
||
(типы **binary32** и **binary64** стандарта **IEEE 754**). Что также повлияло на
|
||
особенности дизайна библиотеки.
|
||
|
||
Библиотека как бы неявно разделена на две половины - одна половина для данных
|
||
типа **float**, а другая - для данных типа **double**. Но между этими половинами
|
||
есть мостики - функции преобразования типа.
|
||
|
||
Однако в библиотеке нет функций, которые используют для вычисления данные разных
|
||
типов (**float** и *double* одновременно).
|