Dibujando círculos con HTML5
https://engineerdesistemas.blogspot.com/2016/12/dibujando-circulos-con-html5.html
Los dibujos en HTML5 pueden ir más allá de los trazados rectos, es posible también realizar dibujos circulares y todas sus variantes, evidentemente con el uso combinado de HTML5 y JavaScript.
Veamos un ejemplo de código para un círculo con un color de fondo además otros semicírculos circunscritos a él:
<!DOCTYPE html>
<html>
<head>
<title>Circulos con Canvas</title>
</head>
<body>
<canvas id="logotipo" width="120px" height="120px" style="border:1px solid blue;">
Este navegador no soporta Canvas
</canvas>
<script type="text/javascript">
var c=document.getElementById('logotipo');
var cxt=c.getContext('2d');
cxt.fillStyle="red"; //color del circulo
cxt.beginPath(); //comienza el recorrido
cxt.arc(60,60,50,0,Math.PI*2,true); // (coord x, coord y, radio en px, vuelta completa en rad, parte positiva)
cxt.closePath; // cierre de recorrido
cxt.fill(); // para el rellenado
cxt.fillStyle="white";
cxt.beginPath();
cxt.arc(60,60,30,0.75*Math.PI,Math.PI*2,true); // (coord x, coord y, radio en px, punto de inicio, punto final, parte positiva)
cxt.closePath;
cxt.fill();
cxt.fillStyle="white";
cxt.beginPath();
cxt.arc(70,40,10,Math.PI,Math.PI*2,false);
cxt.closePath;
cxt.fill();
cxt.fillStyle="white";
cxt.beginPath();
cxt.arc(40,50,10,1.8*Math.PI,0.8*Math.PI,true);
cxt.closePath;
cxt.fill();
</script>
</body>
</html>

