2012-11-03 120 views
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 and RotX explained Example

回答

2

在旋轉之前,頂部是2f *(0,1,0)。

後繞由α角的z軸的圓筒,頂部是在2F *(SINα,COSα,0)。

如果現在通過旋轉繞x軸β角缸,頂進到2F *(SINα,COS阿爾法* COS的β,COS阿爾法*罪測試版)。

+0

P.S.我看到你在數學部分發布了同樣的問題。我同意那裏的評論,旋轉矩陣是解決這個問題的好方法 - 易於實現和概念化。 – nasenbohrer

+0

我確實使用了旋轉座標系,因爲這是Transform3D的工作原理。它是一個4x4矩陣,其中上面的3x3矩陣表示旋轉矩陣,但我不太確定如何確定結束。 非常感謝 –