OBJ (.obj)

予備知識予備知識

    Wavefront OBJ形式.
    3D幾何形式.
    3D形状定義の保管と交換に使われる.
    Wavefrontアプリケーションのネイティブ形式.
    形状を線,点,多角形プリミティブとそれらのプロパティの集まりとして保管する.
    表面色情報が保管できる.
    ASCII形式.
    Alias Wavefront社により開発された.
    単一の形状を保管する.

ImportとExportImportとExport

  • Import["file.obj"]はOBJファイルをGraphics3Dオブジェクトとしてインポートする.
  • Export["file.obj",expr]Graphics3D 式をOBJファイルにエキスポートする.
  • Import["file.obj"]Graphics3D[ GraphicsComplex[vertices,primitives,opts]]という形の式を返す.
  • Import["file.obj",elem]はOBJファイルから指定された要素をインポートする.
  • Import["file.obj",{elem,suba,subb,}]は子要素をインポートする.
  • Import["file.obj",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","OBJ"]またはImport["file",{"OBJ",elem,}]で指定できる.
  • Export["file.obj",expr,elem]expr が要素elem を指定してるとしてOBJファイルを作成する.
  • Export["file.obj",{expr1,expr2,},{{elem1,elem2,}}]は各 が対応する を指定しているとして扱う.
  • Export["file.obj",expr,opt1->val1,]は指定の値を持つ指定のオプション要素でexpr をエキスポートする.
  • Export["file.obj",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • ImportExportについての一般的な情報は,関数ページを参照のこと.
  • ImportStringExportStringはOBJ形式をサポートする.

要素要素

  • 一般的なImport要素:
  • "Elements"ファイル中の有効な要素とオプションのリスト
    "Rules"要素とオプションのそれぞれの規則のリスト
    "Options"オプション,属性,設定の規則
  • データ表現要素:
  • "Graphics3D"Graphics3Dオブジェクトとして表されたOBJファイル
    "GraphicsComplex"ファイルに保管された形状を表すGraphicsComplexオブジェクト
    "LineData"指標のリストとして表された,要素として与えられる頂点を参照する線
    "LineObjects"絶対座標で与えられたLine プリミティブのリスト
    "PointData"指標付き形式での点のデータ
    "PointObjects"絶対座標で与えられたPoint プリミティブのリスト
    "PolygonData"指標付き形式での多角形のデータ
    "PolygonColors"各多角形の表面色情報
    "PolygonObjects"絶対座標で与えられたPolygonプリミティブのリスト
    "VertexData"頂点座標のリスト
    "VertexNormals"で与えられる頂点に対応する法線ベクトル
  • ImportExportはデフォルトでOBJファイルに要素を使う.
  • 要素はGraphicsComplexの第1引数に対応する.
  • OBJ色モデルの描画の際,Importは自動的にLighting->"Neutral"という設定を使う.

オプションオプション

  • Importの一般的なオプション:
  • BackgroundAutomatic使用する背景色
    ImageSizeAutomatic表示するグラフィックスの全体の大きさ
    LightingAutomatic3D面の色付けに使用する模擬光
  • OBJからのインポートの際は,Graphics3Dの全オプションを与えることができる.
  • 高度なオプション:
  • "InvertNormals"False頂点の法線の向きを逆にするかどうか
    "VerticalAxis"{0,0,1}ファイルで使用する座標系について想定する向き
  • デフォルトではWolfram言語はOBJ形式で使用される座標系では縦軸は第3座標に対応すると想定する.
  • と設定すると,Wolfram言語はOBJからインポートするときは全グラフィックス座標にという変換を適用し,OBJにエキスポートするときは逆変換を適用する.

例題例題すべて開くすべて閉じる

  (3)  (3)

OBJ例題ファイルをインポートする:

In[1]:=
Click for copyable input
Out[1]=

ファイルで使用できるImport要素を示す:

In[2]:=
Click for copyable input
Out[2]=

ファイルに保管されている多角形をインポートして数える:

In[3]:=
Click for copyable input
Out[3]=

表面が透明な3Dモデルをエキスポートする:

In[1]:=
Click for copyable input
Out[1]=

ParametricPlot3Dを使って3D形状を計算する:

In[1]:=
Click for copyable input
Out[1]=

OBJにエキスポートする:

In[2]:=
Click for copyable input
Out[2]=
2007年に導入
(6.0)
| 2010年に修正
(8.0)