distance: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "<code>([^ ]*)\[\[([a-zA-Z0-9_]+)\]\]([^ ]*)<\/code>" to "<code>$1$2$3</code>")
m (Text replacement - "\|x([0-9]) *= * <code>([^<]*)<\/code>" to "|x$1= <sqf>$2</sqf>")
(7 intermediate revisions by the same user not shown)
Line 46: Line 46:
|r2= [[Number]] - distance in meters or 1e10 if distance cannot be calculated
|r2= [[Number]] - distance in meters or 1e10 if distance cannot be calculated
    
    
|x1= <code>_meters = player [[distance]] _object;</code>
|x1= <sqf>_meters = player distance _object;</sqf>


|x2= <code>_meters = player [[distance]] [1,2,3];</code>
|x2= <sqf>_meters = player distance [1,2,3];</sqf>


|x3= <code>_meters = [1,2,3] distance [4,5,6];</code>
|x3= <sqf>_meters = [1,2,3] distance [4,5,6];</sqf>


|x4= <code>_meters = position [[player]] [[distance]] [[nearestLocation]] [<nowiki/>[[position]] [[player]], "hill"];</code>
|x4= <sqf>_meters = position player distance nearestLocation [position player, "hill"];</sqf>


|seealso= [[distanceSqr]] [[vectorDistance]] [[distance2D]]
|seealso= [[distanceSqr]] [[vectorDistance]] [[distance2D]]

Revision as of 11:38, 13 May 2022

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

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