2016-12-11 5 views
1

RプログラミングでRGLパッケージを使用しているプロジェクトで作業しています。私は誰かが同じのplay3d機能で私を助けることができたら大好きです。RGLパッケージのPlay3d

ここに私が行う予定です。出力ウィンドウにポリゴンをプロットするpolygon3d(x、y、z)があります。今度は、5ラウンドで10単位というように、各繰り返しで値を変換したいと考えています。

私は調査しましたが、使用可能なリソースはすべて、ポリゴンの回転についてです。そのような場合の例は、

M <- par3d("userMatrix") 
play3d( 
    par3dinterp(userMatrix=list(M,rotate3d(M, angle=pi, x=1 ,y=0, z=0))), 
    duration=10 
) 

上記のコードは、10秒間x軸に沿ってポリゴンを回転させて停止します。

1秒ごとに翻訳する量を指定するパラメータを使用して10秒間ポリゴンを翻訳したいと考えています。

ポリゴンは基本的にプラス記号(クワドコプターを表す)で、地面(x-y軸)から空気(z軸)に昇降しているように見せたいと思います。

ご協力いただければ幸いです。

おかげで、すべての

答えて

0

これを行うには、平行移動行列の転置を使用する必要があります。例えば、(x、y、z)で変換するために、これは?rgl.setMouseCallbacks例で行われる

M <- par3d("userMatrix") 
play3d( 
    par3dinterp(userMatrix=list(M, M %*% t(translationMatrix(x, y, z)))), 
    duration=10 
) 

を使用します。

以下の質問に答えるためにx、y、z値を追加するように編集しました。

+0

ヘルプのためのThanls!しかし、翻訳する単位をどのように言及できるかを指定することはできますか?私は実際にはM行列が何であるか分からない。翻訳部分で少し助けてくれますか? :) –

+0

ありがとう、私はそれを最初に試みたが、ポリゴンは元の座標(0,0,0)に戻ります。つまり、振り子のように元の位置に戻ってきます。さらに、私の変換距離はx = 133、y = 150、z = 100です。そして、ポリゴンは画面のすぐ外に飛びます。 –

関連する問題