distance: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
(note see also)
m (Text replacement - "↵ ↵|" to " |")
 
(66 intermediate revisions by 8 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 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]] |= Parameter 1
|game7= arma3
|p2= param2: [[Object]] or [[Array]] in format [[PositionAGL]] or [[Position2D]] |= Parameter 2
|version7= 0.50


| [[Number]] -  Distance in meters or 1e10 if distance cannot be calculated |= Return value
|arg= global


| s2= location1 '''distance''' location2 |= Syntax
|gr1= Math - Geometry


|p21= location1: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]] |= Parameter 1
|descr= [[File:distance2D.jpg|400px|right]]
|p22=  location2: [[Location]] or [[Array]] in format [[Position]] or [[Position2D]] |= Parameter 2
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 [[Position#PositionAGL|PositionAGL]]. If [[Position#Introduction|Position2D]] is supplied, z is assumed 0. If you need distance between two [[Position#Position3D|Position3D]] coordinates, use [[vectorDistance]].}}


| r2=[[Number]] -  Distance in meters or 1e10 if distance cannot be calculated |= Return value
|s1= param1 [[distance]] param2
____________________________________________________________________________________________
 
|x1= <code>_meters = [[player]] [[distance]] _object;</code> |= Example 1
|x2= <code>_meters = [[player]] [[distance]] [1,2,3];</code> |= Example 2
|x3= <code>_meters = [1,2,3] [[distance]] [4,5,6];</code> |= Example 3
|x4= <code>_meters = [[position]] [[player]] [[distance]] [[nearestLocation]] <nowiki>[</nowiki>[[position]] [[player]], "hill"];</code> |= Example 54


____________________________________________________________________________________________
|p1= param1: [[Object]] or [[Array]] in format [[Position#PositionAGL|PositionAGL]] or [[Position#Introduction|Position2D]]


| [[distanceSqr]], [[vectorDistance]], [[distance2D]] |= See also
|p2= param2: [[Object]] or [[Array]] in format [[Position#PositionAGL|PositionAGL]] or [[Position#Introduction|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 [[Position#Introduction|Position2D]]
|p22= location2: [[Location]] or [[Array]] in format [[Position]] or [[Position#Introduction|Position2D]]
|r2= [[Number]] - distance in meters or 1e10 if distance cannot be calculated
|s3= a [[distance]] b
|s3since= arma3 2.18
|p41= a: [[Number]]
|p42= b: [[Number]]
|r3= [[Number]] - distance c calculated as c = sqrt(a * a + b * b);
|x1= <sqf>_meters = player distance _object;</sqf>
|x2= <sqf>_meters = player distance [1,2,3];</sqf>
|x3= <sqf>_meters = [1,2,3] distance [4,5,6];</sqf>
|x4= <sqf>_meters = position player distance nearestLocation [position player, "hill"];</sqf>
|seealso= [[distanceSqr]] [[vectorDistance]] [[distance2D]]
}}
}}


<h3 style="display:none">Notes</h3>
{{Note
<dl class="command_description">
|user= Sudden Death
 
|timestamp= 20070214164700
<!-- Note Section BEGIN -->
|text= Distance to position3D (array) does not work with {{ofp}}, only objects
<dd class="notedate">Posted on Feb 14, 2007 - 12:00
<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 class="notedate">Posted on Mar 10, 2010 - 12:00
{{Note
<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.
|user= Rommel
|timestamp= 20100310075400
|text= 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
{{Note
<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:
|user= Igneous01
|timestamp= 20120803101500
|text= 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.
}}


<dd class="notedate">Posted on March 22, 2014
{{Note
<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/>
|user= AgentRev01
|timestamp= 20140323025200
|text= 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>
 
<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 12:45, 8 April 2024

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 PositionAGL. If Position2D is supplied, z is assumed 0. If you need distance between two Position3D coordinates, use vectorDistance.
Groups:
Math - Geometry

Syntax 1

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

Syntax 2

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

Syntax 3

Syntax:
a distance b
Parameters:
a: Number
b: Number
Return Value:
Number - distance c calculated as c = sqrt(a * a + b * b);

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:
distanceSqr vectorDistance distance2D

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
Sudden Death - c
Posted on Feb 14, 2007 - 16:47 (UTC)
Distance to position3D (array) does not work with Operation Flashpoint, only objects Armed Assault: position3D (array) and object works
Rommel - c
Posted on Mar 10, 2010 - 07:54 (UTC)
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.
Igneous01 - c
Posted on Aug 03, 2012 - 10:15 (UTC)
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.
AgentRev01 - c
Posted on Mar 23, 2014 - 02:52 (UTC)
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.