Disparo de Canhão

Um canhão está em um campo aberto, pronto para disparar. Você conhece a localização do canhão em coordenadas cartesianas. Você conhece a direção para a qual o cano está apontado, expressa como um rumo no sentido horário a partir do norte. Você também conhece a distância que a bala de canhão percorrerá.

Elabore uma função que encontre as coordenadas do ponto onde a bala de canhão atinge o alvo. Arredonde para o inteiro mais próximo.

cannon(location, angle, distance) ➞ target location

Um rumo no sentido horário a partir do norte simplesmente significa que, a 0 graus, o canhão está apontado para o norte; a 90 graus, está apontado para o leste; a 180 graus, está apontado para o sul; e a 270 graus, está apontado para o oeste.

Exemplos

cannon((0, 0), 0, 10) ➞ (0, 10)

cannon((0, 0), 270, 10) ➞ (-10, 0)

cannon((0, 0), 45, 10) ➞ (7, 7)

cannon((-12, -2), 193, 9) ➞ (-14, -11)

Observações

A distância aqui é o comprimento percorrido pela bala de canhão ao longo do solo, não o seu arco acima do solo; portanto, trate isso como um problema de trigonometria plana.