Socket
Socket
Sign inDemoInstall

trigonometry-equations

Package Overview
Dependencies
2
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    trigonometry-equations

Trigonometry rules to solve equations for angles and sides


Version published
Weekly downloads
1.1K
decreased by-15.7%
Maintainers
1
Install size
40.5 kB
Created
Weekly downloads
 

Readme

Source

trigonometry-equations

Build Status Coverage Status Greenkeeper badge

Trigonometry rules to solve equations for angles and sides

Installation

Run:

npm install trigonometry-equations --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 an equation function that corresponds with an appropriate mathematical rule.
  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 {
  ambiguousCaseRule,
  angleRule,
  cosineRule,
  sineRule
} from 'trigonometry-equations';
// ES5 / CommonJS require works in addition to ES6 import
// var equations = require('trigonometry-equations');
// In ES5 call equations.sineRule, etc
let unsolvedTriangle = {
  angles: { 1: 35, 2: 105 },
  sides: { 1: 7 }
};
console.log(sineRule(unsolvedTriangle));
/*
{
  angles: { 1: 35, 2: 105 },
  sides: { 1: 7, 2: 11.788282006559363 }
}
*/

unsolvedTriangle = {
  angles: { 2: 59 },
  sides: { 0: 3.6, 1: 5.3 }
};
console.log(cosineRule(unsolvedTriangle));
/*
{
  angles: { 2: 59 },
  sides: { 0: 3.6, 1: 5.3, 2: 4.6255969410912074 }
}
*/

/*
cosineRule has an optional parameter
allowing you to specify the angle solved
when you pass it three sides.
If you don't pass in this parameter it will
solve the first unsolved angle of the triangle.
*/
unsolvedTriangle = {
  sides: { 0: 8, 1: 5, 2: 9 }
};
const findAngle = {
  findAngle: 1
};
console.log(cosineRule(unsolvedTriangle, findAngle));
/*
{
  angles: { 1: 33.55730976192071 },
  sides: { 0: 8, 1: 5, 2: 9 }
}
*/

unsolvedTriangle = {
  angles: { 0: 60, 1: 60 },
  sides: { 1: 20 }
};
console.log(angleRule(unsolvedTriangle));
/*
{
  angles: { 0: 60, 1: 60, 2: 60 },
  sides: { 1: 20 }
}
*/

unsolvedTriangle = {
  angles: { 1: 39 },
  sides: { 1: 28, 2: 41 }
};
// if there is no solution ambiguousCaseRule will return null
console.log(ambiguousCaseRule(unsolvedTriangle));
/*
{
ambiguous: {
  angles: { 0: 28.147082985775114, 1: 39, 2: 112.85291701422489 },
  sides: { 0: 20.988713127721486, 1: 28, 2: 41 }
  }
}
*/

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 by running git cz or npm run commit.

License

MIT License Copyright (c) 2017 Calvin Mikael

Keywords

FAQs

Last updated on 23 Feb 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc