|
setup diary |
rglを使うと、Rで三次元の図を作って、マウスで回したりすることができる。webGLを利用して、htmlにすることもできる。
library('rgl') open3d() shade3d(cube3d(),col='red') writeWebGL(filename='index.html')
とすると、index.htmlが出来て、これをブラウザーで表示させると、三次元の図が現れる。そのままの設定だとwebGLというフォルダが出来てしまうけど、まあいいか。このhtmlには、長いjavascriptが埋め込まれている。これを取り除いて、図形のデータだけにしたい場合は、
writeWebGL(filename='index.html',commonParts=FALSE)
とすればよい。しかし、そのままでは図形を表示できない。/usr/lib/R/site-library/rgl/htmlwidgets/lib/CanvasMatrix/CanvasMatrix.src.jsと/usr/lib/R/site-library/rgl/htmlwidgets/lib/rglClass/rglClass.src.jsを同じフォルダに置いて、"src."を除いたファイル名に変更して、htmlの最初の方に
<script src="CanvasMatrix.js" type="text/javascript"></script> <script src="rglClass.js" type="text/javascript"></script>
を加える必要がある。また、同じhtmlに複数の図を置く場合には、div idを変更する必要がある。
<div id="div" class="rglWebGL"></div> <script type="text/javascript"> var div = document.getElementById("div"),
にある二つの"div"を重複しない名前に変更すれば良い。この方法がなかなか分からずに苦労した。