vectorFromTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(example correction)
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(64 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{Command|= Comments
{{RV|type=command
____________________________________________________________________________________________


| arma3 |= Game name
|game1= arma3
|version1= 1.26


|1.26|= Game version
|gr2= Math - Vectors


____________________________________________________________________________________________
|descr= Unit vector, equal to direction from vector1 to vector2. In other words this command produces [[vectorNormalized | normalised vector]] between given 2 points.<br>
To get a non-normalised vector, use [[vectorDiff]].


| Unit vector, equal to direction from vector1 to vector2. In other words this command produces [[vectorNormalized]] between given 2 points. To get a normal vector use [[vectorDiff]]. |= Description
|s1= vector1 [[vectorFromTo]] vector2
____________________________________________________________________________________________


| vector1 '''vectorFromTo''' vector2 |= Syntax
|p1= vector1: [[Array]] - vector 3D or 2D (since {{GVI|arma3|2.00}}, z coordinate is defaulted to 0)


|p1= vector1: [[Array]] |= Parameter 1
|p2= vector2: [[Array]] - vector 3D or 2D (since {{GVI|arma3|2.00}}, z coordinate is defaulted to 0)


|p2= vector2: [[Array]] |= Parameter 2
|r1= [[Array]]


| [[Array]] |= Return value
|x1= <sqf>
____________________________________________________________________________________________
[1,2,3] vectorFromTo [4,5,6];
 
// is the same as
|x1= <code>[1,2,3] [[vectorFromTo]] [4,5,6]; //[0.57735,0.57735,0.57735]
vectorNormalized ([4,5,6] vectorDiff [1,2,3]);
</sqf>


//is the same as
|seealso= [[vectorDiff]] [[vectorCrossProduct]] [[vectorDotProduct]] [[vectorCos]] [[vectorMagnitude]] [[vectorMagnitudeSqr]] [[vectorMultiply]] [[vectorDistance]] [[vectorDistanceSqr]] [[vectorDir]] [[vectorUp]] [[setVectorDir]] [[setVectorUp]] [[setVectorDirAndUp]] [[vectorNormalized]] [[matrixMultiply]] [[matrixTranspose]]
 
}}
[[vectorNormalized]] ( [4,5,6] [[vectorDiff]] [1,2,3]); //[0.57735,0.57735,0.57735]
</code> |= Example 1
____________________________________________________________________________________________
 
| [[vectorDiff]], [[vectorCrossProduct]], [[vectorDotProduct]], [[vectorCos]], [[vectorMagnitude]], [[vectorMagnitudeSqr]], [[vectorMultiply]], [[vectorDistance]], [[vectorDistanceSqr]], [[vectorDir]], [[vectorUp]], [[setVectorDir]], [[setVectorUp]], [[setVectorDirAndUp]], [[vectorNormalized]] |= See also


{{Note
|user= ffur2007slx2_5
|timestamp= 20140719160100
|text= {{GVI|arma3|1.26}} Algorithm:
<sqf>
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))
];
</sqf>
}}
}}
<h3 style="display:none">Notes</h3>
<dl class="command_description">
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on 19 Jul, 2014
<dt class="note">'''[[User:ffur2007slx2_5| ffur2007slx2_5]]'''<dd class="note">
(ArmA3 1.26) Algorithm:
<code>
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))];
</code>
</dl>
<!-- Note Section END -->
<h3 style="display:none">Bottom Section</h3>
[[Category:Arma_3:_New_Scripting_Commands_List|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
[[Category:Scripting Commands|{{uc:{{PAGENAME}}}}]]

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)) ];