我有一个2f长的圆柱体,并且由用户提供了RotX和RotZ的数据。我也知道圆柱体的“底部”位于(0,0,0)(形成“底部”的圆的中心)

我需要的是计算在上面的线中显示数据的“顶部”点(另一端的圆心)。

在我的第二张图像中,A点的计算方式为(sin(zAngle),cos(zAngle),sin(xAngle),其中zAngle = PI/4(α角)且xAngle = 0。
B点的计算公式为(sin(xAngle),cos(xAngle),sin(zAngle)),其中xAngle = PI/4(β角)且zAngle = 0。
C点是xAngle = PI/4和zAngle = PI/4的圆柱的“顶部”。
我需要找到一种算法来确定任何给定的xAngle和zAngle的“最高”点。

如果有人能帮助我,我将深表感谢。

最佳答案

旋转之前,顶部为2f *(0,1,0)。

在将圆柱体绕z轴旋转了角度alpha之后,顶部为2f *(sin alpha,cos alpha,0)。

如果现在将圆柱体绕x轴旋转角度beta,则顶部将变为2f *(sin alpha,cos alpha * cos beta,cos alpha * sin beta)。

10-04 18:12