_ACOS - QB64 Wiki


From QB64 Wiki

Jump to: navigation, search

The _ACOS function returns the angle measured in radians based on an input COSine value ranging from -1 to 1.


radian_angle! = _ACOS(cosine_value!)

  • The cosine_value! must be measured >= -1 and <= 1, or an error will be generated. (PRINT _ACOS(1.2) would give the result of -1.#IND, which is basically QB64's way of telling us that the number doesn't exist, much like 1/0 would.)
  • ARCCOSINE is the inverse function of COSine, which lets us turn a COSine value back into an angle.
  • Note: Due to rounding with floating point math, the _ACOS may not always give a perfect match for the COS angle which generated this. You can reduce the number of rounding errors by increasing the precision of your calculations by using DOUBLE or _FLOAT precision variables instead of SINGLE.
  • (Only available in QB64-GL, from Dirty Builds after 06/20/2014. Previous versions of QB64 don't support this command.)

Example: Converting a radian angle to its COSine and using that value to find the angle in degrees again using _ACOS:

DEFDBL A-Z INPUT "Give me an Angle (in Degrees) => "; Angle PRINT C = COS(_D2R(Angle)) '_D2R is the command to convert Degrees to Radians, which is what COS expects PRINT "The COSINE of the Angle is: "; C A = _ACOS(C) PRINT "The ACOS of "; C; " is: "; A PRINT "Notice, A is the Angle in Radians. If we convert it to degrees, the value is "; _R2D(A)

Example by SMcNeill

Give me an Angle (in Degrees) => ? 60 The COSINE of the Angle is: .5000000000000001 The ACOS of .5000000000000001 is: 1.047197551196598 Notice, A is the Angle in Radians. If we convert it to degrees, we discover the value is 60

See also:

Go to Keyword Reference - Alphabetical
Go to Keyword Reference - By usage
Go to Main WIKI Page
  • Page
  • Discussion
  • View source
  • History
Personal tools
  • Log in
  • What links here
  • Related changes
  • Special pages
  • Printable version