Einzelnen Beitrag anzeigen

StefanDP

Registriert seit: 11. Apr 2004
294 Beiträge
 
#1

ist ein Punkt rechts oder links von einer Strecke!?

  Alt 15. Aug 2005, 22:58
Hallo.

Ich habe 3 Punkte ABC

A wird mit C verbunden und es wird geschaut ob Punkt B relativ zu dieser Strecke AC links oder rechts ist.

Ich habe bereits eine Lösung für das Problem aber ich weiß nicht WARUM das so funktioniert.

Delphi-Quellcode:
function TKarte.BRechtsVonAC(A,B,C: TPoint): Boolean;
var
  x_ab, y_ab, x_ac, y_ac: Double;
begin
  x_ab := A.X - B.X; // Delta x von A nach B
  y_ab := A.Y - B.Y; // Delta y von A nach B
  x_ac := A.X - C.X; // Delta x von A nach C
  y_ac := A.Y - C.Y; // Delta y von A nach C

  result := (x_ab*y_ac - y_ab*x_ac ) >= 0;
  // Gibt TRUE zurück, wenn Pkt. B rechts im Bezug auf die Strecke AC ist
end;
Kann mir das mal jemand erklären, wär echt nett.
  Mit Zitat antworten Zitat