Wie kann ich ein Bild zuverlässig um einen Punkt drehen?

8

Ich habe folgendes gelesen, aus One step affine Umdrehen um einen Punkt? :

%Vor%

Aber wenn ich das tue, sind die transformierten Bilder überall auf der Karte und selten über dem Bildschirm.

Ich habe ein bisschen versucht, ein System zu erstellen, wo Bilder platziert werden; Wenn Sie eine Schleife ausführen und mehrere Werte platzieren, wird eine Spirale angezeigt. Während ich vielleicht in der Lage sein würde, die Beziehung zwischen einer Rotation von Bildern und den Punkten, über die ich sie drehen wollte, zu lösen, wollte ich nach der besten Lösung fragen: "Ich habe hier ein Bild. Ich halte diesen Punkt für seinen Ich möchte, dass es um diesen Betrag herum gedreht wird, aber nicht anders. "

Ich versuche, einen modifizierten Port von Ссылка zu machen, und gerade versuche ich, den Stundenzeiger zu platzieren. Alle Versuche, das Lied und den Tanz oben zu machen und es so zu übersetzen, dass sein Zentrum im gewünschten Zentrum ist, sind gescheitert.

Wie kann ich für die Hände dieser Uhr sagen: "Ich möchte die Hände in den folgenden Drehungen" und habe sie angemessen um das Zentrum gelegt?

- BEARBEITEN -

Der entscheidende Teil dieses Codes, der bearbeitet wurde, um Layer als Reaktion auf einen Kommentar zu verwenden, lautet:

%Vor%

Danke,

- BEARBEITEN -

Ich habe jetzt etwas reduziert; Wenn ich einige Anweisungen befolge, habe ich:

%Vor%

Ich würde gerne daran arbeiten, diese Zahlen heraus zu bekommen, aber das hat eine Stunde von 9:00 richtig angezeigt.

Danke für Ihre Hilfe!

    
JonathanHayward 10.10.2013, 19:22
quelle

4 Antworten

6

Diese Zeile:

%Vor%

verschiebt das Bild um x, y.

(Hinweis: Sie werden um den Kontrollpunkt drehen, was auch immer Sie eingestellt haben)

diese Zeile:

%Vor%

dreht es um den Kontrollpunkt.

Wenn sich Ihr Kontrollpunkt in der oberen linken Ecke befindet (Standardeinstellung), wird er um die obere linke Ecke gedreht.

Sie müssen Folgendes festlegen:

%Vor%

um es um die Mitte der Ebene zu drehen.

    
HalR 10.10.2013, 19:35
quelle
9

Eine Drehung wird immer um (0,0) gemacht.

Um einen Punkt zu übersetzen, müssen Sie zuerst den Rotationspunkt auf (0,0) übersetzen und dann drehen Sie es und übersetzen Sie es dann zurück.

So sollte es sein:

%Vor%     
AlexWien 10.10.2013 19:34
quelle
7
%Vor%     
Jano 10.10.2013 19:47
quelle
0

Swift 4.0

Eine Drehung wird immer um (0,0) gemacht.

Um einen Punkt zu übersetzen, müssen Sie zuerst den Rotationspunkt auf (0,0) übersetzen und dann drehen und dann zurück übersetzen.

So sollte es sein:

%Vor%     
Aaron Halvorsen 31.01.2018 15:18
quelle