InPoly: Difference between revisions

From NPC for VCMP 0.4 Servers
Jump to navigation Jump to search
No edit summary
No edit summary
Line 3: Line 3:
params=<syntaxhighlight lang="lua">(px, py, x1, y1, x2, y2, ...)</syntaxhighlight>
params=<syntaxhighlight lang="lua">(px, py, x1, y1, x2, y2, ...)</syntaxhighlight>
<poem>::px, py: The coordinates of the point to be checked.
<poem>::px, py: The coordinates of the point to be checked.
::x1, y1: The coordinates of the first vertex of the polygon.
::x1, y1: The coordinates of the first vertex of the polygon as floating points.
::x2, y2: The coordinates of the second vertex of the polygon.
::x2, y2: The coordinates of the second vertex of the polygon as floating points.
::...: The coordinates of subsequent vertices of the polygon.</poem>|
::...: The coordinates of subsequent vertices of the polygon.</poem>|
retvals=Returns `true` if the point is inside the polygon, otherwise returns `false`.|
retvals=Returns true if the point is inside the polygon, otherwise returns false.|
example=[[File:InPoly.png|thumb|]]
example=[[File:InPoly.png|thumb|]]
<source lang="lua">
<source lang="lua">

Revision as of 07:52, 1 October 2024


Description:
Checks if a point is inside a polygon defined by multiple vertices.


Parameters:

(px, py, x1, y1, x2, y2, ...)

px, py: The coordinates of the point to be checked.
x1, y1: The coordinates of the first vertex of the polygon as floating points.
x2, y2: The coordinates of the second vertex of the polygon as floating points.
...: The coordinates of subsequent vertices of the polygon.


Return Values:
Returns true if the point is inside the polygon, otherwise returns false.


Example

InPoly.png
local inside = InPoly(3, 4, 0, 0, 6, 0, 6, 6, 0, 6);
if(inside)
    print("The point (3,4) is inside the polygon.");
else
    print("The point (3,4) is outside the polygon.");