PebbleOS
Loading...
Searching...
No Matches
Macros | Functions

Macros

#define TRIG_MAX_RATIO   0xffff
 The largest value that can result from a call to sin_lookup or cos_lookup.
 
#define TRIG_MAX_ANGLE   0x10000
 Angle value that corresponds to 360 degrees or 2 PI radians.
 
#define TRIGANGLE_TO_DEG(trig_angle)   (((trig_angle) * 360) / TRIG_MAX_ANGLE)
 Converts from a fixed point value representation to the equivalent value in degrees.
 
#define DEG_TO_TRIGANGLE(angle)   (((angle) * TRIG_MAX_ANGLE) / 360)
 Converts from an angle in degrees to the equivalent fixed point value representation.
 

Functions

int32_t sin_lookup (int32_t angle)
 Look-up the sine of the given angle from a pre-computed table.
 
int32_t cos_lookup (int32_t angle)
 Look-up the cosine of the given angle from a pre-computed table.
 
int32_t atan2_lookup (int16_t y, int16_t x)
 Look-up the arctangent of a given x, y pair.
 

Detailed Description

Macro Definition Documentation

◆ DEG_TO_TRIGANGLE

#define DEG_TO_TRIGANGLE (   angle)    (((angle) * TRIG_MAX_ANGLE) / 360)

Converts from an angle in degrees to the equivalent fixed point value representation.

See also
TRIGANGLE_TO_DEG
TRIG_MAX_ANGLE
Parameters
angleAngle in degrees.
Returns
Angle, scaled so that TRIG_MAX_ANGLE is 360 degrees.

◆ TRIG_MAX_ANGLE

#define TRIG_MAX_ANGLE   0x10000

Angle value that corresponds to 360 degrees or 2 PI radians.

See also
sin_lookup
cos_lookup

◆ TRIG_MAX_RATIO

#define TRIG_MAX_RATIO   0xffff

The largest value that can result from a call to sin_lookup or cos_lookup.

For a code example, see the detailed description at the top of this chapter: Math

◆ TRIGANGLE_TO_DEG

#define TRIGANGLE_TO_DEG (   trig_angle)    (((trig_angle) * 360) / TRIG_MAX_ANGLE)

Converts from a fixed point value representation to the equivalent value in degrees.

See also
DEG_TO_TRIGANGLE
TRIG_MAX_ANGLE
Parameters
trig_angleAngle, scaled so that TRIG_MAX_ANGLE is 360 degrees.
Returns
Angle in degrees.

Function Documentation

◆ atan2_lookup()

int32_t atan2_lookup ( int16_t  y,
int16_t  x 
)

Look-up the arctangent of a given x, y pair.

The angle value is scaled linearly, such that a value of 0x10000 corresponds to 360 degrees or 2 PI radians.

Parameters
yY coordinate.
xX coordinate.
Returns
Angle of the point (x, y) counter-clockwise from the positive x axis, from 0 up to but not including TRIG_MAX_ANGLE.

◆ cos_lookup()

int32_t cos_lookup ( int32_t  angle)

Look-up the cosine of the given angle from a pre-computed table.

This is equivalent to calling sin_lookup(angle + TRIG_MAX_ANGLE / 4).

Parameters
angleThe angle for which to compute the cosine. The angle value is scaled linearly, such that a value of 0x10000 corresponds to 360 degrees or 2 PI radians.
Returns
Cosine of angle, scaled so that 1 is TRIG_MAX_RATIO.

◆ sin_lookup()

int32_t sin_lookup ( int32_t  angle)

Look-up the sine of the given angle from a pre-computed table.

Parameters
angleThe angle for which to compute the sine. The angle value is scaled linearly, such that a value of 0x10000 corresponds to 360 degrees or 2 PI radians.
Returns
Sine of angle, scaled so that 1 is TRIG_MAX_RATIO.