GetDistanceBetweenPoints2D: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added note about Vector2:getLength() equivalence)
Line 24: Line 24:
vehicle2x, vehicle2y, vehicle2z = getElementPosition ( vehicle2 )
vehicle2x, vehicle2y, vehicle2z = getElementPosition ( vehicle2 )
outputChatBox ( "The map distance between vehicle1 and vehicle2 is ", getDistanceBetweenPoints2D ( vehicle1x, vehicle1y, vehicle2x, vehicle2y ) )
outputChatBox ( "The map distance between vehicle1 and vehicle2 is ", getDistanceBetweenPoints2D ( vehicle1x, vehicle1y, vehicle2x, vehicle2y ) )
</syntaxhighlight>
</section>
<section name="Server and client" class="both" show="true">
This example shows the maths behind getting the distance between points and is also more efficient if your script is calling this function extremely often.
<syntaxhighlight lang="lua">
math.sqrt((p2x - p1x) * (p2x - p1x) + (p2y - p1y) * (p2y - p1y))
</syntaxhighlight>
</syntaxhighlight>
</section>
</section>

Revision as of 17:27, 5 November 2018

This template is no longer in use as it results in poor readability.

This function returns the distance between two 2 dimensional points using the pythagorean theorem.

Syntax

float getDistanceBetweenPoints2D ( float x1, float y1, float x2, float y2 )

Required Arguments

  • x1: The X position of the first point
  • y1: The Y position of the first point
  • x2: The X position of the second point
  • y2: The Y position of the second point

Returns

Returns a float containing the 2D distance between the two points. Returns false if invalid parameters are passed.

Example

Click to collapse [-]
Server and client

This example gets the distance between two vehicles, stored in variables vehicle1 and vehicle2.

vehicle1x, vehicle1y, vehicle1z = getElementPosition ( vehicle1 )
vehicle2x, vehicle2y, vehicle2z = getElementPosition ( vehicle2 )
outputChatBox ( "The map distance between vehicle1 and vehicle2 is ", getDistanceBetweenPoints2D ( vehicle1x, vehicle1y, vehicle2x, vehicle2y ) )
Click to collapse [-]
Server and client

This example shows the maths behind getting the distance between points and is also more efficient if your script is calling this function extremely often.

math.sqrt((p2x - p1x) * (p2x - p1x) + (p2y - p1y) * (p2y - p1y))

See Also