Difference between revisions of "Math.inside"

From GiderosMobile
(Created page with "__NOTOC__ <languages /> '''<translate>Available since</translate>:''' Gideros 2020.9<br/> '''<translate>Class</translate>:''' math<br/> === <transl...")
 
m (Text replacement - "</source>" to "</syntaxhighlight>")
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages />
+
'''Available since:''' Gideros 2020.9<br/>
'''<translate>Available since</translate>:''' Gideros 2020.9<br/>
+
'''Class:''' [[math]]<br/>
'''<translate>Class</translate>:''' [[Special:MyLanguage/math|math]]<br/>
+
 
=== <translate>Description</translate> ===
+
=== Description ===
<translate>Check if a point is inside or outside a shape.</translate>
+
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>
=== <translate>Parameters</translate> ===
+
 
'''point''': (table) <translate>The point to test</translate> <br/>
+
Shapes are tables which can have the following forms:
'''shape''': (table) <translate>The shape to test against (see [[Special:MyLanguage/math.raycast|math.raycast]]) </translate> <br/>
+
* { 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<br/>
 +
'''shape''': (table) the shape to test against<br/>
 +
 
 +
=== Return values ===
 +
'''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>
  
=== <translate>Return values</translate> ===
+
=== See also ===
'''<translate>Returns</translate>''' (number) <translate>A positive value if the point is outside, negative if inside, or 0 if on the edge</translate><br/>
+
'''[[math.raycast]]'''
  
 
{{Math}}
 
{{Math}}

Latest revision as of 14: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