Estou trabalhando em um mostrador que gira em torno de um círculo.

Esse mostrador deve mover o mouse em qualquer lugar do círculo para ajustar a posição do mostrador em um ponto do círculo com o mesmo ângulo do clique. Por exemplo, no mostrador acima, se você clicar no ponto mostrado em rosa abaixo, moverei o mostrador acima desse ponto, mas no círculo.

Eu sei como obter a posição de um ponto em um círculo, dado um raio e um ângulo (em radianos). Essa é a fórmula :
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
No entanto, estou procurando fazer o contrário - tenho um ponto de clique, que quero transformar em um ponto em um círculo (para onde o botão de controle vai). Estou tentando usar este ponto (e um determinado raio) para descobrir o ângulo em radianos, para que eu possa colocar o botão de controle no círculo no mesmo ângulo.
Existe uma fórmula útil que eu possa usar para fazer isso?
atané uma abreviação de arctane atan2é apenas uma função que aceita argumentos individuais e faz a divisão para você.