Como fazer c # detecção de colisão?

Existem métodos pré-definidos em c # que permitem a detecção de colisão?

Eu sou novo em c # e estou tentando obter a detecção de colisão de duas elipses existem formas pré-definidas de detecção de colisão podem ser implementadas?

Eu já tenho código que desenha as elipses, o que seria uma boa maneira de iniciar a detecção de colisão?

private void timer1_Tick(object sender, EventArgs e)
    {
        //Remove the previous ellipse from the paint canvas.
        canvas1.Children.Remove(ellipse);

        if (--loopCounter == 0)
            timer.Stop();

        //Add the ellipse to the canvas
        ellipse = CreateAnEllipse(20, 20);
        canvas1.Children.Add(ellipse);

        Canvas.SetLeft(ellipse, rand.Next(0, 500));
        Canvas.SetTop(ellipse, rand.Next(0, 310));
    }

    // Customize your ellipse in this method
    public Ellipse CreateAnEllipse(int height, int width)
    {
        SolidColorBrush fillBrush = new SolidColorBrush() { Color = Colors.Yellow};
        SolidColorBrush borderBrush = new SolidColorBrush() { Color = Colors.Black };

        return new Ellipse()
        {
            Height = height,
            Width = width,
            StrokeThickness = 1,
            Stroke = borderBrush,
            Fill = fillBrush
        }; 
    }

este é o código para desenhar uma elipse que depois é removida e aparece em outra posição.

questionAnswers(4)

yourAnswerToTheQuestion