MCPcopy
hub / github.com/KilledByAPixel/LittleJS / randInCircle

Function randInCircle

src/engineMath.js:446–453  ·  view source on GitHub ↗

Returns a random Vector2 within a circular shape * @param {number} [radius] * @param {number} [minRadius] * @return {Vector2} * @memberof Random

(radius=1, minRadius=0)

Source from the content-addressed store, hash-verified

444 * @return {Vector2}
445 * @memberof Random */
446function randInCircle(radius=1, minRadius=0)
447{
448 // r is uniform in area ⇒ r² uniform in [minRadius², radius²]
449 // (the squared inner bound is what makes minRadius the actual exclusion edge)
450 if (radius <= 0) return new Vector2;
451 const ratio = clamp(minRadius / radius);
452 return randVec2(radius * rand(ratio*ratio, 1)**.5);
453}
454
455/** Returns a random color between the two passed in colors, combine components if linear
456 * @param {Color} [colorA=WHITE]

Callers 7

math.test.mjsFile · 0.90
emitParticleMethod · 0.85
gameInitFunction · 0.85
gameInitFunction · 0.85
gameInitFunction · 0.85
gameInitFunction · 0.85
gameInitFunction · 0.85

Calls 3

clampFunction · 0.85
randVec2Function · 0.85
randFunction · 0.85

Tested by

no test coverage detected