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__ | ||
− | + | '''Available since:''' Gideros 2020.9<br/> | |
− | ''' | + | '''Class:''' [[math]]<br/> |
− | ''' | + | |
− | === | + | === Description === |
− | + | Checks if a point is inside or outside a shape. | |
− | < | + | <syntaxhighlight lang="lua"> |
(number) = math.inside(point,shape) | (number) = math.inside(point,shape) | ||
− | </ | + | </syntaxhighlight> |
− | === | + | |
− | '''point''': (table) | + | Shapes are tables which can have the following forms: |
− | '''shape''': (table) | + | * { 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> | ||
− | === | + | === See also === |
− | ''' | + | '''[[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
- Math.abs
- Math.acos
- Math.asin
- Math.atan
- Math.atan2
- Math.ceil
- Math.clamp
- Math.cos
- Math.cosh
- Math.cross
- Math.deg
- Math.distance
- Math.distances
- Math.dot
- Math.edge
- Math.exp
- Math.fft
- Math.floor
- Math.fmod
- Math.frexp
- Math.ifft
- Math.inside
- Math.ldexp
- Math.length
- Math.log
- Math.log10
- Math.max
- Math.min
- Math.modf
- Math.nearest
- Math.noise
- Math.normalize
- Math.pow
- Math.rad
- Math.random
- Math.randomseed
- Math.raycast
- Math.round
- Math.sign
- Math.sin
- Math.sinh
- Math.sqrt
- Math.tan
- Math.tanh