vectorFromTo: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<dt class="note">([^<>]+) " to "<dt class="note">$1</dt> ")
m (Text replacement - "<sqf>([^↵][^<]*↵[^<]*)<\/sqf>" to "<sqf> $1 </sqf>")
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma3
|game1= arma3
 
|version1= 1.26
|1.26


|gr2= Math - Vectors
|gr2= Math - Vectors


| 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]].


| vector1 [[vectorFromTo]] vector2
|s1= vector1 [[vectorFromTo]] vector2


|p1= vector1: [[Array]] - vector 3D or 2D (since Arma 3 v1.99.146539, 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 v1.99.146539, z coordinate is defaulted to 0)
|p2= vector2: [[Array]] - vector 3D or 2D (since {{GVI|arma3|2.00}}, z coordinate is defaulted to 0)


| [[Array]]
|r1= [[Array]]
 
|x1= <code>[1,2,3] [[vectorFromTo]] [4,5,6]; //[0.57735,0.57735,0.57735]


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


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


| [[vectorDiff]], [[vectorCrossProduct]], [[vectorDotProduct]], [[vectorCos]], [[vectorMagnitude]], [[vectorMagnitudeSqr]], [[vectorMultiply]], [[vectorDistance]], [[vectorDistanceSqr]], [[vectorDir]], [[vectorUp]], [[setVectorDir]], [[setVectorUp]], [[setVectorDirAndUp]], [[vectorNormalized]], [[matrixMultiply]], [[matrixTranspose]]
{{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>
}}
}}
<dl class="command_description">
<!-- Note Section BEGIN -->
<dd class="notedate">Posted on 19 Jul, 2014</dd>
<dt class="note">[[User:ffur2007slx2_5| ffur2007slx2_5]]</dt>
<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 -->

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