vectorAdd: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|x([0-9])= *<code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
(Add 2.14 quirk)
Line 10: Line 10:
|s1= vector1 [[vectorAdd]] vector2
|s1= vector1 [[vectorAdd]] vector2


|p1= vector1: [[Array]] - vector 3D or 2D (since Arma 3 v2.00, z coordinate is defaulted to 0)
|p1= vector1: [[Array]] - vector 3D, {{GVI|arma3|2.00|size= 0.75}} 2D (z coordinate is defaulted to 0) or {{GVI|arma3|2.14|size= 0.75}} array of any size


|p2= vector2: [[Array]] - vector 3D or 2D (since Arma 3 v2.00, z coordinate is defaulted to 0)
|p2= vector2: [[Array]] - vector 3D, {{GVI|arma3|2.00|size= 0.75}} 2D (z coordinate is defaulted to 0) or {{GVI|arma3|2.14|size= 0.75}} array of any size


|r1= [[Array]]
|r1= [[Array]]
Line 18: Line 18:
|x1= <sqf>hint str (velocity unit1 vectorAdd velocity unit2);</sqf>
|x1= <sqf>hint str (velocity unit1 vectorAdd velocity unit2);</sqf>


|x2= <sqf>[5,10,5] vectorAdd [5,5,10]; // returns [10,15,15]</sqf>
|x2= <sqf>[5, 10, 5] vectorAdd [5, 5, 10]; // returns [10, 15, 15]</sqf>


|x3= <sqf>[0,0] vectorAdd [1,-2]; // returns [1,-2,0]</sqf>
|x3= <sqf>[0, 0] vectorAdd [1, -2]; // returns [1, -2, 0]</sqf>
 
|x4= <sqf>[1, 2, 3, 4, 5, 6] vectorAdd [10, 10, 10]; // returns [11, 12, 13, 4, 5, 6]</sqf>
 
|x5= <sqf>
// beware of traps!
[1, 2, 3] vectorAdd [1, 2, 3]; // [2, 4, 6]
[1, 2] vectorAdd [1, 2, 3]; // [2, 4, 3]
[1, 2] vectorAdd [1, 2]; // [2, 4, 0] - due to backward compatibility requirement
[1] vectorAdd [1, 2]; // [2, 2]
[1] vectorAdd [1]; // [2]
</sqf>


|seealso= [[vectorDiff]] [[vectorCrossProduct]] [[vectorDotProduct]] [[vectorCos]] [[vectorMagnitude]] [[vectorMagnitudeSqr]] [[vectorMultiply]] [[vectorDistance]] [[vectorDistanceSqr]] [[vectorDir]] [[vectorUp]] [[setVectorDir]] [[setVectorUp]] [[setVectorDirAndUp]] [[matrixMultiply]] [[matrixTranspose]]
|seealso= [[vectorDiff]] [[vectorCrossProduct]] [[vectorDotProduct]] [[vectorCos]] [[vectorMagnitude]] [[vectorMagnitudeSqr]] [[vectorMultiply]] [[vectorDistance]] [[vectorDistanceSqr]] [[vectorDir]] [[vectorUp]] [[setVectorDir]] [[setVectorUp]] [[setVectorDirAndUp]] [[matrixMultiply]] [[matrixTranspose]]
}}
}}

Revision as of 18:08, 2 November 2023

Hover & click on the images for description

Description

Description:
Adds two 3D vectors. Replaces BIS_fnc_vectorAdd.
Groups:
Math - Vectors

Syntax

Syntax:
vector1 vectorAdd vector2
Parameters:
vector1: Array - vector 3D, Arma 3 logo black.png2.00 2D (z coordinate is defaulted to 0) or Arma 3 logo black.png2.14 array of any size
vector2: Array - vector 3D, Arma 3 logo black.png2.00 2D (z coordinate is defaulted to 0) or Arma 3 logo black.png2.14 array of any size
Return Value:
Array

Examples

Example 1:
hint str (velocity unit1 vectorAdd velocity unit2);
Example 2:
[5, 10, 5] vectorAdd [5, 5, 10]; // returns [10, 15, 15]
Example 3:
[0, 0] vectorAdd [1, -2]; // returns [1, -2, 0]
Example 4:
[1, 2, 3, 4, 5, 6] vectorAdd [10, 10, 10]; // returns [11, 12, 13, 4, 5, 6]
Example 5:
// beware of traps! [1, 2, 3] vectorAdd [1, 2, 3]; // [2, 4, 6] [1, 2] vectorAdd [1, 2, 3]; // [2, 4, 3] [1, 2] vectorAdd [1, 2]; // [2, 4, 0] - due to backward compatibility requirement [1] vectorAdd [1, 2]; // [2, 2] [1] vectorAdd [1]; // [2]

Additional Information

See also:
vectorDiff vectorCrossProduct vectorDotProduct vectorCos vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorDistance vectorDistanceSqr vectorDir vectorUp setVectorDir setVectorUp setVectorDirAndUp matrixMultiply matrixTranspose

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