0

与えられた軸を中心に立方体を回転させる必要があるコースの割り当てを行っています。MATLAB関数を使用できないため、手動で使用する必要があります。

これは役に立たない私の試みです。`

function [ CV ] = rotateCubeX( CV, degrees )
    %CV = input vertices/Return val
    %degrees = amount of degrees to rotate
    alpha = degrees * pi/180;
    rotate = zeros(3,3);
    rotate(1,1) = 1;
    rotate(2,2) = cos(alpha);
    rotate(2,3) = -sin(alpha);
    rotate(3,2) = sin(alpha);
    rotate(3,3) = cos(alpha);
    CV = CV * rotate;
    end

前:

25.2000 5.9000 2.5000 
25.7000 5.9000 2.5000 
25.7000 7.9000 2.5000 
25.2000 7.9000 2.5000 
25.2000 5.9000 2.8000 
25.7000 5.9000 2.8000 
25.7000 7.9000 2.8000 
25.2000 7.9000 2.8000 

後:

-10.3544 -23.7200 2.5000 
-10.6536 -24.1205 2.5000 
-9.0513 -25.3175 2.5000 
-8.7521 -24.9169 2.5000 
-10.3544 -23.7200 2.8000 
-10.6536 -24.1205 2.8000 
-9.0513 -25.3175 2.8000 
-8.7521 -24.9169 2.8000 

画像に変化はありません。

ばかげたことを忘れていると思います。

4

1 に答える 1

2

回転すると予想される軸は何ですか? コードでそれをどのように説明しましたか?

任意の軸を中心に回転しようとしている場合、任意の軸を中心とした回転の一般式はこちらです。(回転行列を作成するその他の方法を参照してください)。利き手に注意し、行優先行列と列優先行列のどちらを使用しているかに注意してください。

于 2012-04-30T17:27:14.007 に答える