2012-04-30 13 views
0

私は与えられた軸についてキューブを回転させる必要がある私のコースの割り当てを行っています。私はMATLAB関数を使うことができないので、手動で行う必要があります。軸を中心にしてキューブを回転させる方法 - 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 

画像に異常がないこと。

私は何か愚かなことを忘れていると確信しています。

+0

このコードを実行するとどうなりますか?そして、それは起こりたいとどのように違いますか? –

+0

これは画像に変化を与えませんが、それを表す行列にわずかな変更があります。 – taylorcressy

+0

ええ、行列には​​大きな変化がありますが、画像にはありません – taylorcressy

答えて

2

回転すると思われる軸は何ですか?あなたのコードでそれをどのように説明しましたか?

任意軸軸を中心に回転しようとすると、任意の軸を中心とした回転の一般的な公式はhereとなります。 (回転行列を作成するその他の方法を参照してください)。親切さと、行メジャーと列メジャーを使用しているかどうかに注意してください。

+0

返信ありがとう 私は今、自分の問題を認識しています。私はX軸について回転しています。実際に私の相対的な位置について回転したいときです。私はそれを行うには、私のアルゴリズムに影響を与えるのでしょうか? – taylorcressy

+0

ああ問題が答えた!私は戻って翻訳し、その後、回転させた後、私は原点に回転したいものは何でもオブジェクト変換します。回避策を考え出した。 問題は、:)はブレーンストーミングをありがとう解決! – taylorcressy

+0

@taylorcressy - 答えが役に立つと問題が解決した場合は、それを受け入れることを検討してください... – zenpoy

関連する問題