Detección de colisiones entre una línea y un círculo en JavaScript

Estoy buscando una respuesta definitiva, tal vez una función porque soy lenta, que determinará si un segmento de línea y un círculo han colisionado, en javascript (trabajando con lienzo)

Una función como la de abajo que simplemente devuelve verdadero si colisionó o falso, si no, sería increíble. Incluso podría donarte un bebé.

function isCollided(lineP1x, lineP1y, lineP2x, lineP2y, circlex, circley, radius) {

    ...
}

He encontrado muchas fórmulas,como éste, pero están sobre mi cabeza.

Respuestas a la pregunta(3)

Su respuesta a la pregunta