{"name":"distanceSqr","operator":null,"title":"distanceSqr","type":"command","url":"https://community.bistudio.com/wiki/distanceSqr","revid":352357,"updated":"2024-02-08T14:07:32Z","groups":["Math - Geometry"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"arma3","name":"Arma 3","version":"0.50"},"arma3_since":"0.50","branch":null,"locality":{"argument":null,"effect":null,"server_exec":false},"exec":null,"description":"Computes the [squared distance](https://en.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance) between two objects or positions.\nThis command is faster than distance by saving a square root operation, useful for mass-checking distance without the need of the distance value itself.","syntaxes":[{"syntax":"var1 distanceSqr var2","since":null,"effect":null,"exec":null,"params":[{"name":"var1","type":"Object or Position","optional":false,"default":null,"description":null,"types":["Object","Position"],"since":null,"text":"var1: Object or Position"},{"name":"var2","type":"Object or Position","optional":false,"default":null,"description":null,"types":["Object","Position"],"since":null,"text":"var2: Object or Position"}],"returns":{"type":"Number","types":["Number"],"description":"distance in meters or 1e10 if distance cannot be calculated","text":"Number - distance in meters or 1e10 if distance cannot be calculated"},"form":"binary","operator":null,"left":{"text":"var1","types":["Object","Position"]},"right":{"text":"var2","types":["Object","Position"]}},{"syntax":"a distanceSqr b","since":"arma3 2.18","effect":null,"exec":null,"params":[{"name":"a","type":"Number","optional":false,"default":null,"description":null,"types":["Number"],"since":null,"text":"a: Number"},{"name":"b","type":"Number","optional":false,"default":null,"description":null,"types":["Number"],"since":null,"text":"b: Number"}],"returns":{"type":"Number","types":["Number"],"description":"distance c calculated as `c = a * a + b * b`","text":"Number - distance c calculated as `c = a * a + b * b`"},"form":"binary","operator":null,"left":{"text":"a","types":["Number"]},"right":{"text":"b","types":["Number"]}}],"examples":[{"text":"```sqf\nprivate _distanceSquared = 5 * 5;\nif (player distanceSqr leader player < _distanceSquared) then // similar to player distance leader player < 5\n{\n    hint \"You are less than 5m from the leader!\";\n};\n```","code":["private _distanceSquared = 5 * 5;\nif (player distanceSqr leader player < _distanceSquared) then // similar to player distance leader player < 5\n{\n\thint \"You are less than 5m from the leader!\";\n};"]},{"text":"```sqf\nprivate _distance = sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2);\nprivate _distanceSqr = (x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2;\n_distance = [x1, y1, z1] distance [x2, y2, z2];\n_distanceSqr = [x1, y1, z1] distanceSqr [x2, y2, z2];\n_distance = sqrt ([x1, y1, z1] distanceSqr [x2, y2, z2]);\n_distanceSqr = ([x1, y1, z1] distance [x2, y2, z2]) ^ 2;\n```","code":["private _distance = sqrt ((x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2);\nprivate _distanceSqr = (x2 - x1) ^ 2 + (y2 - y1) ^ 2 + (z2 - z1) ^ 2;\n_distance = [x1, y1, z1] distance [x2, y2, z2];\n_distanceSqr = [x1, y1, z1] distanceSqr [x2, y2, z2];\n_distance = sqrt ([x1, y1, z1] distanceSqr [x2, y2, z2]);\n_distanceSqr = ([x1, y1, z1] distance [x2, y2, z2]) ^ 2;"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["distance","vectorDistanceSqr","distance2D"],"notes":[],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Math - Geometry","Introduced with Arma 3 version 0.50","Scripting Commands"]}