Difference between revisions of "distance"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "|= Game version" to "|Game version=")
m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ")
 
(40 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Command|Comments=
+
{{RV|type=command
____________________________________________________________________________________________
 
  
| ofp |Game name=
+
|game1= ofp
 +
|version1= 1.00
  
|1.00|Game version=
+
|game2= ofpe
 +
|version2= 1.00
  
|arg= global |Multiplayer Arguments=
+
|game3= arma1
____________________________________________________________________________________________
+
|version3= 1.00
  
| Returns a distance in meters between [[Object]]s, [[Position]]s or [[Location]]s.
+
|game4= arma2
 +
|version4= 1.00
  
<br/><br/>{{Important | If positions are supplied as arguments, the coordinates are treated as [[PositionATL]] if over the land and as [[PositionASLW]] if over the sea. If [[Position2D]] is supplied, z is assumed 0. If you need distance between two [[Position3D]] coordinates, use [[vectorDistance]]}}
+
|game5= arma2oa
<br><br>
+
|version5= 1.50
[[Image:distance2D.jpg|400px]]|DESCRIPTION=
 
____________________________________________________________________________________________
 
  
| param1 '''distance''' param2 |SYNTAX=
+
|game6= tkoh
 +
|version6= 1.00
  
|p1= param1: [[Object]] or [[Array]] in format [[PositionAGL]] or [[Position2D]] |PARAMETER1=
+
|game7= arma3
|p2= param2: [[Object]] or [[Array]] in format [[PositionAGL]] or [[Position2D]] |PARAMETER2=
+
|version7= 0.50
  
| [[Number]] -  Distance in meters or 1e10 if distance cannot be calculated |RETURNVALUE=
+
|arg= global
  
| s2= location1 '''distance''' location2 |SYNTAX=
+
|gr1= Math - Geometry
  
|p21= location1: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]] |PARAMETER1=
+
|descr= [[Image:distance2D.jpg|400px|right]]
|p22=  location2: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]] |PARAMETER2=
+
Returns a distance in meters between [[Object]]s, [[Position]]s or [[Location]]s.
 +
{{Feature | important | If positions are supplied as arguments, the coordinates are treated as [[PositionATL]] if over the land and as [[PositionASLW]] if over the sea. If [[Position2D]] is supplied, z is assumed 0. If you need distance between two [[Position3D]] coordinates, use [[vectorDistance]].}}
  
| r2=[[Number]] -  Distance in meters or 1e10 if distance cannot be calculated |RETURNVALUE=
+
|s1= param1 [[distance]]  param2
____________________________________________________________________________________________
+
 
 +
|p1= param1: [[Object]] or [[Array]] in format [[PositionAGL]] or [[Position2D]]
 +
 
 +
|p2= param2: [[Object]] or [[Array]] in format [[PositionAGL]] or [[Position2D]]
 +
 
 +
|r1= [[Number]] -  Distance in meters or 1e10 if distance cannot be calculated
 +
 
 +
|s2= location1 [[distance]]  location2
 +
 
 +
|p21= location1: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]]
 +
 
 +
|p22= location2: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]]
 +
 
 +
|r2= [[Number]] - Distance in meters or 1e10 if distance cannot be calculated
 
    
 
    
|x1= <code>_meters = [[player]] [[distance]] _object;</code> |EXAMPLE1=
+
|x1= <code>_meters = [[player]] [[distance]] _object;</code>
|x2= <code>_meters = [[player]] [[distance]] [1,2,3];</code> |EXAMPLE2=
 
|x3= <code>_meters = [1,2,3] [[distance]] [4,5,6];</code> |EXAMPLE3=
 
|x4= <code>_meters = [[position]] [[player]] [[distance]] [[nearestLocation]] <nowiki>[</nowiki>[[position]] [[player]], "hill"];</code> |EXAMPLE5=4
 
  
____________________________________________________________________________________________
+
|x2= <code>_meters = [[player]] [[distance]] [1,2,3];</code>
  
| [[distanceSqr]], [[vectorDistance]], [[distance2D]] |SEEALSO=
+
|x3= <code>_meters = [1,2,3] [[distance]] [4,5,6];</code>
  
 +
|x4= <code>_meters = [[position]] [[player]] [[distance]] [[nearestLocation]] [<nowiki/>[[position]] [[player]], "hill"];</code>
 +
 +
|seealso= [[distanceSqr]], [[vectorDistance]], [[distance2D]]
 
}}
 
}}
  
<h3 style="display:none">Notes</h3>
 
 
<dl class="command_description">
 
<dl class="command_description">
  
<!-- Note Section BEGIN -->
+
<dd class="notedate">Posted on Feb 14, 2007 - 12:00</dd>
<dd class="notedate">Posted on Feb 14, 2007 - 12:00
+
<dt class="note">[[User:Sudden Death|Sudden Death]]</dt>
<dt class="note">'''[[User:Sudden Death|Sudden Death]]'''<dd class="note">distance to position3D (array) doesnt work with OFP, only objects
+
<dd class="note">Distance to position3D (array) does not work with {{ofp}}, only objects
  
 
Armed Assault:
 
