HSG

Aktuelle Seite: HSG/Fächer/Informatik/Material

Spiegeln

Spiegeln an der y-Achse bedeutet: (x/y) --> (-x/y).
Der Schwerpunkt (sx/sy) wird dabei um 2*sx nach links verschoben.
Nach einer Verschiebung um 2*sx nach rechts liegt er wieder richtig.
Also insgesamt: x' = -x + 2*sx, y' = y .

Achtung: Spiegeln verändert den Umlaufsinn, so dass z.B. die darauf basierende inside-Funktion ohne Korrektur nicht mehr funktioniert. Es ist also notwendig, nach obigen Operationen die Reihenfolge der Polygon-Punkte umzudrehen.

Quelltext-Auszug

procedure TTeil.spiegele;
var
  i,n,j : integer;
  S,H   : TPunkt;
begin
  n := Length(FP);
  S := Schwerpunkt(FP);
  for i := 0 to n-1 do FP[i].x := -FP[i].x + 2*S.x; // Achtung: ändert Umlaufsinn
  i := 0; j := n-1;                                 // deshalb Reihenfolge ändern
  while i