如何将3D图表变成3D电视上可以观看的东西?


9

假设我有一个R中的3D散点图或一个数据框,其中的3个字段填充了数字数据。

如何将其转换为3D电视(例如,三星使用快门护目镜的随机大屏幕电视)上可观看的“东西”?该散布图的静态剪辑绕轴旋转,或者甚至可以与该图交互(移动,旋转,...)更好。您需要什么程序,库来完成此工作?

(我刚提出R的原因是完成工作。但是不必包含R的解决方案)


1
如果您已经具有该图的3D表示,那么您所需要做的就是从图中至少创建两个视图。这些视图在显示内容上必须有所不同。因此,如果您的“摄像机”将从一个角度查看绘图,则可以将摄像机稍微向左或向右移动以获得第二个视图。
slhck 2012年

1
然后,您需要将图像编码为电视可以处理的某种多视图视频,例如H.264 MVC或分离立体声–您对此有任何具体说明吗?
slhck 2012年

@slhck:我真的没有3D表示。我可以用3D R显示它。同样在VRML表示上使用两个相机逼迫对象可能会妨碍与情节的交互。就像调整比例或使用其他数据一样。:/
Raffael

1
哦,我明白了。好吧,那将会很复杂。您需要渲染的图形能够从计算机的图形卡(例如带有3D视觉套件的NVIDIA图形卡)输出实际的3D,但是我不知道这种事情。
slhck 2012年

1
您需要一个可以输出3D的图形卡(如已经提到的NVIDIA和3D视觉),然后是一个程序,该程序可以在硬件加速的3D视口(类似于视频游戏)中显示您的数据。Processing(processing.org)在这方面可能会帮助您。
罪魁祸首

Answers:


1

您可以为动画的每一帧生成两个图像(左右眼),并排设置(以生成非常宽的图像或水平压缩的图像),然后以这种方式生成视频文件。然后将该文件放到USB驱动器上,然后将其插入现代3D电视中,然后在其3D菜单中查看,您应该找到一个“并排”或“ SBS”选项,它将了解如何显示图像。(有关许多示例,请在YouTube上搜索“ GoPro 3D”。)

您也许可以将连接到电视的计算机作为监视器来执行相同的操作,但是台式机的非3D部分将需要隐藏,因为它们不会为每只眼睛重复(并且看起来很奇怪)。

注意:如果确实以SBS模式将计算机连接到3D屏幕,则会发现在导航以开始演示时一次闭合一只眼睛很有用。


0

实际上,您只需要rgl包中的可旋转plot3d()即可

  1. 在某些特定的正常位置开始绘图的方向。
  2. 创建基础图的两个实例,分别向相反的方向稍微旋转(对于完全居中的类似镜头的视图),或者分别稍微放大和缩小(对于更标准的3D视图)

    X。将情节的色彩调得越远,蓝色越多,越靠近的情节色彩越淡。

  3. 实际不显示基本图。最好使用基数来计算一个四缓冲区(或双缓冲区),以交替显示每帧中两个偏移图的哪一个。在每个绘制循环中更新它。更新后同时显示每个实例图。
  4. 使用高分辨率计时器或VSync,以给定的快门眼镜设备的刷新速率精确播放缓冲区堆栈。
  5. 希望可以在您的应用中配置刷新率,以及“跳过下一帧”选项以与快门眼镜同步。(以反转左/右同步)
  6. 在更新基本图之前,请扫描输入以获取用户反馈(可能来自异步填充的输入缓冲区)。
  7. 使用HDMI哈哈将笔记本电脑或小型Linux设备挂接到电视上。
  8. 奖励:如果您真的想了解它,可以一起使用RcppGLFW来处理游戏杆/鼠标/游戏手柄的疯狂行为。

有RGL的简短描述和类似的包3D纺纱的地块,可在本月底可以看到张贴

如果可以的话,您将希望使用OpenGL在每张图上放置一些透视驱动的模糊效果。当然,您可能需要对角度进行一些调整才能使其正确。如果我记得应该是小于20度的角度,...但是谁知道,不是我!


不,谢谢。我确实知道rgl和rgl从包装盒中支持立体字3D。我提到百叶窗护目镜是有原因的。但还是要感谢;)
拉斐尔2014年

@Яaffael哎呀!由于阅读速度太快,实际上没有看到有关快门眼镜的信息。抱歉,添加了一些更正。
Garet Claborn 2014年

您可能还可以将R与OpenCL / GL互操作配合使用来实现缓冲,并对输入缓冲区进行单独的仅写服务写入,从而为您的应用提供只读访问权限。(然后,您还需要反向操作,以便在读取输入后将消息快速发送回服务)。或者非常类似,只需让您的应用制作缓冲区并将顶点发布到同时运行的OpenCL和C ++ / OpenGL / OpenCL渲染器中即可侧。
Garet Claborn 2014年

我删除了我的问题,因为我得到了很多不相关的答案(到目前为止,就像您一样:),但是欢迎您进行更新。
拉斐尔2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.