CG関連論文などの情報†
便利なライブラリ・ソース・ソフトウェア†
- Eigen
ベクトル,行列計算など線形代数関係のライブラリ.疎行列のソルバーなども含まれている.下記のCGALやPCL,VCG Libraryなどでも使われている.ヘッダだけなのでどの環境でも導入しやすい
- glm:
主にOpenGL向けの線形代数関係のライブラリ.Eigenと同じく,header onlyのライブラリなので導入しやすい.行列のソルバーとかは含まれていないが,OpenGLで使う演算(投影行列や回転行列などの計算とか)に対応しているので,OpenGLでの描画とともに使う場合はおすすめ.特に新しめのOpenGLだと投影行列とか変換行列を自分で計算する必要があるので必須といって良いかも.
- CGAL
CG分野で使われている幾何学的なアルゴリズムがたくさん含まれているライブラリ.三角形メッシュ生成,ボロノイ図,ポリゴンのブール演算,凸包生成,AABB, Kd-Treeなど
シミュレーション関係†
- mantaflow
CG分野で開発された主にグリッドをベースとした流体シミュレーションライブラリ.Blenderのシミュレーションエンジンとしても使える.
- Bartels
物シミュ用の軽量なライブラリ
MatlabをC++から使うためのラッパーとか,便利なものを入れたライブラリっぽい
- ParaView
流体シミュレーション結果の可視化などに使える
- Vega FEM
C/C++で書かれた3次元変形シミュレーション用ライブラリ.名前にもあるようにFEMがメインだがバネ-質点系のコードも含まれている.
- PARDISO
インテルの数値演算ライブラリMKLにも含まれている高速な疎行列ソルバー.正定値対称行列だけでなく,非対称,不定値(indefinite)にも対応している.上記のEigenにはこれに対応するインタフェースが用意されている.
- Chrono
剛体メインの物理シミュレーションエンジン.FEMによる変形やGranular flowにも対応している.
- sand6
MPMによる砂のシミュレーションのコード.
数値計算関係†
- IML++
反復法ソルバーライブラリ(リチャードソン,チェビシェフ反復法,CG,BiCGSTAB,GMRES,QMR)
- Lis
並列反復解法ライブラリ(線形システム,固有値問題)
メッシュ関係†
- PyMesh
Pythonでポリゴンメッシュ処理を行えるライブラリ.obj,stlとかのメッシュファイルの入出力に加えて,GmshとかTetgenの四面体メッシュファイルの入出力にも対応している.ポリゴンエッジの分割/削除とか,メッシュ間のブール演算などできるのでPythonでメッシュを扱う場合はこれでよさそう.物シミュ的にはFEMのための剛性行列とかラプラシアン行列の計算にも対応しているところがよさそう.
- SDFGen
三角形メッシュからグリッド上に定義された符号付距離場(Signed Distance Field)を計算するシンプルなコード.
- LSCM
三角形メッシュからConformal Mapを最小自乗法(Least Square)で生成するコード.
グリッド・点群などデータ構造関係†
- OpenVDB
3次元ボリュームデータの格納など.陰関数場を扱ったり,パーティクルデータから表面を抽出,メッシュ生成するなども可能
- PCL
Point Cloud Library. 大規模点群を扱うライブラリ.点群からの表面生成,セグメンテーション,点群のフィルタリング,レジストレーションなど
レンダリング関係†
- Embree
Intel提供のCPUベースレイトレーサー.交差判定などをやりたいときに便利そう
その他†
- FFTW
DFT(離散フーリエ変換)のライブラリ.C言語.多次元もOK.
- FFTSS
FFTW互換のDFTライブラリ.FFTWの高速化(並列化)バージョンといった感じのもの.
- Wavelet
Wavelet変換ライブラリ
|