Tsukuba.R#5でLTします.
http://wiki.livedoor.jp/syou6162/d/Tsukuba%2eR%235
発表スライドは以下の通り.タイトルは「Animation with R」.
http://www.slideshare.net/mickey24/r-de-animation
slideshareでアニメーションが動いてくれなくて涙目.
Tsukuba.R#5でLTします.
http://wiki.livedoor.jp/syou6162/d/Tsukuba%2eR%235
発表スライドは以下の通り.タイトルは「Animation with R」.
http://www.slideshare.net/mickey24/r-de-animation
slideshareでアニメーションが動いてくれなくて涙目.
正弦波.
library(animation) wave <- function() { for(t in 1:100) { plot(function(x){ sin(x + 0.08 * pi * t) }, -pi, 2*pi, xlab="x", ylab="sin(x)", col="blue", lwd=3) } } saveMovie(wave(), interval=0.05, moviename="wave", movietype="gif", outdir=getwd(), width=640, height=480)
ソースはこれだけ.wave()で位相が少しずつ異なる正弦波を100回plotしているだけ.簡単.
うねうね.こちらはGIFアニメで出力したところ5.3Mと巨大なファイルになってしまったので,試しにMPEGで出力させてみた.
library(animation) wave2 <- function() x <- seq(-6*pi, 6*pi, length=100) y <- x for (t in 1:100) { z <- outer(x, y, function(x, y) { cos(sqrt(x*x + y*y) - 0.08 * pi * t) }) persp(x, y, z, zlim=c(-3, 3), theta = 30, phi = 30, expand = 0.5, col = "green") } } saveMovie(wave2, interval=0.05, moviename="wave2", movietype="mpg", outdir=getwd(), width=640, height=480)
こちらも簡単.outer()やpersp()を使って三次元プロットをしている.
Rでクラスカル法を実装してみた.ついでに最小全域木を求める過程をアニメーションで表示させてみた.
クラスカル法についてはこちら.
最小全域木問題(クラスカル法とプリム法)
閉路を作らないように気を付けつつ重みが小さい辺から選んでいく様子が分かる.
ソースは以下の通り.
続きを読むTsukuba.R#5で最後にちらっと発表したおまけ.RのanimationパッケージによるBrainf*ckのシミュレーション動画.
動画をダブルクリックしてはてなフォトライフにアクセスするとより大きいアニメーションが観られる.
この調子でこれからも役に立たないものを積極的に実装していきたい.
ソースは以下の通り.
続きを読む