こんにちは、ECナビの水越明哉(@Akiyah)です。

Rでお絵描きの続きです。今回は3Dに挑戦してみました。Rなら簡単でしたよ。

まずは、R-Tips57. パッケージ RGLを参考にしてRGLをインストールしておきます。私の環境はWindowsXPとUbuntu11.04なのですが、Ubuntuのほうは「rgl」パッケージをインストール - ryamadaの弟子日記をみてsynapticでインストールしました。

まずパッケージの呼び出しをします。
 library(rgl)                           # パッケージの呼び出し
そのあと、rglをつかって描画します。
 open3d()                               # デバイスの起動

 rgl.clear(type="lights")               # 光源の設定の消去
 rgl.light(theta = 15, phi = 25)
 rgl.viewpoint(0,0)

 spheres3d(  0,  0,  0, 85, color=heat.colors(24)[23])
 spheres3d(-55, -5, sqrt(85**2-55**2-5**2),  24, color=heat.colors(12)[5]) # ほっぺ
 spheres3d( 55, -5, sqrt(85**2-55**2-5**2),  24, color=heat.colors(12)[5]) # ほっぺ
 spheres3d(  0, -5, sqrt(85**2-5**2),        28, color=heat.colors(12)[4]) # 鼻
 spheres3d(-18, 40, sqrt(85**2-18**2-40**2), 15, color="black") # 目
 spheres3d( 18, 40, sqrt(85**2-18**2-40**2), 15, color="black") # 目
これでR上でアンパンマンができました!かんたん!
マウスで向きを変えることもできます。
ただこの素敵な動きをそのままブログに貼ることができないので、ぐりぐり写真に変換してみました。

Rで少しずつ角度を変えた画像をファイルに出力して
 for(i in -10:20) {rgl.viewpoint(i*3,i/4); rgl.postscript(paste(i+10,".eps",sep=""), fmt="eps")} 
そのあとGIMPでまとめて、ぐりぐり写真に加工しました。
{"src":"http://art48.photozou.jp/pub/876/237876/photo/96064293_org.png", "width":"480", "height":"360"}

R上では左右だけでなく上下にも動かせるのですが、雰囲気は伝わりますよね。
ハナやほっぺのテカリがうまく表現できていて、さすがRです。

参考: