Olá!
Isso é uma forma de desenhar o "buraco" no esquadro.
Ao invés de usar duas funções para desenhar as duas partes do esquadro, dá para "matar dois coelhos com uma só cajadada":
uma parte desenha um triângulo preto e a outra parte faz o "buraco" em branco.
function desenhaEsquadro(xa, ya, xc, yc, cor) {
pincel.fillStyle = 'black'
pincel.beginPath()
pincel.moveTo(xa, ya)
pincel.lineTo(xa, yc)
pincel.lineTo(xc, yc)
pincel.fill()
pincel.fillStyle = 'white'
pincel.beginPath()
pincel.moveTo((6*xa + xc)/7, (9*ya + 5*yc)/14)
pincel.lineTo((6*xa + xc)/7, (ya + 6*yc)/7)
pincel.lineTo((5*xa + 9*xc)/14, (ya + 6*yc)/7)
pincel.fill()
}
Quando você chama
desenhaEsquadro(50, 50, 400, 400, 'black')
a função cria um triângulo preto de coordenadas (50, 50); (50, 400); (400, 400)
, e um triângulo branco de coordenadas(100, 175); (100, 350); (275, 350)
.
Em outros temos, essa conta é uma transformação de coordenadas.