使用 play3d 在 R Markdown html 中动画化 3d 对象
Animating 3d object in R Markdown html with play3d
是否可以将代码插入到 R markdown 块中以允许 play3d
在生成的 html 中为 3d 图制作动画?这是一个降价示例:
```{r setup, include=FALSE}
library(knitr)
library(rgl)
knitr::opts_chunk$set(echo = TRUE)
```
```{r, webgl = TRUE}
A <- merge(1:100,1:100,by=NULL)
A$z <- 0.5*A$x - 0.5*A$y
plot3d(x=A$x,y=A$y,z=A$z)
play3d(spin3d())
```
编织文件会打开一个设备 window 并按照指定的方式对平面进行动画处理,但是编织过程会挂起,直到用户在设备获得焦点时按下 ESC
;完成后编织恢复,生成的 html 文件仅包含静态 3d 图(即没有动画)。
在不提前保存电影的情况下,有没有办法在 markdown html 中为 plot3d
个对象设置动画?
play3d
纯粹是为了控制 rgl
在 R 中的显示。要控制 HTML 文档中的显示有点复杂。您需要这样的代码:
```{r setup, include=FALSE}
library(knitr)
library(rgl)
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
A <- merge(1:100,1:100,by=NULL)
A$z <- 0.5*A$x - 0.5*A$y
plot3d(x=A$x,y=A$y,z=A$z)
fn <- spin3d()
control <- par3dinterpControl(fn, 0, 3, steps = 15)
rglwidget() %>% playwidget(control, step=0.01, loop = TRUE, rate = 0.5)
```
这将显示如下内容:
您可以点击按钮来控制旋转。
是否可以将代码插入到 R markdown 块中以允许 play3d
在生成的 html 中为 3d 图制作动画?这是一个降价示例:
```{r setup, include=FALSE}
library(knitr)
library(rgl)
knitr::opts_chunk$set(echo = TRUE)
```
```{r, webgl = TRUE}
A <- merge(1:100,1:100,by=NULL)
A$z <- 0.5*A$x - 0.5*A$y
plot3d(x=A$x,y=A$y,z=A$z)
play3d(spin3d())
```
编织文件会打开一个设备 window 并按照指定的方式对平面进行动画处理,但是编织过程会挂起,直到用户在设备获得焦点时按下 ESC
;完成后编织恢复,生成的 html 文件仅包含静态 3d 图(即没有动画)。
在不提前保存电影的情况下,有没有办法在 markdown html 中为 plot3d
个对象设置动画?
play3d
纯粹是为了控制 rgl
在 R 中的显示。要控制 HTML 文档中的显示有点复杂。您需要这样的代码:
```{r setup, include=FALSE}
library(knitr)
library(rgl)
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
A <- merge(1:100,1:100,by=NULL)
A$z <- 0.5*A$x - 0.5*A$y
plot3d(x=A$x,y=A$y,z=A$z)
fn <- spin3d()
control <- par3dinterpControl(fn, 0, 3, steps = 15)
rglwidget() %>% playwidget(control, step=0.01, loop = TRUE, rate = 0.5)
```
这将显示如下内容:
您可以点击按钮来控制旋转。