vectorFromTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(53 intermediate revisions by 2 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


|gr1= Vectors|=GROUP1
|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]].


____________________________________________________________________________________________
|s1= vector1 [[vectorFromTo]] vector2


| Unit vector, equal to direction from vector1 to vector2. In other words this command produces [[vectorNormalized | normalised vector]] between given 2 points. To get a normal vector use [[vectorDiff]]. |DESCRIPTION=
|p1= vector1: [[Array]] - vector 3D or 2D (since {{GVI|arma3|2.00}}, z coordinate is defaulted to 0)
____________________________________________________________________________________________


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


|p1= vector1: [[Array]] - vector 3D or 2D (since Arma 3 v1.99.146539, z coordinate is defaulted to 0) |PARAMETER1=
|r1= [[Array]]


|p2= vector2: [[Array]] - vector 3D or 2D (since Arma 3 v1.99.146539, z coordinate is defaulted to 0) |PARAMETER2=
|x1= <sqf>
[1,2,3] vectorFromTo [4,5,6];
// is the same as
vectorNormalized ([4,5,6] vectorDiff [1,2,3]);
</sqf>


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


{{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>

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