Einzelnen Beitrag anzeigen

Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: Rotiertes Rechteck skalieren (vergrößern)?

  Alt 24. Jan 2014, 15:38
Nach Euler kann man aus einer räumlichen Drehung auch 3 ebene Drehungen machen:
Delphi-Quellcode:
  Result := RotateX(Value, Alpha);
  Result := RotateY(Result, Beta);
  Result := RotateZ(Result, Gamma);
P.X bleibt erhalten, wenn man um die X-Achse dreht usw..

Wenn du um den Mittelpunkt drehen und zoomen willst kannst du die Koordinaten um die Differenz der CenterPoints shiften:
Delphi-Quellcode:
  P1 := Polyeder.CenterPoint;
  Polyeder.Stretch(ScaleX, ScaleY, ScaleZ);
  P2 := Polyeder.CenterPoint;
  Polyeder.Shift(P1.X - P2.X, P1.Y - P2.Y, P1.Z - P2.Z);
  Polyeder.Rotate(Alpha, Beta, Gamma);
  Mit Zitat antworten Zitat