ACOS: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
m (Removed protection from "ACOS")
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 5: Line 5:
{{PageSyntax}}
{{PageSyntax}}
: {{Parameter|radian_angle!}} = [[_ACOS]]({{Parameter|cosine_value!}})
: {{Parameter|radian_angle!}} = [[_ACOS]]({{Parameter|cosine_value!}})


{{PageDescription}}
{{PageDescription}}
* 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.)  
* 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 [[COS]]ine, which lets us turn a [[COS]]ine value back into an angle.
* ARCCOSINE is the inverse function of [[COS]]ine, which lets us turn a [[COS]]ine 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]].
* 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]].




==Availability==
{{PageAvailability}}
* '''Version 1.000 and up.'''
* '''Version 1.000 and up.'''


Line 18: Line 19:
{{PageExamples}}
{{PageExamples}}
''Example:'' Converting a radian angle to its COSine and using that value to find the angle in degrees again using _ACOS:
''Example:'' Converting a radian angle to its COSine and using that value to find the angle in degrees again using _ACOS:
{{CodeStart}} '' ''
{{CodeStart}}
{{Cl|DEFDBL}} A-Z
{{Cl|DEFDBL}} A-Z


{{Cl|INPUT}} "Give me an Angle (in Degrees) => "; Angle
{{Cl|INPUT}} {{Text|<nowiki>"Give me an Angle (in Degrees) => "</nowiki>|#FFB100}}; Angle
{{Cl|PRINT}}
{{Cl|PRINT}}
C = {{Cl|COS}}({{Cl|_D2R}}(Angle)) '_D2R is the command to convert Degrees to Radians, which is what COS expects
C = {{Cl|COS}}({{Cl|_D2R}}(Angle)) {{Text|<nowiki>'_D2R is the command to convert Degrees to Radians, which is what COS expects</nowiki>|#919191}}
{{Cl|PRINT}} "The COSINE of the Angle is: "; C
{{Cl|PRINT}} {{Text|<nowiki>"The COSINE of the Angle is: "</nowiki>|#FFB100}}; C
A = {{Cl|_ACOS}}(C)
A = {{Cl|_ACOS}}(C)
{{Cl|PRINT}} "The ACOS of "; C; " is: "; A
{{Cl|PRINT}} {{Text|<nowiki>"The ACOS of "</nowiki>|#FFB100}}; C; {{Text|<nowiki>" is: "</nowiki>|#FFB100}}; A
{{Cl|PRINT}} "Notice, A is the Angle in Radians.  If we convert it to degrees, the value is "; {{Cl|_R2D}}(A) '' ''
{{Cl|PRINT}} {{Text|<nowiki>"Notice, A is the Angle in Radians.  If we convert it to degrees, the value is "</nowiki>|#FFB100}}; {{Cl|_R2D}}(A)
{{CodeEnd}}
{{CodeEnd}}
{{small|Example by SMcNeill}}
{{Small|Example by SMcNeill}}
{{OutputStart}}
{{OutputStart}}
Give me an Angle (in Degrees) => ? 60
Give me an Angle (in Degrees) => ? 60
Line 40: Line 41:


{{PageSeeAlso}}
{{PageSeeAlso}}
* [[_D2G]] {{text|(degree to gradient}}, [[_D2R]] {{text|(degree to radian)}}
* [[_D2G]] {{Text|(degree to gradient}}, [[_D2R]] {{Text|(degree to radian)}}
* [[_G2D]] {{text|(gradient to degree)}}, [[_G2R]] {{text|(gradient to degree}}
* [[_G2D]] {{Text|(gradient to degree)}}, [[_G2R]] {{Text|(gradient to degree}}
* [[_R2D]] {{text|(radian to degree)}}, [[_R2G]] {{text|(radian to gradient}}
* [[_R2D]] {{Text|(radian to degree)}}, [[_R2G]] {{Text|(radian to gradient}}
* [[COS]] {{text|(cosine)}}, [[SIN]] {{text|(sine)}}, [[TAN]] {{text|(tangent)}}
* [[COS]] {{Text|(cosine)}}, [[SIN]] {{Text|(sine)}}, [[TAN]] {{Text|(tangent)}}
* [[_ASIN]] {{text|(arc sine)}}, [[ATN]] {{text|(arc tangent)}}
* [[_ASIN]] {{Text|(arc sine)}}, [[ATN]] {{Text|(arc tangent)}}
* [[_ACOSH]] {{text|(arc hyperbolic  cosine)}}, [[_ASINH]] {{text|(arc hyperbolic  sine)}}, [[_ATANH]] {{text|(arc hyperbolic  tangent)}}
* [[_ACOSH]] {{Text|(arc hyperbolic  cosine)}}, [[_ASINH]] {{Text|(arc hyperbolic  sine)}}, [[_ATANH]] {{Text|(arc hyperbolic  tangent)}}
* [[_ATAN2]] {{text|(Compute arc tangent with two parameters)}}
* [[_ATAN2]] {{Text|(Compute arc tangent with two parameters)}}
* [[_HYPOT]] {{text|(hypotenuse)}}
* [[_HYPOT]] {{Text|(hypotenuse)}}
*[[Mathematical Operations]]
*[[Mathematical Operations]]
*[[Mathematical_Operations#Derived_Mathematical_Functions|Derived Mathematical Functions]]
*[[Mathematical Operations#Derived_Mathematical_Functions|Derived Mathematical Functions]]




{{PageNavigation}}
{{PageNavigation}}
Templates used on this page:
Template:Cl (view source)
Template:CodeEnd (view source)
Template:CodeStart (view source)
Template:OutputEnd (view source)
Template:OutputStart (view source)
Template:PageDescription (view source)
Template:PageExamples (view source)
Template:PageNavigation (view source)
Template:PageSeeAlso (view source)
Template:PageSyntax (view source)
Template:Parameter (view source)
Template:Small (view source)
Template:Text (view source)
Return to ACOS.
Navigation menu
Log inPageDiscussionReadView sourceView historySearch
Search QB64 Wiki
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information
Privacy policyAbout QB64 WikiDisclaimersPowered by MediaWiki

Latest revision as of 13:06, 19 March 2023

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


Syntax

radian_angle! = _ACOS(cosine_value!)


Description

  • 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.


Availability

  • Version 1.000 and up.


Examples

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



Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link