Fuego de cañón

Un cañón se encuentra en un campo abierto, listo para disparar. Conoces la ubicación del cañón en coordenadas cartesianas. También conoces la dirección hacia la que apunta el cañón, expresada como un rumbo en sentido horario desde el norte. Además, conoces la distancia que recorrerá la bala de cañón.

Diseña una función que encuentre las coordenadas del punto donde la bala de cañón impacta su objetivo. Redondea al entero más cercano.

cannon(location, angle, distance) ➞ target location

Un rumbo en sentido horario desde el norte simplemente significa que, a 0 grados, el cañón apunta hacia el norte; a 90 grados, apunta hacia el este; a 180 grados, apunta hacia el sur; y a 270 grados, apunta hacia el oeste.

Ejemplos

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)

Notas

La distancia aquí es la longitud que recorre la bala de cañón sobre el suelo, no su arco por encima del suelo, así que considera esto como un problema de trigonometría plana.