JSFiddle - React, Tailwind, and code Playground
by Kenny806
HTML
<canvas width='500' height='500' id='display'></canvas>
JavaScript
//Random number in a circular segment
var canvas = document.getElementById('display').getContext('2d');
var samples = 3000;
for(var i=0; i!=samples; ++i)
{
var point = calculatePoint(110, 110, 100, false);
drawCircle(canvas, point.x, point.y, 1);
}
for(var i=0; i!=samples; ++i)
{
var point = calculatePoint(350, 110, 100, true);
drawCircle(canvas, point.x, point.y, 1);
}
function drawCircle(canvas, x, y, radius)
{
canvas.beginPath();
canvas.arc(x, y, radius, 0, Math.PI*2, true);
canvas.closePath();
canvas.fill();
}
function calculatePoint(originX, originY, radius, isUniform)
{
var angle = (Math.random() * (Math.PI*1.75 - Math.PI*2.5)) + Math.PI*2.5 + Math.PI*0.5;
var r = (isUniform ? Math.sqrt(Math.random()) : Math.random()) * radius;
var x = originX + r * Math.sin(angle);
var y = originY + r * Math.cos(angle);
return { x: x, y: y };
}