trigonometry-calculator

2.0.0 • Public • Published

trigonometry-calculator

Build Status Coverage Status Greenkeeper badge

Completely solve trigonometry equations for angles and sides

Installation

Run:

npm install trigonometry-calculator --save

Usage

  1. Construct an object mapping angles and sides to their respective objects where the key is a number in the range [0, 3) and the value is the given number.
  2. Pass the object to trigCalculator.
  3. The function will return an object similar to the input except it will include a key-value pair containing the solution with full numerical precision.
import { trigCalculator } from 'trigonometry-calculator';
// ES5 / CommonJS require works in addition to ES6 import
// var calculator = require('trigonometry-calculator');
// In ES5 call calculator.trigCalculator
let unsolvedTriangle = {
  angles: { 2: 117 },
  sides: { 0: 6.9, 1: 2.6 }
};
console.log(trigCalculator(unsolvedTriangle));
/*
{
  angles: { 0: 47.00257739237024, 1: 15.997422607629744, 2: 117 },
  sides: { 0: 6.9, 1: 2.6, 2: 8.405901446641815 }
}
*/
 
// If there is an alternate solution due to ambiguity that will be solved as well
unsolvedTriangle = {
  angles: { 1: 31 },
  sides: { 1: 8, 2: 13 }
};
console.log(trigCalculator(unsolvedTriangle));
/*
{
  ambiguous: {
    angles: { 0: 25.818060457931665, 1: 31, 2: 123.18193954206835 },
    sides: { 0: 6.764779420434399, 1: 8, 2: 13 }
  },
  angles: { 0: 92.18193954206835, 1: 31, 2: 56.81806045793165 },
  sides: { 0: 15.521570397820525, 1: 8, 2: 13 }
}
*/

Contributing

A new function or a fixed regression should include matching test coverage. Commits should adhere to cz-conventional-changelog which can be done easily running git cz or npm run commit.

License

MIT License Copyright (c) 2017 Calvin Mikael

Package Sidebar

Install

npm i trigonometry-calculator

Weekly Downloads

1,204

Version

2.0.0

License

MIT

Last publish

Collaborators

  • calvinmikael