Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Inverse sin/cos/tan

  1. Jun 27, 2003 #1
    Is there a way to calculate the inverse sine without using sin-1? I'm having trouble with a programming language that says use arcsine to generate the angle, but when you do the numbers are way out (it uses radians, but that's not the problem).Lefty
  2. jcsd
  3. Jun 27, 2003 #2


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    It sounds like you are having phasing issues.

    They come into play because the sin's are the same when mirrored across the y axis, the cos's are the same when mirrored across the x axis, and tangents are the same when rotated by 180 degrees.

    Try putting in a few lines of code to catch what quadrant the angle is in.

    For example (pseudocode):

    Performing acos function
    If quadrant = 3 or 4
    ->angle = 360-acos
    ->angle = acos
  4. Jun 27, 2003 #3


    User Avatar
    Science Advisor

    Sine and cosine are not one-to-one function so sin<sup>-1</sup> and cos<sup>-1</sup> are not single-valued.

    Generally computer or calculator "arc-functions" will give you the value closest to 0: for sin<sup>-1</sup>, between -[pi]/2 and [pi]/2, for cos<sup>-1</sup>, between 0 and [pi].

    if [theta] is the value your computer program gives for sin<sup>-1</sup> then [pi]/2- [theta] is also a value- and of course, you can add any multiple of 2 pi to those.
  5. Jun 29, 2003 #4
    Naah, still can't make the numbers work - for the inverse sin of 0.5, my calculator reads (in radians) 0.523598, whereas the computer gives asin as 0.5880026. Still baffled, lefty.
  6. Jun 29, 2003 #5


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    What programming language are you using? And can you post the code snippet you're using to compute the result?

    Anyways, one alternative is to use the arctan function and trig identities to get the answer for arcsin. Here is the general procedure for deriving this type of identity:

    arcsin (x) is the measure of the angle of the triangle with opposite side x and hypotenuse 1. (because sin y is opposite over hypotenuse)

    Such a triangle has adjacent side sqrt(1 - x * x)

    since tangent is opposite over adjacent, the same angle is given by:

    arcsin x = arctan(x / sqrt(1 - x * x))

    Or, you could try the taylor series for arcsin:

    arcsin(x) = x + (1 / 2) * (x^3 / 3) + ((1 * 3) / (2 * 4)) * (x^5 / 5)
    + ((1 * 3 * 5) / (2 * 4 * 6)) * (x^7 / 7) + ...
    Last edited: Jun 29, 2003
  7. Jun 29, 2003 #6
    the Taylor series, cheers! Just one question - how do you use a series like that to give an equation for the angle? (I've looked on the net for a tut but they don't explain very well)
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook