Ponto de cálculo na circunferência de um círculo a partir do ângulo em C #?

Imagino que essa seja uma pergunta simples, mas estou obtendo alguns resultados estranhos com o meu código atual e não tenho conhecimentos matemáticos para entender completamente o porquê. Meu objetivo é simples, como indicado no título: eu só quero encontrar o ponto a alguma distância e ângulo de um ponto centra

Meu código atual:

Point centerPoint = new Point ( 0, 0 );
Point result      = new Point ( 0, 0 );
double angle      = 0.5; //between 0 and 2 * PI, angle is in radians
int distance      = 1000;

result.Y = centerPoint.Y + (int)Math.Round( distance * Math.Sin( angle ) );
result.X = centerPoint.X + (int)Math.Round( distance * Math.Cos( angle ) );

Em geral, isso parece funcionar razoavelmente, mas tenho problemas em vários pontos, principalmente quando o ângulo corresponde a pontos nos eixos x e y negativos. Claramente, estou fazendo algo errado - pensamentos sobre o que é isso?

UPDATE: Este foi o meu erro, este código funciona bem - os poucos outliers que não estavam funcionando foram na verdade devido a um erro na forma como o ângulo para 1,5PI estava sendo calculado. Eu pensei que tinha verificado isso bem o suficiente, mas evidentemente não tinha. Obrigado a todos por seu tempo, espero que o código de trabalho acima seja útil para outra pessoa.

questionAnswers(6)

yourAnswerToTheQuestion