- Wikipediaページ
- 日本語の説明ページ
- 要するに、v 点の3次元座標、vn 点の法線ベクトル、vt 表面模様を決める座標と色彩情報を与えた上で、面の情報を3角形(n角形)で与える。面の情報はv/vt/vnという/区切りの「v,vt,vnのID」を3個(n角形ならn個)並べる
- Rなら、rglパッケージとかvrmlgenパッケージとかにあるらしい
- rglのreadOBJ()関数は、法線ベクトルとか、テクスチャとかの情報は無視するらしい
- Examplesを回せばRosetta彗星
library(rgl)
shade3d(readOBJ(url(
"http://sci.esa.int/science-e/www/object/doc.cfm?fobjectid=54726"
), material = list(col = "gray")))
- たとえば3DアニメとかだとこんなWavefront.objとかがあり、これをそのままウィンドウズにとってくると、どうも、半角空白の個数が余計だったりするようでエラーを吐くけれど、少し工夫して(半角2連続を1つにして、半角+改行を改行にする、とか)
library(rgl)
test <- readOBJ("MIKU.obj",material=list(col="gray"))
shade3d(test)