ASIN: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 13: Line 13:




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


Line 22: Line 22:
{{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|SIN}}({{Cl|_D2R}}(Angle)) '_D2R is the command to convert Degrees to Radians, which is what SIN expects
C = {{Cl|SIN}}({{Cl|_D2R}}(Angle)) {{Text|<nowiki>'_D2R is the command to convert Degrees to Radians, which is what SIN expects</nowiki>|#919191}}
{{Cl|PRINT}} "The SINE of the Angle is: "; C
{{Cl|PRINT}} {{Text|<nowiki>"The SINE of the Angle is: "</nowiki>|#FFB100}}; C
A = {{Cl|_ASIN}}(C)
A = {{Cl|_ASIN}}(C)
{{Cl|PRINT}} "The ASIN of "; C; " is: "; A
{{Cl|PRINT}} {{Text|<nowiki>"The ASIN 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 41: 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)}}
* [[_ACOS]] {{text|(arc cosine)}}, [[ATN]] {{text|(arc tangent)}}
* [[_ACOS]] {{Text|(arc cosine)}}, [[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]]

Latest revision as of 14:10, 19 March 2023

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


Syntax

radian_angle! = _ASIN(sine_value!)


Description

  • The sine_value! must be measured >= -1 and <= 1, or else it will generate a return value of -1.#IND, which is basically QB64's way of telling us that the number doesn't exist.
  • ARCSINE is the inverse function of SINe, and turns a SINe value back into an angle.
  • Note: Due to rounding with floating point math, the _ASIN may not always give a perfect match for the SIN 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 SINe and using that value to find the angle in degrees again using _ASIN:

DEFDBL A-Z

INPUT "Give me an Angle (in Degrees) => "; Angle
PRINT
C = SIN(_D2R(Angle)) '_D2R is the command to convert Degrees to Radians, which is what SIN expects
PRINT "The SINE of the Angle is: "; C
A = _ASIN(C)
PRINT "The ASIN 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 SINE of the Angle is:  .8660254037844386
The ACOS of   .8660254037844386  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