Returns a random Vector2 within a circular shape * @param {number} [radius] * @param {number} [minRadius] * @return {Vector2} * @memberof Random
(radius=1, minRadius=0)
| 444 | * @return {Vector2} |
| 445 | * @memberof Random */ |
| 446 | function 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] |
no test coverage detected