Converte um ângulo em graus para um vetor

Eu estou fazendo alguns programas de jogos. FWIW Estou usando o XNA, mas duvido que isso seja relevante.

Eu gostaria de converter graus para um vetor direcional (ou seja, X e Y) com magnitude 1.

Minha origem (0,0) está no canto superior esquerdo.

Então, eu gostaria de 0 graus para converter para [0, -1]

Eu pensei que a melhor maneira de fazer isso era pegar minha definição de North / Up e girá-la usando uma matriz, mas isso não parece estar funcionando.

Aqui está o código ...

public class Conversion
{
    public static Vector2 GetDirectionVectorFromDegrees(float Degrees)
    {
        Vector2 North= new Vector2(0, -1);
        float Radians = MathHelper.ToRadians(Degrees);

        var RotationMatrix = Matrix.CreateRotationZ(Radians);
        return Vector2.Transform(North, RotationMatrix);
    }
}

... e aqui estão os meus testes de unidade ...

[TestFixture]
public class Turning_Tests
{
    [Test]
    public void Degrees0_Tests()
    {
        Vector2 result = Conversion.GetDirectionVectorFromDegrees(0);
        Assert.AreEqual(0, result.X);
        Assert.AreEqual(-1, result.Y);
    }
    [Test]
    public void Degrees90_Tests()
    {
        Vector2 result = Conversion.GetDirectionVectorFromDegrees(90);
        Assert.AreEqual(1, result.X);
        Assert.AreEqual(0, result.Y);
    }
    [Test]
    public void Degrees180_Tests()
    {
        Vector2 result = Conversion.GetDirectionVectorFromDegrees(180);
        Assert.AreEqual(0, result.X);
        Assert.AreEqual(1, result.Y);
    }
    [Test]
    public void Degrees270_Tests()
    {
        Vector2 result = Conversion.GetDirectionVectorFromDegrees(270);
        Assert.AreEqual(-1, result.X);
        Assert.AreEqual(0, result.Y);
    }

}

Estou me aproximando disso tudo errado? Eu deveria estar usando uma matriz? Eu estraguei tudo e converti de graus para radianos no lugar errado?

Eu vi sugestões de que isso pode ser feito usando código como:

new Vector2((float)Math.Cos(Angle), (float)Math.Sin(Angle));

... ou às vezes ...

new Vector2((float)Math.Sin(Angle), (float)Math.Cos(Angle));

No entanto, estes não parecem funcionar

Alguém pode me colocar no caminho certo ... ou melhor ainda, dar-me algum código que faz com que os 4 testes unitários fornecidos trafeguem?

Muito obrigado antecipadamente.