Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

ArMath Class Reference

This class has static members to do common math operations. More...

#include <ariaUtil.h>

List of all members.

Static Public Member Functions

static double addAngle (double ang1, double ang2)
 This adds two angles together and fixes the result to [-180, 180].
static bool angleBetween (double angle, double startAngle, double endAngle)
 Finds if one angle is between two other angles.
static double atan2 (double y, double x)
 Finds the arctan of the given y/x pair.
static double cos (double angle)
 Finds the cos, from angles in degrees.
static double degToRad (double deg)
 Converts an angle in degrees to an angle in radians.
static double distanceBetween (double x1, double y1, double x2, double y2)
 Finds the distance between two coordinates.
static double fabs (double val)
 Finds the absolute value of a double.
static double fixAngle (double angle)
 Takes an angle and returns the angle in range (-180,180].
static double log2 (double x)
static void pointRotate (double *x, double *y, double th)
 Rotates a point around 0 by degrees given.
static double radToDeg (double rad)
 Converts an angle in radians to an angle in degrees.
static long random (void)
 Returns a long between 0 and some arbitrary huge number.
static int roundInt (double val)
 Finds the closest integer to double given.
static short roundShort (double val)
 Finds the closest short to double given.
static double sin (double angle)
 Finds the sin, from angles in degrees.
static double squaredDistanceBetween (double x1, double y1, double x2, double y2)
 Finds the squared distance between two coordinates.
static double subAngle (double ang1, double ang2)
 This subtracts one angle from another and fixes the result to [-180,180].


Detailed Description

This class has static members to do common math operations.

Definition at line 249 of file ariaUtil.h.


Member Function Documentation

static double ArMath::addAngle double  ang1,
double  ang2
[inline, static]
 

This adds two angles together and fixes the result to [-180, 180].

Parameters:
ang1 first angle
ang2 second angle, added to first
Returns:
sum of the angles, in range [-180,180]
See also:
subAngle

fixAngle

Definition at line 260 of file ariaUtil.h.

References fixAngle().

Referenced by ArActionTriangleDriveTo::findTriangle(), ArActionIRs::fire(), ArActionBumpers::fire(), ArSick::processPacket(), ArRobot::setDeltaHeading(), and ArRobot::stateReflector().

static double ArMath::atan2 double  y,
double  x
[inline, static]
 

Finds the arctan of the given y/x pair.

Parameters:
y the y distance
x the x distance
Returns:
the angle y and x form

Definition at line 332 of file ariaUtil.h.

References radToDeg().

Referenced by ArSensorReading::resetSensorPosition().

static double ArMath::cos double  angle  )  [inline, static]
 

Finds the cos, from angles in degrees.

Parameters:
angle angle to find the cos of, in degrees
Returns:
the cos of the angle
See also:
sin

Definition at line 316 of file ariaUtil.h.

References degToRad().

Referenced by ArBumpers::addBumpToBuffer(), ArTransform::ArTransform(), ArActionTriangleDriveTo::findTriangle(), pointRotate(), ArForbiddenRangeDevice::processReadings(), ArSensorReading::resetSensorPosition(), and ArTransform::setTransform().

static double ArMath::degToRad double  deg  )  [inline, static]
 

Converts an angle in degrees to an angle in radians.

Parameters:
deg the angle in degrees
Returns:
the angle in radians
See also:
radToDeg

Definition at line 300 of file ariaUtil.h.

Referenced by cos(), ArPose::getThRad(), and sin().

static double ArMath::distanceBetween double  x1,
double  y1,
double  x2,
double  y2
[inline, static]
 

Finds the distance between two coordinates.

Parameters:
x1 the first coords x position
y1 the first coords y position
x2 the second coords x position
y2 the second coords y position
Returns:
the distance between (x1, y1) and (x2, y2)

Definition at line 424 of file ariaUtil.h.

Referenced by ArPose::findDistanceTo().

static double ArMath::fabs double  val  )  [inline, static]
 

Finds the absolute value of a double.

Parameters:
val the number to find the absolute value of
Returns:
the absolute value of the number

Definition at line 352 of file ariaUtil.h.

