ATAN2: Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
Tags: Undo Reverted
No edit summary
Tags: Manual revert Reverted
Line 9: Line 9:
{{Parameters}}
{{Parameters}}
* {{Parameter|y}} is the vertical axis position (row) as a positive, zero or negative floating point value.
* {{Parameter|y}} is the vertical axis position (row) as a positive, zero or negative floating point value.
* {{Parameter|x}} is the horizontal axis position (column) as a positive, zero or negative floating point value.  
* {{Parameter|x}} is the horizontal axis position (column) as a positive, zero or negative floating point value.




Line 17: Line 17:
::* _ATAN2(y, x) = [[ATN]](y# / x#) + [[_PI]] when x < 0
::* _ATAN2(y, x) = [[ATN]](y# / x#) + [[_PI]] when x < 0
::* _ATAN2(y, x) = [[_PI]] / 2 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 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.
* 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#) when x > 0

Revision as of 23:01, 22 January 2023

The _ATAN2 function returns the radian angle between the positive x-axis of a plane and the point given by the coordinates (x, y).


Syntax

angle! = _ATAN2(y, x)


Template: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.


Description

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


Template:PageErrors

  • With ATN(y / x), x can never be 0 as that would create a Division by Zero error 11 or #IND.


See also



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