BIS fnc rotateVector2D: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "(\|[pr][0-9]+ *= *[^- ]*) *- *N([a-z ])" to "$1 - n$2")
 
(33 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Function|Comments=
{{RV|type=function
____________________________________________________________________________________________


| arma2 |Game name=
|game1= arma2
|version1= 1.00


|1.00|Game version=
|game2= arma2oa
____________________________________________________________________________________________
|version2= 1.50


| This function returns a 2D vector rotated a specified number of degrees around the origin. |Description=
|game3= tkoh
____________________________________________________________________________________________
|version3= 1.00


| [vector2D, angle] call [[BIS_fnc_rotateVector2D]] |Syntax=
|game4= arma3
|version4= 0.50


|gr1= Vectors


|p1= vector2D: [[Array]] - 2D vector |Parameter 1=
|descr= This function returns a 2D vector rotated a specified number of degrees around the origin.


|p2= angle: [[Number]] - Angle in degree|Parameter 2=
|s1= [vector2D, angle] call [[BIS_fnc_rotateVector2D]]


|p1= vector2D: [[Array]] - 2D vector


| [[Array]] - New vector |Return value=
|p2= angle: [[Number]] - angle in degree


<!---
|r1= [[Array]] - new vector
|exec= spawn |Execution=
--->
____________________________________________________________________________________________


|x1= <code>[ [5,3], 60 ] [[call]] [[BIS_fnc_rotateVector2D]];//Returns[-0.0980766,5.83013]</code>|Example 1=
|x1= <sqf>[[5,3], 60] call BIS_fnc_rotateVector2D;//Returns[-0.0980766,5.83013]</sqf>
____________________________________________________________________________________________


| [[BIS_fnc_crossProduct]], [[BIS_fnc_magnitudeSqr]], [[BIS_fnc_vectorFromXToY]] |See also=
|seealso= [[BIS_fnc_crossProduct]] [[BIS_fnc_magnitudeSqr]] [[BIS_fnc_vectorFromXToY]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= AgentRev
<!-- Note Section BEGIN -->
|timestamp= 20150121141500
 
|text= Be careful when using this function in conjunction with [[getDir]] or [[BIS_fnc_dirTo]], which return a clockwise angle, while the rotation is done counterclockwise as per trigonometric conventions.<br>
<!-- Note Section END -->
</dl>
 
<h3 style="display:none">Bottom Section</h3>
[[Category:Function Group: Vectors|{{uc:rotateVector2D}}]]
[[Category:Functions|{{uc:rotateVector2D}}]]
[[Category:{{Name|arma2}}: Functions|{{uc:rotateVector2D}}]]
[[Category:{{Name|arma2oa}}: Functions|{{uc:rotateVector2D}}]]
[[Category:{{Name|tkoh}}: Functions|{{uc:rotateVector2D}}]]
[[Category:{{Name|arma3}}: Functions|{{uc:rotateVector2D}}]]
 
<!-- CONTINUE Notes -->
<dl class="command_description">
<dd class="notedate">Posted on January 21, 2015 - 14:15 (UTC)</dd>
<dt class="note">[[User:AgentRev|AgentRev]]</dt>
<dd class="note">
Be careful when using this function in conjunction with [[getDir]] or [[BIS_fnc_dirTo]]; they return a clockwise angle, while the rotation is done counterclockwise as per trigonometric conventions.
<br>
To counter this, simply negate their output:
To counter this, simply negate their output:
 
<sqf>
<code>[<nowiki>[0,1,0]</nowiki>, '''-('''[[getDir]] _object''')'''] [[call]] [[BIS_fnc_rotateVector2D]];</code>
[[0,1,0], -(getDir _object)] call BIS_fnc_rotateVector2D;
<code>[<nowiki>[0,1,0]</nowiki>, '''-('''[_unit, _vehicle] [[call]] [[BIS_fnc_dirTo]]''')'''] [[call]] [[BIS_fnc_rotateVector2D]];</code>
[[0,1,0], -([_unit, _vehicle] call BIS_fnc_dirTo)] call BIS_fnc_rotateVector2D;
</dd>
</sqf>
</dl>
}}
<!-- DISCONTINUE Notes -->

Latest revision as of 15:39, 8 November 2023

Hover & click on the images for description

Description

Description:
This function returns a 2D vector rotated a specified number of degrees around the origin.
Execution:
call
Groups:
Vectors

Syntax

Syntax:
[vector2D, angle] call BIS_fnc_rotateVector2D
Parameters:
vector2D: Array - 2D vector
angle: Number - angle in degree
Return Value:
Array - new vector

Examples

Example 1:
[[5,3], 60] call BIS_fnc_rotateVector2D;//Returns[-0.0980766,5.83013]

Additional Information

See also:
BIS_fnc_crossProduct BIS_fnc_magnitudeSqr BIS_fnc_vectorFromXToY

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
AgentRev - c
Posted on Jan 21, 2015 - 14:15 (UTC)
Be careful when using this function in conjunction with getDir or BIS_fnc_dirTo, which return a clockwise angle, while the rotation is done counterclockwise as per trigonometric conventions.
To counter this, simply negate their output:
[[0,1,0], -(getDir _object)] call BIS_fnc_rotateVector2D; [[0,1,0], -([_unit, _vehicle] call BIS_fnc_dirTo)] call BIS_fnc_rotateVector2D;