Drexel dragonThe Math ForumDonate to the Math Forum

Ask Dr. Math - Questions and Answers from our Archives
_____________________________________________
Associated Topics || Dr. Math Home || Search Dr. Math
_____________________________________________

Using Forth to Find asin(x) or acos(x)

Date: 03/16/2004 at 02:47:07
From: Phil
Subject: My last math class was a few years ago :-)

I am writing a program in Forth.  I have available tan, atan, cos, and 
sin.  I have three sides of an oblique triangle.  How can I find the 
angles?  I know I can do it if I have asin.  Is there another way, or 
can I define asin in terms of what I have available?

Thanks!



Date: 03/16/2004 at 08:35:06
From: Doctor Rick
Subject: Re: My last math class was a few years ago :-)

Hi, Phil.

It is possible to find the arcsin or arccos using the arctangent.  
Consider the right triangle

                 B
                *
               /|
              / |
            c/  |
            /   |a
           /    |
          /     |
         *------*
        A    b   C

The tangent of A is a/b, so

  atan(a/b) = A

The sine of A is a/sqrt(a^2+b^2), so

  asin(a/c) = A

Let's let c = 1, and find b using the Pythagorean theorem:

  c^2 = a^2 + b^2
  b^2 = c^2 - a^2
    b = sqrt(c^2 - a^2)
    b = sqrt(1 - a^2)

Now we've got

  asin(a/c) = asin(a/1) = asin(a) = A = atan(a/b) =
  atan(a/sqrt(1 - a^2))

Thus:

  asin(a) = atan(a/sqrt(1 - a^2))
 
That's the formula for the arcsin.  Similarly,

  acos(b) = atan(sqrt(1 - b^2)/b)

When angles can be outside the range 0 to 180 degrees, we need to do 
a bit more work.  For instance, both 45 degrees and 225 degrees have 
the same tangent, but they have different sines (sqrt(2)/2 and 
-sqrt(2)/2).  We must know what quadrant the angle is in in order to 
distinguish between the two possible values for the arcsin or arccos. 
This is not an issue, however, in solving triangles, because the 
angles are necessarily in the range 0 to 180 degrees.

The easiest way to find the angles in an oblique triangle would be to
use the law of cosines, which requires the acos, not asin:

  c^2 = a^2 + b^2 - 2ab*cos(C)
    C = acos((a^2 + b^2 - c^2)/(2ab))

You might also find it helpful or interesting to read this thread from
our archives:

  Trig Functions in Forth
    http://mathforum.org/library/drmath/view/62672.html 

Feel free to write back if you have any further questions.

- Doctor Rick, The Math Forum
  http://mathforum.org/dr.math/ 



Date: 03/20/2004 at 11:32:22
From: Phil
Subject: My last math class was a few years ago :-)

The equations worked perfectly!  Thank you for your help.
Associated Topics:
High School Trigonometry

Search the Dr. Math Library:


Find items containing (put spaces between keywords):
 
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

_____________________________________
Math Forum Home || Math Library || Quick Reference || Math Forum Search
_____________________________________

Ask Dr. MathTM
© 1994-2013 The Math Forum
http://mathforum.org/dr.math/