Ich weiß, dass es was mit Sin() und Cos() zu tun hat. Hab schon viel rumprobiert und versucht es alleine zu lösen.
Leider ohne sichtbaren Erfolg. Heraus kamen die unmöglichsten Rotationen, die man sich nur vorstellen kann.
Wäre euch sehr dankbar, wenn ihr mir die Formeln explizit für meinen Fall posten könnt.
Registriert: Do Dez 05, 2002 10:35 Beiträge: 4234 Wohnort: Dortmund
Also ich habe auch ein paar Programme in denen ich den Inhalt mit der Maus drehe. Allerdings ist das wesentlich einfacher als du vielleicht denkst.
Ich habe es bei mir so gelöst, dass ich im FormMouseDown mir die Position gemerkt habe. Im FormMouseMove habe ich die Differenz zwischen der alten und der neuen Position einfach zu meinem globalen (bestandteil des Forms) XRotate und YRotate hinzugerechnet. Jeweils den X Anteil auf X und Y auf Y. Dabei aber aufgepasst. Ich habe dort die Werte durch einen Recht hohen Wert gerechnet, da es sich sonst viel zu schnell gedreht hätte. Anschließend habe ich im MouseMove die alten Position auf die Aktuelle gesetzt.
So hast du den Vorteil, dass du die Drehgeschwindigkeit durch anpassen des Divisionsfaktores anpassen kannst. Je nachdem was du vor hast ist das nicht unbedingt nachteilig.
Das war es eigentlich schon. Nur ganz leichte Addition.
Würde also in etwa so aussehen. Bei der 100 musst du mal rumspielen und testen wie du es haben willst. Kann dir das leider nicht so ganz sagen.
Mitglieder in diesem Forum: Bing [Bot] und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.