Referenced by ArActionTriangleDriveTo::findTriangle(), ArActionTriangleDriveTo::fire(), ArActionRobotJoydrive::fire(), ArActionLimiterBackwards::fire(), ArActionIRs::fire(), ArActionDeceleratingLimiter::fire(), ArActionColorFollow::fire(), ArActionBumpers::fire(), ArAnalogGyro::handleGyroPacket(), ArSickLogger::setDegDiff(), ArSickLogger::setDistDiff(), ArRobot::setRotDecel(), ArRobot::setTransDecel(), and ArRobot::stateReflector().

static double ArMath::fixAngle double  angle  )  [inline, static]
 

Takes an angle and returns the angle in range (-180,180].

Parameters:
angle the angle to fix
Returns:
the angle in range (-180,180]
See also:
addAngle

subAngle

Definition at line 281 of file ariaUtil.h.

Referenced by addAngle(), angleBetween(), ArAnalogGyro::encoderCorrect(), ArRangeBuffer::getClosestPolarInList(), ArAnalogGyro::handleGyroPacket(), ArTCM2::packetHandler(), ArRobot::processMotorPacket(), ArPose::setTh(), ArPose::setThRad(), and subAngle().

static double ArMath::log2 double  x  )  [inline, static]
 

Base-2 logarithm

Definition at line 440 of file ariaUtil.h.

static double ArMath::radToDeg double  rad  )  [inline, static]
 

Converts an angle in radians to an angle in degrees.

Parameters:
rad the angle in radians
Returns:
the angle in degrees
See also:
degToRad

Definition at line 308 of file ariaUtil.h.

Referenced by atan2(), ArPose::findAngleTo(), and ArRobot::processMotorPacket().

static int ArMath::roundInt double  val  )  [inline, static]
 

Finds the closest integer to double given.

Parameters:
val the double to find the nearest integer to
Returns:
the integer the value is nearest to (also caps it within int bounds)

Definition at line 366 of file ariaUtil.h.

Referenced by ArP2Arm::convertDegToTicks(), ArP2Arm::convertTicksToDeg(), ArJoyHandler::getAdjusted(), ArJoyHandler::getNewData(), ArRobot::processMotorPacket(), ArSick::processPacket(), ArSick::simPacketHandler(), and ArSectors::update().

static short ArMath::roundShort double  val  )  [inline, static]
 

Finds the closest short to double given.

Parameters:
val the double to find the nearest short to
Returns:
the integer the value is nearest to (also caps it within short bounds)

Definition at line 383 of file ariaUtil.h.

Referenced by ArRobot::stateReflector().

static double ArMath::sin double  angle  )  [inline, static]
 

Finds the sin, from angles in degrees.

Parameters:
angle angle to find the sin of, in degrees
Returns:
the sin of the angle
See also:
cos

Definition at line 324 of file ariaUtil.h.

References degToRad().

Referenced by ArBumpers::addBumpToBuffer(), ArTransform::ArTransform(), ArActionTriangleDriveTo::findTriangle(), pointRotate(), ArForbiddenRangeDevice::processReadings(), ArSensorReading::resetSensorPosition(), and ArTransform::setTransform().

static double ArMath::squaredDistanceBetween double  x1,
double  y1,
double  x2,
double  y2
[inline, static]
 

Finds the squared distance between two coordinates.

use this only where speed really matters

Parameters:
x1 the first coords x position
y1 the first coords y position
x2 the second coords x position
y2 the second coords y position
Returns:
the distance between (x1, y1) and (x2, y2)

Definition at line 436 of file ariaUtil.h.

Referenced by ArSick::filterAddAndCleanCumulative(), ArForbiddenRangeDevice::processReadings(), and ArPose::squaredFindDistanceTo().

static double ArMath::subAngle double  ang1,
double  ang2
[inline, static]
 

This subtracts one angle from another and fixes the result to [-180,180].

Parameters:
ang1 first angle
ang2 second angle, subtracted from first angle
Returns:
resulting angle, in range [-180,180]
See also:
addAngle

fixAngle

Definition at line 271 of file ariaUtil.h.

References fixAngle().

Referenced by ArAnalogGyro::encoderCorrect(), ArRobot::findDeltaHeadingTo(), ArActionTriangleDriveTo::findTriangle(), ArActionGotoStraight::fire(), ArActionBumpers::fire(), ArRangeBuffer::getClosestPolarInList(), ArInterpolation::getPose(), ArTransform::setTransform(), and ArRobot::stateReflector().


The documentation for this class was generated from the following file:
Generated on Wed Oct 19 12:56:49 2005 for Aria by  doxygen 1.4.0