Анимация 3D-объекта в R Markdown HTML с Play3d - PullRequest
0 голосов
/ 13 декабря 2018

Можно ли вставить код в блок уценки R, чтобы позволить play3d анимировать 3D-графики в результирующем html?Вот пример уценки:

```{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())
```

Вязание файла открывает окно устройства и анимирует плоскость, как указано, но процесс вязания зависает, пока пользователь не нажмет ESC, когда устройство имеет фокус;когда это сделано, вязание возобновляется, и полученный html-файл содержит только статический трехмерный график (т.е. без анимации).

Если заранее не сохранить фильм, есть ли способ анимировать plot3d объекты в уценкеHTML

1 Ответ

0 голосов
/ 13 декабря 2018

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)
```

Это покажет что-то вроде этого:

screenshot

Вы можете нажать накнопки для управления вращением.

...