vectorFromTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - " |r1=[[" to " |r1= [[")
(Fix description)
Line 6: Line 6:
|gr2= Math - Vectors
|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. To get a normal vector use [[vectorDiff]].
|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
|s1= vector1 [[vectorFromTo]] 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 {{GVI|arma3|2.00}}, 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 {{GVI|arma3|2.00}}, z coordinate is defaulted to 0)


|r1= [[Array]]
|r1= [[Array]]


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


|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]]
Line 33: Line 31:
<dd class="note">
<dd class="note">
{{GVI|arma3|1.26}} Algorithm:
{{GVI|arma3|1.26}} Algorithm:
<code>Vector1 = [x1,y1,z1]; Vector2 = [x2,y2,z2];
<code>Vector1 = [x1,y1,z1];
Result = [(x1 – x2)/([[sqrt]] ((x1 – x2) ^ 2 + (y1 – y2) ^ 2 + (z1 – z2) ^ 2)),  
Vector2 = [x2,y2,z2];
          (y1 – y2)/([[sqrt]] ((x1 – x2) ^ 2 + (y1 – y2) ^ 2 + (z1 – z2) ^ 2)),  
Result = [
          (z1 – z2)/([[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)),  
(z1 – z2) / ([[sqrt]] ((x1 – x2) ^ 2 + (y1 – y2) ^ 2 + (z1 – z2) ^ 2))
];
</code>
</code>
</dd>
</dl>
</dl>

Revision as of 14:05, 26 August 2021

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:
vectorDiffvectorCrossProductvectorDotProductvectorCosvectorMagnitudevectorMagnitudeSqrvectorMultiplyvectorDistancevectorDistanceSqrvectorDirvectorUpsetVectorDirsetVectorUpsetVectorDirAndUpvectorNormalizedmatrixMultiplymatrixTranspose

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 19 Jul, 2014
ffur2007slx2_5
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)) ];