在PowerPoint中嵌入R动画3D绘图

时间:2012-10-08 11:49:20

标签: r 3d powerpoint presentation

rgl R包允许绘制交互式3D图形并将这些图形保存在html文档中(使用writeWebGL()功能)。

我想将这样一个交互式3D图形放在PowerPoint演示文稿中。有可能吗?

编辑:在Google的帮助下研究Dieter Menne的答案后,我的结论如下:

  • 目前,Luke Tierney将3D图形转换为U3D文件和/或Asymptote文件的方法仅适用于使用misc3d包创建的图形,而不适用于rgl包。
  • 将3D rgl图形导出到VRML/X3D文件已作为未来计划公布。也许这将允许将3D rgl图形嵌入到Powerpoint和/或LaTeX演示中。

编辑related discussion

2 个答案:

答案 0 :(得分:5)

如果您转移Powerpoint演示文稿(或更多R-ish,使用beamer / latex),并按照Luke Tierney的文章

中所述嵌入3D图,

http://homepage.stat.uiowa.edu/~luke/R/misc3d/misc3d-pdf/misc3d-pdf.pdf

答案 1 :(得分:4)

如果将其放入HTML文档中,则可以使用IWebBrowser2对象在幻灯片中打开HTML。我不确定3D图形是如何渲染的,我不熟悉R或者无法提供任何进一步的建议,但是你可能首先尝试在幻灯片中创建一个WebBrowser对象,然后告诉它导航到HTML文件。

Sub InsertHTMLFrame()
Dim sld as Slide
Dim shp as Shape
Dim wb as Object
Set sld = ActivePresentation.Slides(1) '## Modify as needed

'## Create the shape container, you will need to modify the L/T/W/H to fit your document
Set shp = sld.Shapes.AddOLEObject(100, 200, 200, 150, _
    "Shell.Explorer.2")
shp.Name = "3dgraphic"
Set wb = shp.OLEFormat.Object

wb.Navigate "C:\Users\you\Desktop\exported3dgraphic.html"
End Sub

在SlideShow模式下控制此流程可能会有点棘手,但如果图形通过IE正确呈现,则可行。

如何安装此宏

  1. 打开PowerPoint演示文稿,然后单击Alt + F11以显示Visual Basic项目。
  2. 右键单击左窗格中的项目,然后单击“插入模块:
  3. enter image description here

    1. 将我的答案中的代码粘贴到此模块中。
    2. 在显示wb.Navigate "C:\..."的行中,将其修改为HTML文件的正确文件路径。这可以在您的计算机上或共享网络文件夹等中。
    3. 浏览器应该能够在幻灯片模式下显示HTML页面,但不会在正常模式或预览模式下呈现它们。