robocode.util

Class Utils


public class Utils
extends Object

Utility class that provide methods for normalizing angles.
Authors:
Mathew A. Nelson (original)
Flemming N. Larsen (contributor)

Field Summary

static double
NEAR_DELTA

Method Summary

static Random
getRandom()
Returns random number generator.
static boolean
isNear(double value1, double value2)
Tests if the two double values are near to each other.
static double
normalAbsoluteAngle(double angle)
Normalizes an angle to an absolute angle.
static double
normalNearAbsoluteAngle(double angle)
Normalizes an angle to be near an absolute angle.
static double
normalRelativeAngle(double angle)
Normalizes an angle to a relative angle.

Field Details

NEAR_DELTA

public static final double NEAR_DELTA
Field Value:
0.0

Method Details

getRandom

public static Random getRandom()
Returns random number generator. It might be configured for repeatable behavior by seting -DRANDOMSEED option
Returns:
random number generator

isNear

public static boolean isNear(double value1,
                             double value2)
Tests if the two double values are near to each other. It is recommended to use this method instead of testing if the two doubles are equal using an this expression: value1 == value2. The reason being, that this expression might never become true due to the precision of double values. Whether or not the specified doubles are near to each other is defined by the following expression: (Math.abs(value1 - value2) < .00001)
Parameters:
value1 - the first double value
value2 - the second double value
Returns:
true if the two doubles are near to each other; false otherwise.

normalAbsoluteAngle

public static double normalAbsoluteAngle(double angle)
Normalizes an angle to an absolute angle. The normalized angle will be in the range from 0 to 2*PI, where 2*PI itself is not included.
Parameters:
angle - the angle to normalize
Returns:
the normalized angle that will be in the range of [0,2*PI[

normalNearAbsoluteAngle

public static double normalNearAbsoluteAngle(double angle)
Parameters:
angle - the angle to normalize
Returns:
the normalized angle that will be in the range of [0,2*PI[

normalRelativeAngle

public static double normalRelativeAngle(double angle)
Normalizes an angle to a relative angle. The normalized angle will be in the range from -PI to PI, where PI itself is not included.
Parameters:
angle - the angle to normalize
Returns:
the normalized angle that will be in the range of [-PI,PI[