inside: Boundary Detection Function
Range Checking for Spatial Containment
The inside function checks whether a value or vector lies within specified minimum and maximum bounds. It returns true if the point is inside the boundaries, false otherwise. Useful for collision detection and spatial constraints.
Mathematical Definition: For any value and boundary parameters :
This formulation naturally extends to higher dimensions through component-wise logical operations, enabling efficient spatial queries for collision detection, procedural generation, and constraint satisfaction problems.
Nested Boundary Regions
This example shows multiple overlapping boundary regions with different visual effects for each containment level.
ライブエディター
const fragment = () => { const scale1 = 0.8 const scale2 = 0.5 const scale3 = 0.3 const region1 = insideVec2(uv, vec2(-scale1), vec2(scale1)) const region2 = insideVec2(uv, vec2(-scale2), vec2(scale2)) const region3 = insideVec2(uv, vec2(-scale3), vec2(scale3)) const time = iTime.mul(0.5) const rotation = time.cos() const rotatedUV = vec2( uv.x.mul(rotation).sub(uv.y.mul(time.sin())), uv.x.mul(time.sin()).add(uv.y.mul(rotation)) ) const dynamicRegion = insideVec2(rotatedUV, vec2(-0.2), vec2(0.2)) const layerIntensity = region1.toFloat().mul(0.3) .add(region2.toFloat().mul(0.4)) .add(region3.toFloat().mul(0.5)) .add(dynamicRegion.toFloat().mul(0.8)) const interference = uv.length().mul(8).add(time.mul(2)).sin() const modulated = layerIntensity.mul(interference.mul(0.3).add(0.7)) const red = modulated.mul(region1.toFloat().mul(0.7).add(0.3)) const green = modulated.mul(region2.toFloat().mul(0.6).add(0.4)) const blue = modulated.mul(region3.toFloat().mul(0.2).add(0.8)) return vec4(red, green, blue, 1) }
Mathematical Properties and Computational Applications
Property | Mathematical Expression | Application Domain |
---|---|---|
Inclusion Logic | Constraint satisfaction | |
De Morgan's Law | Boolean algebra optimization | |
Monotonicity | Hierarchical containment | |
Dimension Extension | Multidimensional queries |