8

我有一个长度为 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 的“顶”点。

如果有人可以帮助我,我将非常感激。

RotZ 和 RotX 解释 例子

4

1 回答 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)。

于 2012-11-03T21:11:57.837 回答