I imagine that this is a simple question, but I\'m getting some strange results with my current code and I don\'t have the math background to fully understand why. My goal
You forgot to add the center point:
result.Y = (int)Math.Round( centerPoint.Y + distance * Math.Sin( angle ) ); result.X = (int)Math.Round( centerPoint.X + distance * Math.Cos( angle ) );
The rest should be ok... (what strange results were you getting? Can you give an exact input?)