Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Wie kann ich ein Koordinatensystem beibehalten nach RotateTransform?
Viper2000
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

Wie kann ich ein Koordinatensystem beibehalten nach RotateTransform?

beantworten | zitieren | melden

Hallo Liebes Forum,

ich habe noch ein Problem mit WPF. Ich möchte eine runde Skala mit 100 Teilstrichen zeichnen. Ich dachte mir in einer Schleife den ersten Teilstrich in die Mitte zu zeichnen, dann das ganze umgebende Element (Grid) um den Mittelpunkt um 3,6 Grad zu drehen und den nächsten Teilstrich an die selbe Stelle wie den ersten strich zu zeichnen und das in einer Schleife 100 mal. Leider wandert aber das Koordinatensystem mit wenn ich eine RotateTransform auf das äußere Grid anwende. Der ehemalige Punkt 0,0 ist also nach einer 90 Grad Drehung im Uhrzeigersinn nicht mehr oben Links sondern oben Rechts.
Ich würde aber gerne nach dem Rotieren das Koordinatensystem beibehalten. Gibt es dafür eine Möglichkeit?

Viele Grüße
private Nachricht | Beiträge des Benutzers
witte
myCSharp.de - Member



Dabei seit:
Beiträge: 955

beantworten | zitieren | melden

Kannst du nicht einfach mit Sinus/Cosinus die Koordinaten des originales Systems verwenden um weitere Teilstriche zu zeichnen?
private Nachricht | Beiträge des Benutzers
Viper2000
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

beantworten | zitieren | melden

Wie meinst du das mit sin/cos?
Über eine Transformationsmatrix?
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4.571

beantworten | zitieren | melden

Wie zeichnest du denn? Per XAML (und DataBinding) oder per Code?

Bzgl. Sin/Cos s. z.B. Analog clock in WPF (C#).
private Nachricht | Beiträge des Benutzers
MrSparkle
myCSharp.de - Team

Avatar #avatar-2159.gif


Dabei seit:
Beiträge: 5.655
Herkunft: Leipzig

beantworten | zitieren | melden

Zitat von Viper2000
Wie meinst du das mit sin/cos?

Du kannst einen beliebigen Punkt auf einem Kreis für die Skala mittels Sinus bzw. Cosinus berechnen. Dann kannst du eine Linie zwischen zwei Punkten auf Kreisen mit unterschiedlichen Radien zeichnen, der dem Skalenstrich entspricht.

Eine Matrix brauchst du dafür nicht.
Weeks of programming can save you hours of planning
private Nachricht | Beiträge des Benutzers