vectorFromTo: 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>")
 
(12 intermediate revisions by the same user not shown)
Line 17: Line 17:
|r1= [[Array]]
|r1= [[Array]]


|x1= <code>[1,2,3] [[vectorFromTo]] [4,5,6];
|x1= <sqf>
{{cc|is the same as}}
[1,2,3] vectorFromTo [4,5,6];
[[vectorNormalized]] ([4,5,6] [[vectorDiff]] [1,2,3]);</code>
// is the same as
vectorNormalized ([4,5,6] vectorDiff [1,2,3]);
</sqf>


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


<dl class="command_description">
{{Note
 
|user= ffur2007slx2_5
<dt></dt>
|timestamp= 20140719160100
<dd class="notedate">Posted on 19 Jul, 2014</dd>
|text= {{GVI|arma3|1.26}} Algorithm:
<dt class="note">[[User:ffur2007slx2_5| ffur2007slx2_5]]</dt>
<sqf>
<dd class="note">
Vector1 = [x1,y1,z1];
{{GVI|arma3|1.26}} Algorithm:
<code>Vector1 = [x1,y1,z1];
Vector2 = [x2,y2,z2];
Vector2 = [x2,y2,z2];
Result = [
Result = [
(x1 x2) / ([[sqrt]] ((x1 x2) ^ 2 + (y1 y2) ^ 2 + (z1 z2) ^ 2)),  
(x1 - x2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)),  
(y1 y2) / ([[sqrt]] ((x1 x2) ^ 2 + (y1 y2) ^ 2 + (z1 z2) ^ 2)),  
(y1 - y2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)),  
(z1 z2) / ([[sqrt]] ((x1 x2) ^ 2 + (y1 y2) ^ 2 + (z1 z2) ^ 2))
(z1 - z2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2))
];
];
</code>
</sqf>
</dd>
}}
 
</dl>

Latest revision as of 19:43, 3 September 2024

Hover & click on the images for description

Description

Description:
Unit vector, equal to direction from vector1 to vector2. In other words this command produces normalised vector between given 2 points.
To get a non-normalised vector, use vectorDiff.
Groups:
Math - Vectors

Syntax

Syntax:
vector1 vectorFromTo vector2
Parameters:
vector1: Array - vector 3D or 2D (since Arma 3 logo black.png2.00, z coordinate is defaulted to 0)
vector2: Array - vector 3D or 2D (since Arma 3 logo black.png2.00, z coordinate is defaulted to 0)
Return Value:
Array

Examples

Example 1:
[1,2,3] vectorFromTo [4,5,6]; // is the same as vectorNormalized ([4,5,6] vectorDiff [1,2,3]);

Additional Information

See also:
vectorDiff vectorCrossProduct vectorDotProduct vectorCos vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorDistance vectorDistanceSqr vectorDir vectorUp setVectorDir setVectorUp setVectorDirAndUp vectorNormalized 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
ffur2007slx2_5 - c
Posted on Jul 19, 2014 - 16:01 (UTC)
Arma 3 logo black.png1.26 Algorithm:
Vector1 = [x1,y1,z1]; Vector2 = [x2,y2,z2]; Result = [ (x1 - x2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)), (y1 - y2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)), (z1 - z2) / (sqrt ((x1 - x2) ^ 2 + (y1 - y2) ^ 2 + (z1 - z2) ^ 2)) ];