Comment vérifier si un point est sur une ligne entre les 2 autres points

Comment pourrais-je écrire cette fonction? Des exemples apprécié

function isPointBetweenPoints(currPoint, point1, point2):Boolean {

    var currX = currPoint.x;
    var currY = currPoint.y;

    var p1X = point1.x;
    var p1y = point1.y;

    var p2X = point2.x;
    var p2y = point2.y;

    //here I'm stuck
}
Il y a quelques bonnes réponses ci-dessous, mais j'ai pensé que je ferais remarquer que vous devriez regarder dehors pour la précision en virgule flottante de questions. Quelle que soit la méthode que vous utilisez, vous aurez probablement à permettre à une petite quantité d'erreur lorsque, par exemple, de tester si deux pentes différentes sont les mêmes.
McCarthy: C'est le problème majeur avec la pente des méthodes basées sur. Les changements de pente non uniforme avec un angle le plus proche de la ligne est verticale, plus la pente augmente (même pas de mentionner le cas particulier vertical et presque à la verticale de la ligne). Il n'y a tout simplement pas de bons pente de stratégie. J'aimerais éviter de pente à base de méthodes à tous les coûts.

OriginalL'auteur nuway | 2012-08-10