¿Cómo hacer c # detección de colisión?

¿Existen métodos predefinidos en c # que permitan la detección de colisiones?

Soy nuevo en c # y estoy intentando obtener la detección de colisiones de dos puntos suspensivos. ¿Existen formas predefinidas de implementar la detección de colisiones?

Ya tengo un código que dibuja los puntos suspensivos, ¿cuál sería una buena manera de iniciar la detección de colisiones?

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 es el código para dibujar una elipse que luego se elimina y aparece en otra posición.

Respuestas a la pregunta(4)

Su respuesta a la pregunta