Armed Assault:
 
position3D (array) and object works
 
position3D (array) and object works
 
+
<dt><dt>
<dd class="notedate">Posted on Mar 10, 2010 - 12:00
+
<dd class="notedate">Posted on Mar 10, 2010 - 12:00</dd>
<dt class="note">'''[[User:Rommel|Rommel]]'''<dd class="note">This returns the map distance, not the vector distance, [0,0,0] distance [0,0,1] can be >1 or <1, not exactly 1; unlike the vector math.
+
<dt class="note">[[User:Rommel|Rommel]]</dt>
 
+
<dd class="note">This returns the map distance, not the vector distance, [0,0,0] distance [0,0,1] can be >1 or <1, not exactly 1; unlike the vector math.
<dd class="notedate">Posted on Aug 03, 2012 - 10:15
+
<dt><dt>
<dt class="note">'''[[User:Ignoues01|Igneous01]]'''<dd class="note">If a position in format [x, y, z] is provided for both arguments, distance also checks the z dimension as well. Ie:
+
<dd class="notedate">Posted on Aug 03, 2012 - 10:15</dd>
 +
<dt class="note">[[User:Ignoues01|Igneous01]]</dt>
 +
<dd class="note">If a position in format [x, y, z] is provided for both arguments, distance also checks the z dimension as well. Ie:
 
player distance [0,0,200]
 
player distance [0,0,200]
 
will return 200, if the player is at this position at ground/sea level.
 
will return 200, if the player is at this position at ground/sea level.
 
+
<dt><dt>
<dd class="notedate">Posted on March 22, 2014
+
<dd class="notedate">Posted on March 22, 2014</dd>
<dt class="note">'''[[User:AgentRev01|AgentRev]]'''<dd class="note">When objects are supplied as arguments, distance is calculated from their model center (object modelToWorld [0,0,0]), and not the position returned by getPos/ATL/ASL.<br/>
+
<dt class="note">[[User:AgentRev01|AgentRev]]</dt>
 +
<dd class="note">When objects are supplied as arguments, distance is calculated from their model center (object modelToWorld [0,0,0]), and not the position returned by getPos/ATL/ASL.<br>
 
However, this is not relevant for units, as their model center matches their world position.
 
However, this is not relevant for units, as their model center matches their world position.
  
<!-- Note Section END -->
 
 
</dl>
 
</dl>
 
<h3 style="display:none">Bottom Section</h3>
 
 
[[Category:Scripting Commands|DISTANCE]]
 
[[Category:Scripting Commands OFP 1.99|DISTANCE]]
 
[[Category:Scripting Commands OFP 1.96|DISTANCE]]
 
[[Category:Scripting Commands OFP 1.46|DISTANCE]]
 
[[Category:Scripting Commands ArmA|DISTANCE]]
 
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting Commands ArmA2|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting Commands Arma 3|{{uc:{{PAGENAME}}}}]]
 
[[Category:Scripting_Commands_Take_On_Helicopters|{{uc:{{PAGENAME}}}}]]
 

Latest revision as of 23:05, 19 June 2021

Hover & click on the images for description

Description

Description:
distance2D.jpg

Returns a distance in meters between Objects, Positions or Locations.

If positions are supplied as arguments, the coordinates are treated as PositionATL if over the land and as PositionASLW if over the sea. If Position2D is supplied, z is assumed 0. If you need distance between two Position3D coordinates, use vectorDistance.
Groups:
Math - Geometry

Syntax

Syntax:
param1 distance param2
Parameters:
param1: Object or Array in format PositionAGL or Position2D
param2: Object or Array in format PositionAGL or Position2D
Return Value:
Number - Distance in meters or 1e10 if distance cannot be calculated

Alternative Syntax

Syntax:
location1 distance location2
Parameters:
location1: Location or Array in format Position or Position2D
location2: Location or Array in format Position or Position2D
Return Value:
Number - Distance in meters or 1e10 if distance cannot be calculated

Examples

Example 1:
_meters = player distance _object;
Example 2:
_meters = player distance [1,2,3];
Example 3:
_meters = [1,2,3] distance [4,5,6];
Example 4:
_meters = position player distance nearestLocation [position player, "hill"];

Additional Information

See also:
distanceSqrvectorDistancedistance2D

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 Feb 14, 2007 - 12:00
Sudden Death
Distance to position3D (array) does not work with Operation Flashpoint, only objects Armed Assault: position3D (array) and object works
Posted on Mar 10, 2010 - 12:00
Rommel
This returns the map distance, not the vector distance, [0,0,0] distance [0,0,1] can be >1 or <1, not exactly 1; unlike the vector math.
Posted on Aug 03, 2012 - 10:15
Igneous01
If a position in format [x, y, z] is provided for both arguments, distance also checks the z dimension as well. Ie: player distance [0,0,200] will return 200, if the player is at this position at ground/sea level.
Posted on March 22, 2014
AgentRev
When objects are supplied as arguments, distance is calculated from their model center (object modelToWorld [0,0,0]), and not the position returned by getPos/ATL/ASL.
However, this is not relevant for units, as their model center matches their world position.