saveGIF()関数

  • こちらでアニメーションGIFをRに作らせている
  • 3次元プロットの視点を変えて眺めることで、3次元プロットの全体像が把握しやすくなっている
  • Rの世界で複数画像を作って、ImageMagickの世界に行ってアニメーションgifにまとめあげているようだ
  • こちらの空間の時間変化ムービーも同様か?
  • ImageMagickというフリーソフトをインストールしてあることが条件
  • この状態で、次のように、3次元プロット用のデータzを作り、視点をpersp()関数の引数thetaでコントロールしている
for(i in 1:length(x)){
	for(j in 1:length(y)){
		z[i,j]<-sin(x[i])+sin(y[j])*cos(x[i])
	}
}


t<-seq(from=0,to=360,length=10)
for(i in 1:length(t)){
	persp(z,theta=t[i])

}
  • RのGUI上でぐるぐる回すことができた
  • これをアニメーションgifにする
  • 次のようにanimationパッケージのsaveGIF()関数を用いる
    • saveGIF()関数は、複数の絵を描く処理を引数としている関数である
# 画像送りの間隔をintervalで指定してある
saveGIF({
for(i in 1:length(t)){
	persp(z,theta=t[i])

}
},interval=0.05)
    • こうすることで、Rのアプリケーション用の領域にファイルを描き出しつつ、animation gifファイルを開くデフォルトアプリケーション(ブラウザ?)上にて、アニメーションgifを映写させる
    • これを、「好きな場所に」「保存」すれば、出来上がり
  • saveGIF()の他に saveLatex() (PDF作成), saveHTML() (HTML用を作成)がある