我有一个长度为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的“顶部”点。
如果有人能帮助我,我会非常感激。
答案 0 :(得分:2)
旋转前,顶部位于2f *(0,1,0)。
将圆柱绕z轴旋转角度α后,顶部为2f *(sin alpha,cos alpha,0)。
如果现在围绕x轴旋转圆柱β角,则顶部变为2f *(sin alpha,cos alpha * cos beta,cos alpha * sin beta)。