| BasicGeometry | ||
| BasicGeometryDev | ||
| BasicGeometryTest | ||
| .gitignore | ||
| GeometryNet.sln | ||
| LICENSE | ||
| README-eng.md | ||
| README.md | ||
Basic Geometry for .NET
Библиотека базовых геометрических вычислений для .NET
Язык программирования: C#
Версия: 0.2.0-dev
Лицензия: Apache-2.0
Основными целями разработки данной библиотеки были:
- Производительность
- Функциональность
- Универсальность
Производительность была на первом месте, что оказало влияние на особенности реализации библиотеки.
Например, почти все сущности в библиотеке реализованы в виде структур, а сами структуры передаются в методы по ссылке.
Это позволило получить достаточно высокую производительность, спосотавимую с производительностью аналогичной реализации сущностей а алгоритмов на языке Си.
Библиотека использует два типа чисел с плавающей запятой: float и double (типы binary32 и binary64 стандарта IEEE 754). Что также повлияло на особенности дизайна библиотеки.
Библиотека как бы неявно разделена на две половины - одна половина для данных типа float, а другая - для данных типа double. Но между этими половинами есть мостики - функции преобразования типа.
Однако в библиотеке нет функций, которые используют для вычисления данные разных типов (float и double одновременно).