Difference between revisions of "distance"

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\|game([0-9]) ?= (.+) \|version([0-9]) ?= (.+) " to "|game$1= $2 |version$3= $4 ")
 
(69 intermediate revisions by 17 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 |= Arguments in MP
+
|game3= arma1
____________________________________________________________________________________________
+
|version3= 1.00
  
| Returns the distance in meters between two objects or positions. |= Description
+
|game4= arma2
____________________________________________________________________________________________
+
|version4= 1.00
  
| obj1 or pos1 '''distance''' obj2 or pos2 |= Syntax
+
|game5= arma2oa
 +
|version5= 1.50
  
|p1= obj1 or pos1: [[Object]] or [[Array]] |= Parameter 1
+
|game6= tkoh
 +
|version6= 1.00
  
|p2= obj2 or pos2: [[Object]] or [[Array]] |= Parameter 2
+
|game7= arma3
 +
|version7= 0.50
  
| [[Number]] - 
+
|arg= global
Distance in meters. |= Return value
 
____________________________________________________________________________________________
 
 
 
|x1= <code>?((player '''distance''' generator)<10) : player [[exec]] "activateGenerator.sqs"</code> |= Example 1
 
____________________________________________________________________________________________
 
  
| |= See also
+
|gr1= Math - Geometry
  
 +
|descr= [[Image:distance2D.jpg|400px|right]]
 +
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]].}}
 +
 +
|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>
 +
 +
|x2= <code>_meters = [[player]] [[distance]] [1,2,3];</code>
 +
 +
|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</dd>
<dt class="note">'''[[User:Sudden Death|Sudden Death]]'''</dt><dd class="note">distance to position3D (array) doesnt work with OFP, only objects
+
<dt class="note">[[User:Sudden Death|Sudden Death]]<dd class="note">Distance to position3D (array) doesnt work with {{ofp}}, only objects
  
 
Armed Assault:
 
Armed Assault:
 
position3D (array) and object works
 
position3D (array) and object works
</dd>
+
<dt><dt>
<dd class="notedate">--[[User:5133p39|5133p39]] 00:12, 18 June 2007 (CEST)</dd>
+
<dd class="notedate">Posted on Mar 10, 2010 - 12:00</dd>
<dt class="note">'''Armed Assault:'''</dt>
+
<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.
<dd class="note">Depending on the type of the first parameter, either the 3D distance or 2D distance is returned.
+
<dt><dt>
 
+
<dd class="notedate">Posted on Aug 03, 2012 - 10:15</dd>
The following will return 2D distance:
+
<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:
  (getPos unit1) Distance (getPos unit2)
+
player distance [0,0,200]
  (getPos unit1) Distance unit2
+
will return 200, if the player is at this position at ground/sea level.
instead of this which will return 3D distance:
+
<dt><dt>
  unit1 Distance unit2
+
<dd class="notedate">Posted on March 22, 2014</dd>
  unit1 Distance (getPos unit2)
+
<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>
</dd>
+
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]]
+
{{GameCategory|arma1|Scripting Commands}}
[[Category:Scripting Commands OFP 1.96|DISTANCE]]
+
{{GameCategory|arma2|Scripting Commands}}
[[Category:Scripting Commands OFP 1.46|DISTANCE]]
+
{{GameCategory|arma3|Scripting Commands}}
[[Category:Scripting Commands ArmA|DISTANCE]]
+
{{GameCategory|tkoh|Scripting Commands}}
[[Category:Command_Group:_Object_Information|{{uc:{{PAGENAME}}}}]]
 

Latest revision as of 15:56, 3 May 2021

Hover & click on the images for descriptions

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.

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
Groups:
Math - Geometry

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) doesnt 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.