net.grelf
Class Maths

java.lang.Object
  extended by net.grelf.Maths

public class Maths
extends java.lang.Object

Static methods to do common mathematical calculations. The trigonometrical methods are for ease of working in degrees rather than radians. java.lang.StrictMath methods are always used.


Nested Class Summary
static class Maths.Statistics
          Just a record to hold public values.
 
Method Summary
static double acos(double cos)
          Get arccos in degrees.
static double angleDifference(double a1degrees, double a2degrees)
          Find the difference (a1 - a2) between 2 angles in degrees, taking into account periodicity.
static double angleMean(double... anglesInDegrees)
          Find the mean of a set of angles, taking into account periodicity.
static double angleNormalise(double xDegs)
          Deprecated. 
static Maths.Statistics angleStatistics(double... anglesInDegrees)
          Calculate the min, max, mean and stdDev of a set of angles, taking into account periodicity.
static Maths.Statistics angleStatistics(java.util.List<java.lang.Double> anglesInDegrees)
          Calculate the min, max, mean and stdDev of a set of angles, taking into account periodicity.
static double asin(double sin)
          Get arcsin in degrees.
static double asinh(double x)
          Hyperbolic inverse sine.
static double atan2(double sin, double cos)
          Get atan2 in degrees.
static double cos(double xDegs)
          Get cosine of an angle given in degrees.
static double in360(double xDegs)
          Convert angle x (degrees) to lie in range 0..360
static double sin(double xDegs)
          Get sine of an angle given in degrees.
static double tan(double xDegs)
          Get tangent of an angle in degrees.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

angleMean

public static double angleMean(double... anglesInDegrees)
Find the mean of a set of angles, taking into account periodicity. Uses angleStatistics ().


angleDifference

public static double angleDifference(double a1degrees,
                                     double a2degrees)
Find the difference (a1 - a2) between 2 angles in degrees, taking into account periodicity. The result is in the range -180..+180.


angleStatistics

public static Maths.Statistics angleStatistics(double... anglesInDegrees)
Calculate the min, max, mean and stdDev of a set of angles, taking into account periodicity. Uses angleDifference () from a working mean of the first angle. Does NOT use the erroneous method you can find on the web that averages sin and cos and then takes atan2.


angleStatistics

public static Maths.Statistics angleStatistics(java.util.List<java.lang.Double> anglesInDegrees)
Calculate the min, max, mean and stdDev of a set of angles, taking into account periodicity. Uses angleDifference () from a working mean of the first angle. Does NOT use the erroneous method you can find on the web that averages sin and cos and then takes atan2.


angleNormalise

@Deprecated
public static double angleNormalise(double xDegs)
Deprecated. 

Convert angle x (degrees) to lie in range 0..360.
10.4.7 deprecated - use synonymous in360 () instead.


in360

public static double in360(double xDegs)
Convert angle x (degrees) to lie in range 0..360


acos

public static double acos(double cos)
Get arccos in degrees.


asin

public static double asin(double sin)
Get arcsin in degrees.


atan2

public static double atan2(double sin,
                           double cos)
Get atan2 in degrees.


sin

public static double sin(double xDegs)
Get sine of an angle given in degrees.


cos

public static double cos(double xDegs)
Get cosine of an angle given in degrees.


tan

public static double tan(double xDegs)
Get tangent of an angle in degrees.


asinh

public static double asinh(double x)
Hyperbolic inverse sine.