/* * File: gmath.h * ------------- * This file exports several functions for working with graphical * geometry along with the mathematical constants PI * and E. */ #ifndef _gmath_h #define _gmath_h #include "gtypes.h" /* * Constant: PI * ------------ * The mathematical constant pi, which is the ratio of the circumference * of a circle to its diameter. */ extern const double PI; /* * Constant: E * ----------- * The mathematical constant e, which is the base of natural logarithms. */ extern const double E; /* * Function: sinDegrees * Usage: double sine = sinDegrees(angle); * --------------------------------------- * Returns the trigonometric sine of angle, which is * expressed in degrees. */ double sinDegrees(double angle); /* * Function: cosDegrees * Usage: double cosine = cosDegrees(angle); * ----------------------------------------- * Returns the trigonometric cosine of angle, which is * expressed in degrees. */ double cosDegrees(double angle); /* * Function: tanDegrees * Usage: double tangent = tanDegrees(angle); * ------------------------------------------ * Returns the trigonometric tangent of angle, which is * expressed in degrees. */ double tanDegrees(double angle); /* * Function: toDegrees * Usage: double degrees = toDegrees(radians); * ------------------------------------------- * Converts an angle from radians to degrees. */ double toDegrees(double radians); /* * Function: toRadians * Usage: double radians = toRadians(degrees); * ------------------------------------------- * Converts an angle from degrees to radians. */ double toRadians(double degrees); /* * Function: vectorDistance * Usage: double r = vectorDistance(pt); * double r = vectorDistance(x, y); * --------------------------------------- * Computes the distance between the origin and the specified point. */ double vectorDistance(const GPoint & pt); double vectorDistance(double x, double y); /* * Function: vectorAngle * Usage: double angle = vectorAngle(pt); * double angle = vectorAngle(x, y); * ---------------------------------------- * Returns the angle in degrees from the origin to the specified point. * This function takes account of the fact that the graphics coordinate * system is flipped in the y direction from the traditional * Cartesian plane. */ double vectorAngle(const GPoint & pt); double vectorAngle(double x, double y); #endif