vectorAdd: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(Add 2.14 quirk)
m (Fix)
Line 6: Line 6:
|gr2= Math - Vectors
|gr2= Math - Vectors


|descr= Adds two 3D vectors. Replaces [[BIS_fnc_vectorAdd]].
|descr= Adds two arrays of numbers. Replaces [[BIS_fnc_vectorAdd]].


|s1= vector1 [[vectorAdd]] vector2
|s1= vector1 [[vectorAdd]] vector2


|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
|p1= vector1: [[Array]] of [[Number]]s of any size


|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
|p2= vector2: [[Array]] of [[Number]]s 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>
|x4= <sqf>[1, 2, 3, 4, 5, 6] vectorAdd [10, 10, 10]; // returns [11, 12, 13, 4, 5, 6]</sqf>


|x5= <sqf>
|x5= <sqf>
// beware of traps!
[1, 2, 3] vectorAdd [1, 2, 3]; // [2, 4, 6]
[1, 2, 3] vectorAdd [1, 2, 3]; // [2, 4, 6]
[1, 2] vectorAdd [1, 2, 3]; // [2, 4, 3]
[1, 2] vectorAdd [1, 2, 3]; // [2, 4, 3]
[1, 2] vectorAdd [1, 2]; // [2, 4, 0] - due to backward compatibility requirement
[1, 2, 3] vectorAdd [1, 2]; // [2, 4, 3]
[1] vectorAdd [1, 2]; // [2, 2]
[1, 2] vectorAdd [1, 2]; // [2, 4]
[1] vectorAdd [1]; // [2]
</sqf>
</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]]
}}
{{Note
|user= Lou Montana
|timestamp= 20231102174030
|text= <sqf>
// between {{GVI|arma3|2.00|size= 0.75}} and {{GVI|arma3|2.14|size= 0.75}}:
[1, 2] vectorAdd [1, 2]; // [2, 4, 0]
</sqf>
}}
}}

Revision as of 18:40, 2 November 2023

Hover & click on the images for description

Description

Description:
Adds two arrays of numbers. Replaces BIS_fnc_vectorAdd.
Groups:
Math - Vectors

Syntax

Syntax:
vector1 vectorAdd vector2
Parameters:
vector1: Array of Numbers of any size
vector2: Array of Numbers 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:
[1, 2, 3] vectorAdd [1, 2, 3]; // [2, 4, 6] [1, 2] vectorAdd [1, 2, 3]; // [2, 4, 3] [1, 2, 3] vectorAdd [1, 2]; // [2, 4, 3] [1, 2] vectorAdd [1, 2]; // [2, 4]

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
Lou Montana - c
Posted on Nov 02, 2023 - 17:40 (UTC)
// between 2.00 and 2.14: [1, 2] vectorAdd [1, 2]; // [2, 4, 0]