Die Idee hatte ich auch schon, aber dabei habe ich anscheinend ein paar Fehler gemacht. Ich hatte mir eine Dreieckgruppe erstellt und dort mit folgendem Code den Mittelpunkt der Dreieck ausgerechnet:
Delphi-Quellcode:
For i:=Dreiecke.Count-1 downto 0 do
begin
tmp_dr := Dreiecke.Items[i];
mpunkt.x := mpunkt.x + (tmp_dr.A.x+tmp_dr.B.x+tmp_dr.C.x)/3;
mpunkt.y := mpunkt.y + (tmp_dr.A.y+tmp_dr.B.y+tmp_dr.C.y)/3; //Mittelpunkt der Gruppe ausrechnen
mpunkt.x := mpunkt.x/Dreiecke.Count;
mpunkt.y := mpunkt.y/Dreiecke.Count;
end;
Du dividierst zu oft!
Delphi-Quellcode:
mpunkt.x := 0;
mpunkt.y := 0;
For i:=0 to Dreiecke.Count-1 do
begin
tmp_dr := Dreiecke.Items[i];
mpunkt.x := mpunkt.x + (tmp_dr.A.x+tmp_dr.B.x+tmp_dr.C.x)/3;
mpunkt.y := mpunkt.y + (tmp_dr.A.y+tmp_dr.B.y+tmp_dr.C.y)/3; //Mittelpunkt der Gruppe ausrechnen
end;
mpunkt.x := mpunkt.x/Dreiecke.Count;
mpunkt.y := mpunkt.y/Dreiecke.Count;
Oh Mann... was ein blöder Fehler
Vielen Dank, es funktioniert jetzt!