ein Dreieck bauen die oberen Koordinaten unter Verwendung einer Form zu erstellen. Zum Beispiel, wenn Ihre Linie wie folgt aussehen:

Sie eine Form erstellen können, wenn x2 und y1 mit:

nun einfach auf das Dreieck auf den Pfad hinzufügen und machen ein isPointInPath(x, y)
, wenn es wahr ist, ist es oben, wenn es falsch ist, ist es unten.
Wenn Sie unten überprüfen müssen, den Prozess umgekehrt.

(wowa viele Pfeile dort ... aber Sie werden die Idee :) bekommen!)
Edge-Fälle (pun intended): wenn der Punkt ist sehr nah an einer der Enden -> verlängern Sie einfach die Linie oder machen Sie ein Polygon, das sich (x1, y1) bis zum Rand des Gebiets erstreckt.
Eigentlich darüber nachdenken: Dreiecke sind möglicherweise nicht so geeignet, verwenden Sie stattdessen die obere Kante der Leinwand als ein Segment von Polygon, dann wäre das nächste Segment vertikale Linie bis zum Ende der diagonalen Linie, die das letzte Segment vom Anfang der diagonalen Linie bis zur oberen linken Seite der Leinwand. Ich bin einfach zu faul, um die Grafiken zu wiederholen, aber Sie bekommen die Idee ..
Was haben Sie bisher versucht? – element11
@simon guichard Vergleichen Sie die Koordinaten. Sie können ein Beispiel zeigen Punkt und Linie –
[Geige] (http://jsfiddle.net/PerroAZUL/zdaY8/1/) von [Wie man einen Punkt in einem 2D-Dreieck?] (Http : //stackoverflow.com/questions/2049582/how-to-determine-a-point-in-a-2d-triangle) – destoryer