Fiz de uma forma que ficou mais resumido, porém não sei se pode fazer isso, eu utilizei o mesmo caminho ficou dessa forma:
<canvas width='600' height='400'></canvas>
<script>
var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
// Retângulo Verde
pincel.fillStyle = 'green';
pincel.fillRect(0,0, 600, 400);
// Triângulo 1
pincel.fillStyle = 'yellow';
pincel.beginPath();
pincel.moveTo(50, 200);
pincel.lineTo(300, 50);
pincel.lineTo(550 ,200);
// Triângulo 2
pincel.lineTo(300, 350);
pincel.fill();
// Circulo Azul
pincel.fillStyle = 'darkblue';
pincel.beginPath();
pincel.arc(300, 200, 100, 0, 2 * 3.14);
pincel.fill();
</script>