Einzelnen Beitrag anzeigen

Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Dreieck skalieren (verkleinern)

  Alt 15. Aug 2008, 10:11
Also ein Dreieck wird ganz einfach skalliert :
Delphi-Quellcode:

Procedure Scale3eck(var p1,p2,p3:Tpoint;Prozent:Double);
var mx,my:Double;
    dx,dy:Double;
begin
  // erst mal den Mittelpunkt berechnen
  mx := ( p1.x + p2.x +p3.x)/3;
  my := ( p1.y + p2.y +p3.y)/3;
  // Mit Hilfe des Mittelpunktes kann man die Translation in den Ursprung machen
  dx := (p1.x - mx);
  dy := (p1.y - my);
  p1.x := round( dx * Prozent + mx)
  p1.y := round( dy * Prozent + my)

  dx := (p2.x - mx);
  dy := (p2.y - my);
  p2.x := round( dx * Prozent + mx)
  p2.y := round( dy * Prozent + my)

  dx := (p3.x - mx);
  dy := (p3.y - my);
  p3.x := round( dx * Prozent + mx)
  p3.y := round( dy * Prozent + my)

end;
Edit : Ah Tyrael Y. war doch schneller, aber mein Algo macht genau das selbe wie er beschrieben hat.
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat