![]() ![]() |
Allerdings rotiert das die Objekte irgendwo hin.
Dann kam mir die Idee, dass ich vom Mittelpunkt der Form ausgehen sollte und diese darum rotiere? |
![]() ![]() | ||
Hallo,
Einen Punkt korrekt Drehen um einen beliebigen Punkt P geht normalerweise in 3 Schritten. Zuerst wird eine Verschiebung durchgeführt, die P in den Ursprung transformiert, danach wird um (0;0) gedreht und anschließend die Translation rückgängig gemacht. Dreht sich Deine Form um ihren Mittelpunkt, so ist dieser Mittelpunkt auch der Drehpunkt für Deine anderen Objekte. Beste Grüße Mathematiker |
![]() ![]() |
Könntest du mir hier eine Hilfestellung geben, wie ich das in Delphi bewerkstellige? |
1: | 1. xh := x1-xp; yh := y1-xp; |
1: | 1. xh := x1-xp; yh := y1-xp; |
1: | X2 := y1-xp; Y2 := -x1+xp; |
![]() ![]() | ||||||||
Hallo,
Beispiel: x1,y1 sollen um xp,yp gedreht werden. Quelltext
Übrigens sind bei einem 90°-Winkel cos 90° = 0 und sin 90° = 1. Damit kannst Du es auf Quelltext
reduzieren und weiter zusammenfassen. Quelltext
Beste Grüße Mathematiker |
1: | 1. xh := x1-xp; yh := y1-xp; |
![]() ![]() |
Muss das nicht yh := y1-yp lauten? |
![]() ![]() | ||
Muss es, natürlich. :autsch: Sorry Mathematiker |
1: | unit unit_main; |
![]() ![]() |
Ich hab es jetzt mal implementiert, allerdings glaube ich, hab ich noch einen..Schwachpunkt. |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!