¿Cómo saber si una línea cruza un polígono en C #?

Tengo una pregunta muy similar a esta:

¿Cómo saber si una línea cruza un plano en C #?

Estoy buscando un método (en C #) que diga si una línea está intersecando un polígono arbitrario.

creo que elalgoritmo de Chris Marasti-Georg fue muy útil, pero le falta el método más importante, es decir, la intersección de línea a línea.

¿Alguien sabe de un método de intersección de línea para completar el código de Chris Marasti-Georg o tiene algo similar?

¿Hay un código incorporado para esto en C #?

Este método es para usar con el algoritmo Bing Maps mejorado con una función de área prohibida. La ruta resultante no debe pasar por el área prohibida (el polígono arbitrario).

Respuestas a la pregunta(4)

Su respuesta a la pregunta