Ich habe einen Zylinder von 2f Länge und die Daten für RotX und RotZ, vom Benutzer angegeben. Ich weiß auch, dass der "Boden" meines Zylinders bei (0,0,0) liegt (der Mittelpunkt des Kreises bildet den "Boden")
Was ich brauche, ist, den "oberen" Punkt (die Mitte des Kreises am anderen Ende) zu berechnen, wobei die Daten in den oberen Zeilen freigelegt werden.
In meinem zweiten Bild wird der A-Punkt wie folgt berechnet (sin (zAngle), cos (zAngle), sin (xAngle) mit zAngle = PI / 4 (Alpha-Winkel) und xAngle = 0.
Punkt B wird berechnet als (sin (xAngle), cos (xAngle), sin (zAngle)) mit xAngle = PI / 4 (Beta-Winkel) und zAngle = 0;
C-Punkt ist die "Spitze" eines Zylinders mit xAngle = PI / 4 und zAngle = PI / 4.
Ich muss einen Algorithmus finden, um den "oberen" Punkt für jedes gegebene xAngle und zAngle zu bestimmen.
Ich wäre sehr dankbar, wenn mir jemand helfen könnte.
Vor Ihren Rotationen ist die Spitze bei 2f * (0,1,0).
Nachdem Sie den Zylinder um die z-Achse um den Winkel Alpha gedreht haben, ist die Spitze bei 2f * (sin alpha, cos alpha, 0).
Wenn Sie nun den Zylinder um den Winkel Beta um die x-Achse drehen, geht die Spitze nach 2f * (sin alpha, cos alpha * cos beta, cos alpha * sin beta).