如何计算圆柱体“顶部”圆的中心点,已知旋转角度?

8
我有一个长度为2f的圆柱体,用户给出了RotX和RotZ的数据。我也知道我的圆柱体的“底部”在(0,0,0)处(形成“底部”的圆的中心)。
我需要计算具有上述数据的“顶部”点(另一端圆的中心)。
在我的第二张图片中,A点的计算如下(zAngle的值为PI/4(alpha角度),xAngle的值为0)。 点B的计算为(sin(xAngle),cos(xAngle),sin(zAngle)),其中xAngle的值为PI/4(beta角度),zAngle的值为0; C点是具有xAngle=PI/4和zAngle=PI/4的圆柱体的“顶部”。 我需要找到一种算法来确定任何给定的xAngle和zAngle的“顶部”点。
如果有人能帮助我,我将非常感激。
图片链接: https://istack.dev59.com/FxdSM.webp https://istack.dev59.com/2A44t.webp
1个回答

2

在旋转之前,顶部位于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)。


我看到你在数学部分发布了同样的问题。我同意那里的评论,旋转矩阵是解决这个问题的好方法 - 易于实现和理解。 - nasenbohrer
我确实使用旋转矩阵,因为这是Transform3D的工作方式。它是一个4x4的矩阵,其中上部的3x3矩阵表示旋转矩阵,但我不太确定如何确定末端。非常感谢。 - Mihai Bujanca

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接