mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-31 04:10:15 +00:00
39 lines
1.4 KiB
Text
39 lines
1.4 KiB
Text
|
{{DISPLAYTITLE:_ATAN2}}
|
||
|
The '''_ATAN2''' function returns the radian angle between the positive x-axis of a plane and the point given by the coordinates (x, y).
|
||
|
|
||
|
|
||
|
{{PageSyntax}}
|
||
|
::: angle! = '''_ATAN2(''' ''y'', ''x''''')'''
|
||
|
|
||
|
|
||
|
{{Parameters}}
|
||
|
* ''y'' is the vertical axis position(row) as a positive, zero or negative floating point value.
|
||
|
* ''x'' is the horizontal axis position(column) as a positive, zero or negative floating point value.
|
||
|
|
||
|
|
||
|
{{PageDescription}}
|
||
|
|
||
|
* The [[DOUBLE]] radian angle returned is '''positive''' for upper row values where y > 0.
|
||
|
::* _ATAN2(y, x) = [[ATN]](y# / x#) when x > 0
|
||
|
::* _ATAN2(y, x) = [[ATN]](y# / x#) + [[_PI]] when x < 0
|
||
|
::* _ATAN2(y, x) = [[_PI]] / 2 when x = 0
|
||
|
* The [[DOUBLE]] radian angle returned is 0 when x > 0 and [[_PI]] when x < 0 where y = 0
|
||
|
* The [[DOUBLE]] radian angle returned is '''negative''' for lower row values where y < 0.
|
||
|
::* _ATAN2(y, x) = [[ATN]](y# / x#) when x > 0
|
||
|
::* _ATAN2(y, x) = [[ATN]](y# / x#) - [[_PI]] when x < 0
|
||
|
::* _ATAN2(y, x) = -[[_PI]] / 2 when x = 0
|
||
|
* _ATAN2(0, 0) is undefined and the function returns 0 instead of a division error.
|
||
|
|
||
|
|
||
|
{{PageErrors}}
|
||
|
* Note: With [[ATN]](y / x), x can never be 0 as that would create a Division by Zero [[ERROR Codes|error]] 11 or #IND.
|
||
|
|
||
|
|
||
|
{{PageSeeAlso}}
|
||
|
* [[ATN]] {{text|(arctangent)}}
|
||
|
* [[_PI]] {{text|(QB64 function)}}
|
||
|
* [[Mathematical Operations]]
|
||
|
* [https://en.wikipedia.org/wiki/Atan2 Atan2 reference]
|
||
|
|
||
|
|
||
|
{{PageNavigation}}
|