2017-05-05 3 views
1

でRGLを使用してプロットを回転させるようにpar3dinterpとplaywidget使用についてのヘルプが必要ページには、プロットの「複雑な」回転アニメーションを実行し、次のコード例である:は、私は比較的新しい文書を通じて働いているR

M <- r3dDefaults$userMatrix fn <- par3dinterp(time = (0:2)*0.75, userMatrix = list(M, rotate3d(M, pi/2, 1, 0, 0), rotate3d(M, pi/2, 0, 1, 0))) rglwidget() %>% playwidget(par3dinterpControl(fn, 0, 3, steps=15), step = 0.01, loop = TRUE, rate = 0.5)

私ははるかに簡単な何かをしたい - 一定の割合が、私のノギンで、z軸の周りにプロットを回転させます時間の指定に関して何か基本的なものが欠けているように思えます値関数は評価されています....私は360degressの途中を回転させてからスイングバックしますが、回転し続けることはできません...助けてください。事前に

おかげで アレックス

[Iは、次のように何かに順列をしようとしています....

M <- r3dDefaults$userMatrix fn <- par3dinterp(time = 0:3, userMatrix = list(M, rotate3d(M, pi/2, 0, 0, 1), rotate3d(M, pi, 0, 0, 1), M)) rglwidget() %>% playwidget(par3dinterpControl(fn, 0, 2, steps=15), step = 0.01, loop = TRUE) ]シンプルな紡糸に

答えて

1

spin3d()ではなくpar3dinterp()を使用しています。 (あなたは後者を使うことができるはずですが、あなたが見たように、それを正しく得るのは難しいですが、実際には補間方法にバグがあると思います)。

例えば、 rpm(デフォルトはspin3d())、フルローテーションには12秒かかります。 40段階の選択は一種の任意であるが、それはそれらの間を補間して、シーンの歪みを取得しますので、あなたは、その数が小さすぎたくない

fn <- spin3d() 
rglwidget() %>% 
playwidget(par3dinterpControl(fn, 0, 12, steps = 40), 
      step = 0.01) 

:あなたはこのような何かしたいと思いますステップ。一方、Webページに入れるデータの量は値に比例するため、不必要に大きくしたくはありません。

+0

素晴らしい作品です。非常に高く評価されています。私の基本的なエラーは、spin3dがウィジェットで動作しなかったと仮定し、あなたが望む動作を制御するためにpar3dinterpを使用しなければならなかった。私はpar3ddinterpとpar3dintercontrolのコーディングが完全に基本的ではないことをいくらか安心しています。 –

関連する問題