atan2: Difference between revisions
Jump to navigation
Jump to search
m (Text replace - "{{uc:{{PAGENAME}}}}" to "{{uc:{{PAGENAME}}}} {{uc:{{PAGENAME}}}}") |
Killzone Kid (talk | contribs) (example / diagram / see aslo) |
||
Line 7: | Line 7: | ||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| ArcTangent of x/y. Used to determine the angle of a vector [x,y]. Result in [[Number#Degrees|Degrees]]. |= Description | | ArcTangent of ''x/y''. Used to determine the angle of a vector ''[x,y]''. Result in [[Number#Degrees|Degrees]]. | ||
<br>Note that this command can handle ''y'' being 0, unlike when using [[atan]], and will return 90 |= Description | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Line 17: | Line 19: | ||
| [[Number]] |= Return value | | [[Number]] | ||
<br><br>[[Image:atan.jpg|200px]]|= Return value | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
|x1= < | |x1= <code>_xy = [5,3]; | ||
_degrees= (_xy [[select]] 0) [[atan2]] (_xy [[select]] 1); //59.0362</code>|= Example 1 | |||
|x2= Get direction from _obj1 to _obj2:<code>_vd = [[getPosASL]] _obj2 [[vectorDiff]] [[getPosASL]] _obj1; | |||
_dir = (_vd [[select]] 0) [[atan2]] (_vd [[select]] 1); //_dir range from -180 to +180 | |||
[[if]] (_dir < 0) [[then]] {_dir = 360 + _dir}; //_dir range from 0 to 360</code>|= Example 2 | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
| [[Math Commands]] |= See also | | [[atan]], [[Math Commands]] |= See also | ||
}} | }} |
Revision as of 12:53, 15 June 2014
Description
- Description:
- ArcTangent of x/y. Used to determine the angle of a vector [x,y]. Result in Degrees.
Note that this command can handle y being 0, unlike when using atan, and will return 90 - Groups:
- Uncategorised
Syntax
Examples
- Example 1:
_xy = [5,3]; _degrees= (_xy select 0) atan2 (_xy select 1); //59.0362
- Example 2:
- Get direction from _obj1 to _obj2:
_vd = getPosASL _obj2 vectorDiff getPosASL _obj1; _dir = (_vd select 0) atan2 (_vd select 1); //_dir range from -180 to +180 if (_dir < 0) then {_dir = 360 + _dir}; //_dir range from 0 to 360
Additional Information
- See also:
- atanMath Commands
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
Notes
-
To get the direction of an object from the player:
_direction = ((getpos object select 0) - (getpos player select 0)) atan2 ((getpos object select 1) - (getpos player select 1));
_direction will be from -180 to 180
If positive values are needed then use:
if(_direction < 0) then {_direction = _direction + 360};
Bottom Section
Categories:
- Scripting Commands
- Introduced with Operation Flashpoint version 1.00
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Command Group: Uncategorised
- Scripting Commands OFP 1.96
- Scripting Commands OFP 1.46
- Scripting Commands ArmA
- Command Group: Math
- Scripting Commands ArmA2
- Scripting Commands Arma 3
- Scripting Commands Take On Helicopters