## acm.graphics Class GMath

```java.lang.Object acm.graphics.GMath
```

`public class GMathextends Object`

This class defines a variety of static mathematical methods that are useful for the `acm.graphics` package.

Method Summary
`double` ```angle(double x, double y)```
Returns the angle in degrees from the origin to the point (`x``y`).
`double` ```angle(double x0, double y0, double x1, double y1)```
Computes the angle in degrees formed by a line segment from the point (`x0``y0`) and (`x1``y1`).
`double` `cosDegrees(double angle)`
Returns the trigonometric cosine of its argument where `angle` is expressed in degrees.
`double` ```distance(double x, double y)```
Computes the distance between the origin and the point (`x``y`).
`double` ```distance(double x0, double y0, double x1, double y1)```
Computes the distance between the points (`x0``y0`) and (`x1``y1`).
`int` `round(double x)`
Rounds a `double` value to the nearest `int`.
`double` `sinDegrees(double angle)`
Returns the trigonometric sine of its argument where `angle` is expressed in degrees.
`double` `tanDegrees(double angle)`
Returns the trigonometric tangent of its argument where `angle` is expressed in degrees.
`double` `toDegrees(double radians)`
Converts an angle from radians to degrees.
`double` `toRadians(double degrees)`
Converts an angle from degrees to radians.

Method Detail

### ``` public static double angle(double x, double y)```

Returns the angle in degrees from the origin to the point (`x``y`). This method is easier to use than `atan2` because it specifies the displacements in the usual x/y order and because it takes care of the fact that the Java coordinate system is flipped. The point (0, 0) is arbitrarily defined to be at angle 0.

Usage:` ``double theta = angle(x, y);`
Parameters:` `
 `x ` The x-coordinate of the point `y ` The y-coordinate of the point
Returns:` `The angle from the origin to the point (`x``y`) measured in degrees counterclockwise from the +x axis

### ``` public static double angle(double x0, double y0, double x1, double y1)```

Computes the angle in degrees formed by a line segment from the point (`x0``y0`) and (`x1``y1`).

Usage:` ``double theta = angle(x0, y0, x1, y1);`
Parameters:` `
 `x0 ` The x-coordinate of one point `y0 ` The y-coordinate of that point `x1 ` The x-coordinate of the other point `y1 ` The y-coordinate of that point
Returns:` `The angle formed by the line segment from (`x0``y0`) to (`x1``y1`)

### ``` public static double cosDegrees(double angle)```

Returns the trigonometric cosine of its argument where `angle` is expressed in degrees.

Usage:` ``double c = cosDegrees(angle);`
Parameter:` `
 `angle ` An angle measured in degrees
Returns:` `The trigonometric cosine of the angle

### ``` public static double distance(double x, double y)```

Computes the distance between the origin and the point (`x``y`).

Usage:` ``double d = distance(x, y);`
Parameters:` `
 `x ` The x-coordinate of the point `y ` The y-coordinate of the point
Returns:` `The distance from the origin to the point (`x``y`)

### ``` public static double distance(double x0, double y0, double x1, double y1)```

Computes the distance between the points (`x0``y0`) and (`x1``y1`).

Usage:` ``double d = distance(x0, y0, x1, y1);`
Parameters:` `
 `x0 ` The x-coordinate of one point `y0 ` The y-coordinate of that point `x1 ` The x-coordinate of the other point `y1 ` The y-coordinate of that point
Returns:` `The distance between the points (`x0``y0`) and (`x1``y1`)

### ``` public static int round(double x)```

Rounds a `double` value to the nearest `int`.

Usage:` ``int n = round(x);`
Parameter:` `
 `x ` A `double` value
Returns:` `The nearest `int` value

### ``` public static double sinDegrees(double angle)```

Returns the trigonometric sine of its argument where `angle` is expressed in degrees.

Usage:` ``double s = sinDegrees(angle);`
Parameter:` `
 `angle ` An angle measured in degrees
Returns:` `The trigonometric sine of the angle

### ``` public static double tanDegrees(double angle)```

Returns the trigonometric tangent of its argument where `angle` is expressed in degrees.

Usage:` ``double t = tanDegrees(angle);`
Parameter:` `
 `angle ` An angle measured in degrees
Returns:` `The trigonometric tangent of the angle

### ``` public static double toDegrees(double radians)```

Converts an angle from radians to degrees. This method is defined in the `Math` class, but was added only in JDK1.2, which is not supported in all browsers.

Usage:` ``double degrees = toDegrees(radians);`
Parameter:` `
 `radians ` An angle measured in radians
Returns:` `The equivalent angle in degrees

### ``` public static double toRadians(double degrees)```

Converts an angle from degrees to radians. This method is defined in the `Math` class, but was added only in JDK1.2, which is not supported in all browsers.

Usage:` ``double radians = toRadians(degrees);`
Parameter:` `
 `degrees ` An angle measured in degrees
Returns:` `The equivalent angle in radians