Recipe 1.15. Finding the Angles of a Right TriangleProblemYou need to calculate an angle of a triangle when the lengths of two sides are known. SolutionUse the Math.Atan, Math.Acos, or Math.Asin static methods of the Math class. The following code calculates the angle theta and returns the value in radians: double theta = Math.Atan(OppositeSide / AdjacentSide); theta = Math.Acos(AdjacentSide / Hypotenuse); theta = Math.Asin(OppositeSide / Hypotenuse); To get the angle in degrees, use the following code: double theta = Math.Atan(oppositeSide / adjacentSide) * (180 / Math.PI); theta = Math.Acos(adjacentSide / hypotenuse) * (180 / Math.PI); theta = Math.Asin(oppositeSide / hypotenuse) * (180 / Math.PI); where theta is the known angle value, oppositeSide is equal to the length of the side opposite to the angle, and adjacentSide is equal to the length of the side adjacent to the angle. The hypotenuse is the length of the hypotenuse of the triangle. See Figure 1-1 in Recipe 1.14 for a graphical representation of these sides of a right triangle and Recipes 1.2 and 1.3 for converting between degrees and radians. DiscussionIn some cases, you need to determine an angle of a right triangle when only the lengths of two sides are known. The three trigonometric functions arcsine, arccosine, and arctangent allow you to find any angle of a right triangle, given this information. The static methods Math.Atan, Math.Acos, and Math.Asin on the Math class provide the functionality to implement these trigonometric operations. See AlsoSee Recipe 1.14; see the "Math Class" topic in the MSDN documentation. |