Difference between revisions of "Math.inside"

From GiderosMobile
(removed language stuff)
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(2 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
=== Description ===
 
=== Description ===
 
Checks if a point is inside or outside a shape.
 
Checks if a point is inside or outside a shape.
<source lang="lua">
+
<syntaxhighlight lang="lua">
 
(number) = math.inside(point,shape)
 
(number) = math.inside(point,shape)
</source>
+
</syntaxhighlight>
  
 
Shapes are tables which can have the following forms:
 
Shapes are tables which can have the following forms:
Line 22: Line 22:
 
=== Return values ===
 
=== Return values ===
 
'''Returns''' (number) a positive value if the point is outside, negative if inside, or 0 if on the edge<br/>
 
'''Returns''' (number) a positive value if the point is outside, negative if inside, or 0 if on the edge<br/>
 +
 +
=== Examples ===
 +
<syntaxhighlight lang="lua">
 +
print(math.inside({6, 0}, {x=0, y=0, radius=5})) -- 1
 +
print(math.inside({6, 0}, {x=0, y=0, radius=6})) -- 0
 +
print(math.inside({6, 0}, {x=0, y=0, radius=7})) -- -1
 +
</syntaxhighlight>
  
 
=== See also ===
 
=== See also ===

Latest revision as of 15:30, 13 July 2023

Available since: Gideros 2020.9
Class: math

Description

Checks if a point is inside or outside a shape.

(number) = math.inside(point,shape)

Shapes are tables which can have the following forms:

  • { x, y, z, radius }: Represent a sphere (3D) or a circle (2D)
  • { x, y, z, normal }: Represent a plane (3D) or a line (2D)
  • { x, y, z, normal, extent }: Represent a disk (3D) or a segment (2D)
  • { x, y, x2, y2 }: Represent a segment (2D)
  • { x, y, z, 1, 2, ... }: Represent a shape group

Parameters

point: (table) the point to test
shape: (table) the shape to test against

Return values

Returns (number) a positive value if the point is outside, negative if inside, or 0 if on the edge

Examples

print(math.inside({6, 0}, {x=0, y=0, radius=5})) -- 1
print(math.inside({6, 0}, {x=0, y=0, radius=6})) -- 0
print(math.inside({6, 0}, {x=0, y=0, radius=7})) -- -1

See also

math.raycast