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 };
}