vectorCos: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|seealso= *\[\[([^ ]+)\]\], \[\[([^ ]+)\]\]" to "|seealso= $1 $2")
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(10 intermediate revisions by the same user not shown)
Line 10: Line 10:
|s1= vector1 [[vectorCos]] vector2
|s1= vector1 [[vectorCos]] vector2


|p1= vector1: [[Array]] - vector 3D or 2D (since Arma 3 v2.00, z coordinate is defaulted to 0)
|p1= vector1: [[Array]] - vector 3D or 2D (since {{arma3}} v2.00, the z coordinate is defaulted to 0)


|p2= vector2: [[Array]] - vector 3D or 2D (since Arma 3 v2.00, z coordinate is defaulted to 0)
|p2= vector2: [[Array]] - vector 3D or 2D (since {{arma3}} v2.00, the z coordinate is defaulted to 0)


|r1= [[Number]]
|r1= [[Number]]


|x1= <code>_cos = [[getPos]] [[player]] [[vectorCos]] [0,0,2];</code>
|x1= <sqf>_cos = getPos player vectorCos [0,0,2];</sqf>


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


Line 28: Line 28:
<dd class="note">
<dd class="note">
{{GVI|arma3|1.22}} Algorithm:
{{GVI|arma3|1.22}} Algorithm:
<code>Vector1 = [x1,y1,z1]; Vector2 = [x2,y2,z2];
<sqf>
Result = ((x1 * x2) + (y1 * y2) + (z1 * z2))/(([[sqrt]] (x1 ^ 2 + y1 ^ 2 + z1 ^ 2))*([[sqrt]] (x2 ^ 2 + y2 ^ 2 + z2 ^ 2)));</code>
Vector1 = [x1,y1,z1]; Vector2 = [x2,y2,z2];
Result = ((x1 * x2) + (y1 * y2) + (z1 * z2))/((sqrt (x1 ^ 2 + y1 ^ 2 + z1 ^ 2))*(sqrt (x2 ^ 2 + y2 ^ 2 + z2 ^ 2)));
</sqf>
Given two vectors of attributes, A and B, the cosine similarity, cos(θ), is represented using a dot product and magnitude. The resulting similarity values indicating intermediate similarity or dissimilarity between two vectors.
Given two vectors of attributes, A and B, the cosine similarity, cos(θ), is represented using a dot product and magnitude. The resulting similarity values indicating intermediate similarity or dissimilarity between two vectors.
</dl>
</dl>

Latest revision as of 19:43, 3 September 2024

Hover & click on the images for description

Description

Description:
Cosine of angle between two 3D vectors.
Groups:
Math - Vectors

Syntax

Syntax:
vector1 vectorCos vector2
Parameters:
vector1: Array - vector 3D or 2D (since Arma 3 v2.00, the z coordinate is defaulted to 0)
vector2: Array - vector 3D or 2D (since Arma 3 v2.00, the z coordinate is defaulted to 0)
Return Value:
Number

Examples

Example 1:
_cos = getPos player vectorCos [0,0,2];

Additional Information

See also:
vectorAdd vectorDiff vectorCrossProduct vectorDotProduct vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorDistance vectorDistanceSqr vectorDir vectorUp setVectorDir setVectorUp setVectorDirAndUp vectorNormalized vectorFromTo 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
Posted on 28 Jun, 2014
ffur2007slx2_5
Arma 3 logo black.png1.22 Algorithm:
Vector1 = [x1,y1,z1]; Vector2 = [x2,y2,z2]; Result = ((x1 * x2) + (y1 * y2) + (z1 * z2))/((sqrt (x1 ^ 2 + y1 ^ 2 + z1 ^ 2))*(sqrt (x2 ^ 2 + y2 ^ 2 + z2 ^ 2)));
Given two vectors of attributes, A and B, the cosine similarity, cos(θ), is represented using a dot product and magnitude. The resulting similarity values indicating intermediate similarity or dissimilarity between two vectors.