3Dポリゴンジオメトリを扱うライブラリは古よりC++など色んな言語向けに揃っておりますが、このtrimeshは全てPythonで書かれたライブラリ。
trimesh
Trimeshは、全てのコードがPythonバージョン3.7以降で書かれたライブラリで、三角形Meshをロードして使用するために開発され、特に水密サーフェイスの扱いに重点を置いています。
このライブラリの目的は、ShapelyライブラリのPolygonオブジェクトのようなスタイルで、簡単に操作・分析できて十分にテストされた豊富な機能を持つTrimeshオブジェクトを提供することです。
このライブラリのAPIは比較的安定していますが、完全ではなく保証されているものではありません。trimeshを使って何かを展開する計画がある場合は、特定のバージョンをインストールすることをお勧めします。
プルリクエストは大歓迎で、すぐに対応します!貢献を希望する方向けに潜在的な改良点の最新リストがありますが、リストにない提案も歓迎します。簡単な開発と貢献のためのガイドをご参照ください。
ソースコードはGitHubにある。
trimeshはNVIDIAのKaolinでも使われてるらしい。
Kaolin:3Dディープラーニング用のPyTorchライブラリNVIDIAから3D系のディープラーニング研究のためのPyTorchライブラリが公開された。まだベータ版だから、これからどんどん充実していくんでしょうね。読み方はカオリンで良いのかな?(なんかかわいい)KaolinKaolinは3Dディープ...
スポンサーリンク
ここ数年、やたらとPython環境から使えるライブラリが重宝される理由の1つに、研究・教育目的だと処理の過程をそのままJupyter Notebook形式で書いてGoogle Colabとかで共有して説明できるメリットがあるからかもね。
スポンサーリンク
機能
- バイナリー/ASCII STL、Wavefront OBJ、ASCII OFF、バイナリー/ASCII PLY、GLTF/GLB 2.0、3MF、XAML、3DXML形式などのMeshインポート
- DXF・SVGファイルから2D・3Dベクターパスのインポート、2D・3DベクターパスのDXF・SVGファイルへのエクスポート
- GMSH SDKインストール済みの場合、幾何学ファイル(BREP, STEP, IGES, INP, BDFなど)のインポート
- バイナリーSTL、バイナリーPLY、ASCII OFF、OBJ、GLTF/GLB 2.0、COLLADA形式などへのMeshエクスポート
- GMSH SDKインストール済みの場合、Meshファイル(Abaqus INP、Nastran BDFなど)をエクスポート
- pygletを使用したMeshのプレビュー、Jupyter Notebookでthree.jsを使用したインライン表示
- MD5、zlib CRC、xxhashを使用したnumpy配列の自動ハッシュ化と変更追跡
- ハッシュから検証された計算値の内部キャッシング
- Face隣接性、Face角度、頂点の欠陥などの計算
- クロスセクション、つまり3Dプリンティングで使用されるスライス操作の計算
- Meshを1つまたは複数の任意平面でスライスしたサーフェイスを返す
- networkx、graph-tool、scipy.sparseを使用したFaceの接続性に基づくMeshの分割
- 体積、重心、慣性モーメント、慣性ベクトルの主要成分を含む質量特性の計算
- 三角形の巻き方、法線、四角形/三角形の穴など簡単な問題の修復
- Meshの凸包
- 回転/移動/テッセレーション不変識別子の計算と重複Meshの検出
- Mesh水密、凸などであるかどうかの判別
- Mesh表面の均一サンプリング
- 位置、三角形インデックスなどを含むRay-meshクエリ
- OpenSCADやBlenderをバックエンドとして使用したMeshのブーリアン操作(交差、結合、差) 注:一般的にMeshブーリアンは遅く信頼性が低い
- 水密Meshのボクセル化
- Gmsh SDKを使用したボリュームMesh生成(TETgen)
- ラプラシアン平滑化アルゴリズム(クラシック、タウビン、ハンフリー)を使用した水密Meshの平滑化
- MeshのFaceの細分化
- Meshの最小体積方向バウンディングボックスの近似
- 最小体積バウンディング球の近似
- Mesh表面上の最近接点と符号付き距離(SD)の計算
- 良好に構築されたMesh内外の点を符号付き距離を使用して判別
- Trimeshオブジェクトのサブクラスであるプリミティブオブジェクト(Box, Cylinder, Sphere, Extrusion)が全て同じ機能(慣性、ビューアなど)を持つ
- レンダリング(pygletのウィンドウ、jupyter notebookのthree.js、pyrender)やエクスポートに対応したシンプルなシーングラフとtransformのツリー
- 座標変換、ベクトルの単位化、ベクトルの整列、numpy配列の変更の追跡、行のグループ化など、多くのユーティリティ関数
スポンサーリンク
関連記事
OpenVDB:3Dボリュームデータ処理ライブラリ
ブラウザ操作自動化ツール『Selenium』を試す
書籍『ROSプログラミング』
ZBrushでアヴァン・ガメラを作ってみる 頭頂部の作り込み・舌の追加
映画『ゴジラ-1.0』 メイキング情報まとめ
プログラミングスキルとは何か?
Konashiを買った
pythonもかじってみようかと
UnityでPoint Cloudを表示する方法
WordPressプラグインの作り方
オープンソースのIT資産・ライセンス管理システム『Snipe-IT』
Pythonのソースコードに特化した検索エンジン『Nullege』
OpenCLに対応したオープンソースの物理ベースレンダラ『LuxRender(ルクスレンダー)』
CLO:服飾デザインツール
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
Polyscope:3Dデータ操作用GUIライブラリ
マイケル・ベイの動画の感覚
BlenderのGeometry Nodeで遊ぶ
Google App Engine上のWordPressでFlickrの画像を貼る
Unity ARKitプラグインサンプルのチュートリアルを読む
Unreal Engineの薄い本
ブログが1日ダウンしてました
ZBrush用トポロジー転送プラグイン『ZWrap Plugin for ZBrush』
DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...
ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み
CEDEC 3日目
ZBrushで仮面ライダーBLACK SUNを作る 頭部~バストの概形
素敵なパーティクル
白組による『シン・ゴジラ』CGメイキング映像が公開された!
Model View Controller
スクラッチで既存のキャラクターを立体化したい
OpenCV 3.1から追加されたSfMモジュール
オープンソースの顔の動作解析ツールキット『OpenFace』
この本読むよ
Transformers ”Reference & Bulid” Siggraph 2007
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
ZBrush4新機能ハイライト 3DCG CAMP 2010
adskShaderSDK
Mayaのポリゴン分割ツールの進化
Maya API Reference
SVM (Support Vector Machine)
オープンソースのネットワーク可視化ソフトウェアプラットフォーム『Cytoscape』
コメント