Menor distância entre um ponto e um segmento de linha

Preciso de uma função básica para encontrar a menor distância entre um ponto e um segmento de linha. Sinta-se livre para escrever a solução em qualquer idioma que desejar; Posso traduzi-lo para o que estou usando (Javascript). EDIT: Meu segmento de linha é definido por dois pontos de extremidade....