This is a `playground`

to test code. It runs a full `Node.js`

environment and already has all of `npm`

’s 400,000 packages pre-installed, including `trigonometry-calculator`

with all `npm`

packages installed. **Try it out**:

var trigonometryCalculator = require("trigonometry-calculator")

- all documents on RunKit are public
`require()`

any package directly from npm- use arrow functions, classes, template strings, and most of ES6
`await`

any promise instead of using callbacks (example)- create your own embedded
**node.js**snippets

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

Completely solve trigonometry equations for angles and sides

Run:

```
npm install trigonometry-calculator --save
```

- 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.
- Pass the object to trigCalculator.
- 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 }
}
*/
```

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.

MIT License Copyright (c) 2017 Calvin Mikael

- package on npmhttps://npmjs.com/package/trigonometry-calculator
- homepagehttps://github.com/calvinmikael/trigonometry-calculator#readme
- licenseMIT

RunKit is a free, in-browser JavaScript dev environment for prototyping **Node.js** code, with every **npm** package installed. Sign up to share your code.

Sign Up for Free