Drehung um einen bestimmten Punkt (z. B. um 0,0,0 drehen)

Ich habe viel nach diesem Problem gesucht, aber ich konnte keine passende Antwort finden.
Ich muss einen Zylinder um einen bestimmten Punkt (z. B. 0,0,0) drehen, aber der Drehpunkt des Zylinders ist standardmäßig vorgegeben. Wie ändere ich das?

ich fanddiese Thema, und es ist genau das, was ich tun möchte, aber ich weiß nicht, wie ich es mit Java machen soll.

Um besser zu erklären, was ich tun möchte, zeige ich 3 Bilder. (V)

imageshack.us/photo/my-images/259/aintgood.jpg

imageshack.us/photo/my-images/840/whatineed.jpg

imageshack.us/photo/my-images/705/nogoodn.jpg

Das erste Bild zeigt also mein Grundproblem: Der Zylinder sollte so positioniert sein, dass das Ende in der Mitte der Kugel liegt, sagen wir mal (0,0,0). Der Benutzer gibt zwei Winkel an. Der erste ist für einen rotX-Befehl, der zweite für einen rotZ-Befehl. Der Drehpunkt des Zylinders befindet sich in seiner Mitte. Wie Abbildung 3 zeigt, ruiniert das Ganze, selbst wenn ich den Zylinder so verschiebe, dass sein Ende in der Mitte der Kugel liegt, wenn er sich dreht.

Bild 2 zeigt, wie die Zylinder-Kugel-Gruppe unabhängig von den angegebenen Winkeln aussehen soll. Das Bild wird nicht basierend auf einem Algorithmus, sondern basierend auf einem Kalkül erhalten und mit der Maus gedreht.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage