BIS fnc rotateVector2D

From Bohemia Interactive Community
Revision as of 15:57, 25 July 2014 by Str (talk | contribs) (1 revision)
Jump to navigation Jump to search
scriptName "Functions\vectors\fn_rotateVector2D.sqf";
/************************************************************
	Rotate 2D Vector
	By Andrew Barron

Parameters: [[vector], angle]
Returns: [vector]

This function returns a 2D vector rotated a specified number
of degrees around the origin.
************************************************************/

private ["_v","_d","_x","_y"];

//extract parameters
_v = +(_this select 0); //we don't want to modify the originally passed vector
_d = _this select 1;

//extract old x/y values
_x = _v select 0;
_y = _v select 1;

//if vector is 3d, we don't want to mess up the last element
_v set [0, (cos _d)*_x - (sin _d)*_y];
_v set [1, (sin _d)*_x + (cos _d)*_y];

//return new vector
_v