trigonometry-calculator

Completely solve trigonometry equations for angles and sides

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
trigonometry-calculator
2.0.07 years ago8 years agoMinified + gzip package size for trigonometry-calculator in KB

Readme

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