Тригонометрия
Trig
предоставляет абстракцию для любого типа, определяющего тригонометрические функции.
Для этого типы должны иметь возможность разумно аппроксимировать реальные значения.
Поддерживаются следующие методы:
e
: число Эйлера,2.71828...
pi
: число \(\pi\) - математическая постоянная, равная отношению длины окружности к её диаметру,3.14159...
exp
: экспоненциальная функция, \(e^{x}\)expm1
: \(e^{x} - 1\)log
: натуральный логарифмa
(r
такой, чтоexp(r)= a
)log1p
:log(x + 1)
sin
: синус - координата y единичного круга.cos
: косинус - координата x единичного круга.tan
: тангенс — касательная: эквивалентнаsin(a) / cos(a)
.asin
: обратная функция синуса,asin(sin(a))= a
.acos
: обратная функция косинуса,acos(cos(a))= a
.atan
: обратная функция тангенса,atan(tan(a))= a
.atan2
: подобенatan
, но возвращает результаты в формате(-pi, pi]
.sinh
: гиперболический синус, координата y единичной гиперболы.cosh
: гиперболический косинус, координата x единичной гиперболы.tanh
: гиперболический тангенс,sinh(a) / cosh(a)
.toRadians
: конвертировать градусы (например180
) в пи-радианы (напримерpi
).toDegrees
: конвертировать пи-радианы (напримерpi/2
) в градусы (например90
).
Spire способен вычислять тригонометрические значения (например, число \(\pi\)) и функции (например, синус)
с произвольной точностью при использовании BigDecimal
.
В отличие от NRoot
, здесь нет поддержки создания экземпляров Trig[Rational]
с произвольной точностью
(хотя экземпляр Double
с точностью можно найти в spire.optional.rationalTrig
).
Ссылки: