Mausbewegung umrechnen |
10.07.2017, 21:31 | PierreDole | Auf diesen Beitrag antworten » | |||||
Mausbewegung umrechnen Moin, ich habe für Mathekundige eine bestimmt ganz leichte Frage. Nun ist es über 20 Jahre her, daß ich irgendwas mit Mathe gemacht habe - ich bitte um Verständnis. Ich schreibe gerade ein Tool, welches die Mausbewegung in einer kleinen Grafik darstellt. Ich habe einen Kreis, in der Mitte davon eine kleine grafische Maus, und je nach dem wie ich meine Maus relativ zur letzten Position bewege, bewegt sich die grafische Maus in diesem Kreis. Zum Beispiel: wenn ich meine Maus nach oben links bewege, bewegt sich die grafische Maus nach oben links an den Rand des Kreises. Wenn ich meine Maus nicht mehr bewege, kehrt die grafische Maus zurück zum Mittelpunkt. Mache ich wieder eine Bewegung, geht die grafische Maus entsprechend der Richtung wieder an den Rand des Kreises. So weit, so gut. Nun zu meiner Frage: Ich habe zwei Koordinaten: den Ausgangspunkt und den aktuellen Punkt und leider nicht den Ansatz eines Ansatzes, wie ich das lösen soll. Mit Winkeln? Mit Verhältnissen (x zu y)? Keine Ahnung. Meine Ideen: Ich habe Folgendes (etwas vereinfacht dargestellt)... mouseImagePositionX = (kreisdurchmesser / 2) + x; mouseImagePositionY = (kreisdurchmesser / 2) + y; ... x und y sind die Variablen, die die grafische Maus an den Rand des Kreises bringen sollen. Jetzt müssen sie irgendwie aus den beiden Koordinaten berechnet werden. Programmiertechnisch ist alles fertig. Der mouseListener wartet nur noch auf die Berechnung. |
|||||||
10.07.2017, 21:47 | Dopap | Auf diesen Beitrag antworten » | |||||
Mir ist nicht klar was du eigentlich willst. Was genau ist gegeben und was ist das Ziel ? |
|||||||
10.07.2017, 22:09 | PierreDole | Auf diesen Beitrag antworten » | |||||
Ich versuche es mit einem konkreten Beispiel: Ich bewege meine Maus von Koordinate x = 50, y = 300 nach Koordinate x = 400, y = 125. Wenn man vor dem eigenen geistigen Auge zwischen diesen beiden Punkten eine Linie zieht, dann soll sich die kleine grafische Maus, von Mittelpunkt, in genau dieser Linie an den Rand des Kreises bewegen. Ich möchte die Koordinate des Punktes am Kreisrand berechnen, wo die Maus sich hinbewegt. |
|||||||
10.07.2017, 23:05 | PierreDole | Auf diesen Beitrag antworten » | |||||
Das mit der Linie brauchte mich auf eine Idee. Eigentlich brauche ich "nur" eine Formel, mit der ich Punkte auf einer Linie berechnen kann. Ich habe eine Linie von Punkt A zu Punk B. Punkt C liegt irgend wo dazwischen. Beispiel: Punkt A = 1, 1 Punkt B = 300, 150 Punkt C liegt 75 Einheiten von Punkt A entfernt, in Richtung Punkt B. Wie berechne ich Punkt C? |
|||||||
10.07.2017, 23:13 | Dopap | Auf diesen Beitrag antworten » | |||||
wenn der Mittepunkt deines Kreises und sein Durchmesser ist und der Startpunkt und der Endpunkt ist, dann berechnet der Kreispunkt zu Das kann man in 2 Zeilen aufspalten. |
|||||||
11.07.2017, 00:02 | PierreDole | Auf diesen Beitrag antworten » | |||||
Es funktioniert! Ich hätts nicht gedacht. Vielen, vielen Dank! Hier der Listener, in C# geschrieben. Der Vollständigkeit halber, falls das jemand in paar Jahren in google findet.
|
|||||||
Anzeige | |||||||
|
|||||||
11.07.2017, 08:02 | Dopap | Auf diesen Beitrag antworten » | |||||
fein! Das verwundert aber nicht wenn man bedenkt, dass der Vektor die Länge 1 hat. |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|