summaryrefslogtreecommitdiffstats
path: root/labb8/lib/StanfordCPPLib/gmath.h
diff options
context:
space:
mode:
Diffstat (limited to 'labb8/lib/StanfordCPPLib/gmath.h')
-rwxr-xr-xlabb8/lib/StanfordCPPLib/gmath.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/labb8/lib/StanfordCPPLib/gmath.h b/labb8/lib/StanfordCPPLib/gmath.h
new file mode 100755
index 0000000..7dc8aab
--- /dev/null
+++ b/labb8/lib/StanfordCPPLib/gmath.h
@@ -0,0 +1,104 @@
+/*
+ * File: gmath.h
+ * -------------
+ * This file exports several functions for working with graphical
+ * geometry along with the mathematical constants <code>PI</code>
+ * and <code>E</code>.
+ */
+
+#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 <code>angle</code>, which is
+ * expressed in degrees.
+ */
+
+double sinDegrees(double angle);
+
+/*
+ * Function: cosDegrees
+ * Usage: double cosine = cosDegrees(angle);
+ * -----------------------------------------
+ * Returns the trigonometric cosine of <code>angle</code>, which is
+ * expressed in degrees.
+ */
+
+double cosDegrees(double angle);
+
+/*
+ * Function: tanDegrees
+ * Usage: double tangent = tanDegrees(angle);
+ * ------------------------------------------
+ * Returns the trigonometric tangent of <code>angle</code>, 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 <i>y</i> direction from the traditional
+ * Cartesian plane.
+ */
+
+double vectorAngle(const GPoint & pt);
+double vectorAngle(double x, double y);
+
+#endif