2012-10-08 6 views
12

Le package rgl R permet de tracer des figures 3D interactives et de sauvegarder ces figures dans un document html (avec la fonction writeWebGL()).l'incorporation d'un tracé 3D R animé dans PowerPoint

Je voudrais mettre une telle figure 3D interactive dans une présentation PowerPoint. C'est possible ?

EDIT: Après avoir étudié la réponse de Dieter Menne avec l'aide de Google, mes conclusions sont les suivantes:

  • méthode de l'heure actuelle Luke Tierney pour convertir une image 3D dans un fichier U3D et/ou une asymptote Le fichier ne fonctionne que pour les graphiques créés avec le package misc3d, pas le package rgl.
  • L'exportation de graphiques rgl 3D vers VRML/X3D a été annoncée comme un plan futur. Cela permettrait peut-être d'intégrer un graphique 3D dans une présentation Powerpoint et/ou LaTeX.

EDIT: related discussion

+1

Avoir un navigateur, ou même R, fonctionnant en arrière-plan et utiliser Alt-Tab pour basculer entre – James

Répondre

5

Il est possible que si vous transférez la présentation Powerpoint (ou, plus encore R-ish, l'utilisation Beamer/latex) et incorporez le tracé 3D comme décrit dans Luc Tierney de article

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

+0

Merci.Bien sûr, je préfère le rendu LaTeX mais j'ai vraiment besoin de faire la présentation avec PowerPoint. Que voulez-vous dire par "transférer la présentation Powerpoint"? –

+0

Exportez la présentation PP en pdf. –

+0

Comment? Avec PDFcreator? –

4

Si vous mettez cela dans un document HTML, vous pouvez probablement utiliser l'objet IWebBrowser2 pour ouvrir le HTML à l'intérieur d'un diaporama. Je ne suis pas sûr de la façon dont un graphique 3D rendrait, et je ne connais pas R ou ne serais pas en mesure d'offrir d'autres conseils, mais vous pourriez commencer par essayer de créer simplement un objet WebBrowser dans votre diapositive, puis lui dire Accédez au fichier 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 

Le contrôle de ce flux en mode SlideShow est peut-être un peu plus délicat, mais il est faisable, à condition que le graphique affiche correctement dans IE comme celui-ci.

Comment installer cette macro

  1. Ouvrez votre présentation PowerPoint, puis cliquez sur Alt + F11 pour afficher le projet Visual Basic.
  2. Cliquez droit sur le projet dans le volet gauche et insérez le module:

enter image description here

  1. Collez le code de ma réponse à ce module.
  2. Dans la ligne qui indique wb.Navigate "C:\..." modifier cela pour le chemin d'accès correct pour votre fichier HTML. Cela peut être sur votre ordinateur ou dans un dossier réseau partagé, etc.

Le navigateur devrait pouvoir afficher des pages HTML en mode Diaporama, mais ne les rendra pas en mode normal ou de prévisualisation.

+0

Merci pour votre contribution. Je ne suis pas upvote parce que je suis ignorant de html et ensuite je ne comprends aucun mot :) –

+0

@ StéphaneLaurent ce n'est pas du HTML en soi, mais c'est une macro qui pourrait insérer le HTML dans votre diapositive powerpoint. Je vais mettre à jour avec plus de détails sur la façon d'ajouter cette macro à votre présentation, puis nous pouvons voir si cela fonctionne pour vous. –