3Dチャートを3Dテレビで見られるものに変える方法は?


9

Rの3D散布図、または数値データで満たされた3つのフィールドを持つデータフレームがあるとします。

それを3Dテレビで見ることができる「何か」に「変える」ことができますか(シャッターゴーグルを使用したSamsungのランダムな大画面テレビのように)。軸を中心に回転する散布図の静的なクリップ、またはプロットを操作できる(移動、回転、...)。これを行うために必要なプログラム、ライブラリは何ですか?

(作業が行われるので、Rを起動しました。ただし、Rを含める必要はありません)


1
プロットの3D表現がすでにある場合は、そこから少なくとも2つのビューを作成するだけです。これらのビューは、表示する内容が最小限で異なっている必要があります。したがって、「カメラ」が1つの角度からプロットを見る場合は、カメラを少し左または右にシフトして、2番目のビューを取得します。
slhck

1
次に、画像をH.264 MVCやスプリットステレオなど、TVが処理できるある種のマルチビュービデオにエンコードする必要があります。具体的なことはありますか?
slhck

@slhck:私は実際には3D表現がありません。私はそれをRで3Dで表示させることができます。また、VRML表現で2つのカメラパーセクティブを使用すると、プロットとの相互作用がハンディキャップになる可能性があります。スケールを調整したり、さまざまなデータを使用したりします。:/
ラファエル

1
ああなるほど。まあ、それは複雑になるでしょう。コンピューターのグラフィックスカードから実際の3Dを出力できるレンダリングされたグラフィックス(たとえば、3Dビジョンキットを備えたNVIDIAのグラフィックス)が必要ですが、私はそのようなことを知りません。
slhck

1
3D(前述のNVIDIAおよび3Dビジョンなど)を出力できるグラフィックスカードと、ハードウェアアクセラレーションされた3Dビューポート(ビデオゲームと同様)にデータを表示するプログラムが必要です。処理(processing.org)はこの点であなたを助けるかもしれません。
evilspoons

回答:


1

アニメーションのフレームごとに2つの画像(左目用と右目用)を生成し、横に並べて(非常に幅の広い画像または水平につぶした画像にする)、その方法でビデオファイルを生成できます。 。次に、そのファイルをUSBドライブに入れ、最新の3Dテレビに接続し、その3Dメニューを見ると、画像の表示方法を理解する「サイドバイサイド」または「SBS」オプションが見つかります。(多くの例については、YouTubeで「GoPro 3D」を検索してください。)

モニターとしてテレビに接続されたコンピューターでも同じことができるかもしれませんが、デスクトップの3D以外の部分は、それぞれの目で複製されない(奇妙に見える)ため、非表示にする必要があります。

注:コンピュータをSBSモードの3D画面に接続する場合は、ナビゲーションを開始しながら一度に片目を閉じてプレゼンテーションを開始すると便利です。


0

本当に必要なのは、rglパッケージからのスピン可能なplot3d()だけです。

  1. プロットの向きを特定の通常の場所から開始します。
  2. ベースプロットの2つのインスタンスを作成し、わずかに反対方向に回転(完全に中央に配置されたレンズのようなビューの場合)またはわずかにズームインおよびズームアウト(より標準的な3Dビューの場合)

    バツ。プロットをより青く離れた色合いに、同じように近くのプロットをより赤く色づけます。

  3. 実際にベースプロットを表示しません。好ましくは、ベースを使用して、2つのオフセットプロットのどちらが各フレームに表示されるかを交互に示すクワッドバッファー(またはダブルバッファー)を計算します。各描画ループを更新します。更新後、各インスタンスプロットを同時に表示します。
  4. 高解像度タイマーまたはVSyncを使用して、所定のシャッターグラスデバイスのリフレッシュレートで正確にバッファースタックを再生します。
  5. うまくいけば、リフレッシュレートはアプリで設定可能であり、「次のフレームをスキップ」してシャッターグラスと同期するオプションもあります。(左/右同期を逆にする)
  6. ベースプロットを更新する前に、ユーザーフィードバックの入力をスキャンします。非同期で入力された入力バッファーからの入力である可能性があります。
  7. ノートパソコンまたは小さなLinuxデバイスをHDMIでテレビに接続します。
  8. おまけ:本当に気になりたければ、RcppGLFWを一緒に使って、ジョイスティック/マウス/ゲームパッドの狂気を処理できます。

この投稿の最後にある、3Dスピンプロット用のrglおよび同様のパッケージの簡単な説明があります。

可能であれば、OpenGLを使用して各プロットに見栄えのよいパース主導のぼかし効果を配置することをお勧めします。もちろん、角度を少し微調整して、適切に調整する必要があります。覚えているとしたら、角度は20度未満である必要があります。


いいえ、申し訳ありません。私はrglとrglがボックスからのアナグリフ3Dをサポートしていることを知っています。シャッターゴーグルについては、理由があります。とにかくありがとう;)
ラファエル

@Яaffaelおっと!速すぎる読書のためにシャッター眼鏡について実際にそれを見ていませんでした。そのため申し訳ありませんが、いくつかの修正を追加しました。
Garet Claborn 2014年

また、OpenCL / GL相互運用機能でRを使用してバッファリングを実現し、入力バッファーへの書き込み専用の個別のサービスを提供して、アプリに読み取り専用アクセスを付与することもできます。(そして、入力が読み取られたらすぐにメッセージをサービスに迅速に送信するために、逆も必要です)または非常に同様に、アプリにバッファーを作成させ、頂点をOpenCLおよびC ++ / OpenGL / OpenCLレンダラーに沿って実行させる側。
Garet Claborn 2014年

関連のない回答(これまでの回答など)が多すぎるため、質問を削除しましたが、更新してもかまいません。
ラファエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.