Ich möchte ein Bild entlang aller drei Achsen so drehen, dass alle Drehungen in geeigneter Reihenfolge berücksichtigt werden.
Ich benutze Three Js
Bibliothek und die Rotation scheint entlang einer Achse zu arbeiten und mit den drei Achsen ist die Rotation abnormal. Ich habe einige Ideen über das Drehen mit Quaternionen gesehen, um eine kardanische Sperre zu vermeiden, und ich habe Euler versucht, aber es war nicht erfolgreich.Wie man eine Kugel entlang der drei Achsen (x, y, z) gleichzeitig dreht
sphericImageMesh_ ist meine Kugel und this.getRollDeg() ist Methode Rolle zu bekommen, wie von der Kamera gegeben.
Was habe ich versucht, ist hier unten:
// var euler = new THREE.Euler(- THREE.Math.degToRad(this.getRollDeg()), - THREE.Math.degToRad(this.getHeadingDeg()) , - THREE.Math.degToRad(this.getPitchDeg()), 'XYZ');
// this.sphericImageMesh_.setRotationFromEuler(euler);
// this.sphericImageMesh_.rotateZ(THREE.Math.degToRad(-this.getPitchDeg()));
// this.sphericImageMesh_.rotateX(THREE.Math.degToRad(-this.getRollDeg()));
this.sphericImageMesh_.rotateY(THREE.Math.degToRad(-this.getHeadingDeg()));
Ich habe über die Verwendung von Quaternions
und MatrixX4
und bin mir nicht sicher gesehen, wie sie anzuwenden. Jede Hilfe wird geschätzt.
Es funktionierte nicht, ich alle um Kombinationen ausprobiert, oder sollte ich kappa, omega, phi statt Gier-, Wank- und Nick – riotday
? Hast du die Dokumentation gelesen, die ich verlinkt habe? Yaw Pitch and Roll sind keine Schlüsselwörter für THREEjs, noch sind Kappa Omega Phi. Ich habe nur flightsim Terminologie verwendet. Füge deinem Projekt eine Geige hinzu und beschreibe das Verhalten, nach dem du suchst. "Es hat nicht funktioniert" kann viele Dinge bedeuten. – OtterFamily