X3D (.x3d)
予備知識
-
- MIMEタイプ:model/x3d+xml
- Web3D幾何形式.
- 一般にWeb上で,あるいはメディアアプリケーションで3Dモデルの分配に使われる.
- XML形式.
- 複数の形状を保管することができる.
- 2003に導入され,Web3D Consortiumによって保守されている.
- VRML形式の後継である.
ImportとExport
- Import["file.x3d"]はX3Dファイルを,曲面を表すMeshRegionオブジェクトとしてインポートする.
- Import["file.x3d",elem]はX3Dファイルから指定の要素をインポートする.
- インポート形式Import["file","X3D"]またはImport["file",{"X3D",elem,…}]で指定できる.
- Export["file.x3d",expr]はメッシュベースの3D幾何領域をバイナリのX3Dファイルにエキスポートする.expr にはConstantRegionQ,または GraphicsオブジェクトかGraphics3Dオブジェクトである任意の領域が可能である.
- エキスポート形式はExport["file",expr,"X3D"]またはExport["file",expr,{"X3D",opt1->val1,…}]で明示的に指定できる.
- 一般的な情報は,以下の関数ページを参照のこと.
-
Import, Export ファイルからインポートする,あるいはファイルへエキスポートする CloudImport, CloudExport クラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする ImportString, ExportString 文字列からインポートする,あるいは文字列へエキスポートする ImportByteArray, ExportByteArray バイト配列からインポートする,あるいはバイト配列へエキスポートする
Import要素
- 一般的なImport要素:
-
"Elements" ファイル中の有効な要素とオプションのリスト "Rules" 使用可能なすべての要素の規則のリスト "Summary" ファイルの概要 - データ形式表現要素:
-
"LineData" "VertexData"要素として与えられた頂点を参照する,指標のリストとして表された線 "PointData" 指標付き形式での点のデータ "PolygonData" 指標付き形式での多角形要素のリス "VertexData" 頂点座標のリスト "VertexNormals" "VertexData"で与えられる,頂点に対応する法線ベクトル - 形状表現要素:
-
"BoundaryMeshRegion" 立体の境界メッシュ表現 "MeshRegion" 面のメッシュ表現 "Region" 面の領域表現 - グラフィックス表現要素:
-
"Graphics3D" Graphics3Dオブジェクトとして表現されたX3Dファイル "GraphicsComplex" GraphicsComplexオブジェクトとして表されたX3Dファイル "LineObjects" 絶対座標で与えられたLine プリミティブのリスト "PointObjects" 絶対座標で与えられたPointプリミティブのリスト "PolygonObjects" 絶対座標で与えられた多角形プリミティブのリスト - ImportとExportはデフォルトでX3Dファイルに"MeshRegion"要素を使用する.
オプション
- 高度なオプション:
-
"InvertNormals" False 頂点の法線の向きを逆にするかどうか "VerticalAxis" {0,0,1} ファイルで使用する座標系について想定する向き - デフォルトではWolfram言語はX3D形式で使用される座標系では縦軸は第3座標に対応すると想定する.
- "VerticalAxis"->{0,1,0}と設定すると,Wolfram言語はX3Dにエキスポートするときに全グラフィックス座標に{x,y,z}->{x,z,-y}という変換を適用する.
例題
すべて開くすべて閉じる例 (3)
X3Dから3DモデルをMeshRegionオブジェクトとしてインポートする:
スコープ (8)
Import要素 (13)
"BoundaryMeshRegion" (1)
BoundaryMeshRegionを与える:
"Graphics3D" (1)
Graphics3Dオブジェクトを与える:
"GraphicsComplex" (1)
GraphicsComplexオブジェクトを与える:
"MeshRegion" (1)
MeshRegionを与える:
"PolygonObjects" (1)
絶対座標で与えられたPolygonプリミティブのリストを与える:
"Region" (1)
Regionを与える: