[[物理エンジンの解説]]
#access


**物理エンジンの研究について思ったこと [#qcb5ee3c]
- 当時気づいていなかったけど、Mihai Anitescuという人が多体剛体運動の解法についてしっかり研究している。ややこしい解法の細かなことについて、一つずつ解決していっているように見える。(2011.2)


*物理エンジン全般についての講演 [#n9bf209a]
** CEDEC 2008 [#e3de4e8c]
2008年9月10日にCEDEC(CESA デベロッパーズカンファレンス)で衝突判定についての講演(チュートリアル)をしました.衝突判定アルゴリズムの速さはソート検索アルゴリズムの速さと比べると分かりやすいです.という内容です.
#ref(CEDEC2008.ppt)
並列計算の場合は?という質問に,また別のことを考える必要がおきますと答えましたが,どちらが大事かを言うのを忘れました.~
アルゴリズムのオーダーの方がずっと大事です.並列化は並列計算機の数(PS3なら7)倍早くなるだけですが,オーダーは∞倍です.なので,数が多ければ,アルゴリズムの速さにはかないません.~
ただ物理シミュレータでは n = 100~1000くらいということが多くて,オーダーでは大雑把過ぎるということになります.

**EC2006 [#t890a20d]
2006年9月15日に、エンタテインメントコンピューティング2006のチュートリアルとして、「物理シミュレーションの現状と未来」と題してチュートリアルを行いました。
内容は、物理シミュレーションのお役立ちどころ、所謂ゲーム用のエンジンのシミュレーション方法の解説、今後の予想です。
#ref(EC2006PBM.ppt)
(Featherstoneの方法の説明にミスがありました 2008.5.27)
(陰積分の説明にミスがありました 2008.7.16)

**CEDEC 2004 [#xc710136]
2004年9月7日にCEDEC(CESA デベロッパーズカンファレンス)で物理シミュレータについて講演をさせていただきました.~
[[資料(ppt):http://springhead.info/CEDEC2004.ppt]]
沢山の方にお集まりいただきありがたかったのですが,どれだけの方にご満足いただけたか少し不安に思っています.~
ですので,いくつか教科書などを紹介させていただきます.
:力学について勉強したい方|
戸田盛和「物理入門コース1 力学」
:剛体の運動方程式って? という方|
中川憲治「工科のための一般力学」
:行列,ベクトルの計算が? という方|
プログラミングのための線形代数 平岡 和幸 (著), 堀 玄 (著) 非常に分かりやすい&面白い.~
Eric Lengyel著 狩野智英訳「ゲームプログラミングのための3Dグラフィックス数学」高いですけど必要なことだけきちんとまとまってて良いです.剛体の運動も書いてあるので,こっちだけで良いかも.さすが狩野君訳.(狩野君の今後の活動に期待してます)

Web上でも[[ベクトルと行列:http://homepage1.nifty.com/snap/room04/c01/matrix/matrix.html]]とか,[[行列代数これだけ:http://suuri.sci.ibaraki.ac.jp/~yamagami/la2003.pdf]]とかあります.~
クォータニオンについては[[ベクトル・複素数・クォータニオン:http://www-sens.sys.es.osaka-u.ac.jp/users/kanaya/quaternion-ja.html]]が面白そうです(私は全部は読んでません).
:拘束力の求め方についてもっと詳しく|講演資料が一番簡単に書いてあると思っています.より詳細を知りたいならば,[[David Baraff:http://www-2.cs.cmu.edu/~baraff/]]の"Siggraph Course Notes"を見てください.
:Featherstone法について|これも講演資料が一番簡単に書いてあると思っています.より詳しくは[[Brian Vincent MirtichのPh.D. Thesis:http://www.kuffner.org/james/software/dynamics/mirtich/]]の4章(P.92〜)がお勧めです.原著より分かりやすいらしいです(原著を読んでないもので).

**ゲームテクノロジー研究会 [#g483cbd5]
4月10日に[[ゲームテクノロジー研究会]]で物理シミュレータについて講演をさせていただきました.~
***デモと資料 [#i2fcb04a]
[[発表資料(ppt):http://springhead.info/pbm.ppt]], [[制御(安定性)についてのメモ:http://springhead.info/control.pdf]]~
[[実行ファイルとデータのセット(Windows用)起動用batファイルをつけました:http://springhead.info/archive/SpringheadDemo.tar.gz]]~
***参考文献 [#od896adb]
今回の発表資料(ppt)よりも進んだ内容を知りたい方向けです.pptに疑問点がある場合はお問い合わせください.~
[[Springheadの物理シミュレータについての日本語論文:http://springhead.info/doc/PBMPAPER.pdf]]~
[[Open Dynamics Engine:http://opende.sourceforge.net/]],
[[Tokamak:http://www.tokamakphysics.com]]~
[[Solid:http://www.win.tue.nl/~gino/solid]] これを参考にして衝突判定を作りました.~
[[Qhall:http://www.geom.uiuc.edu/locate/qhull]]MullerとPreparataのアルゴリズムを実装するために最初に使ったQuickHullエンジン.現在は高速化のため独自開発.~
[[David Baraff:http://www-2.cs.cmu.edu/~baraff]]解析法をアニメーションに最初に応用した人.SIGGGRAPHペーパー沢山ありますが,Courseの方がお勧めです.~
[[中村研山根さん:http://www.ynl.t.u-tokyo.ac.jp/projects/research/humanfigure/index-j.html]]Featherstoneと似ているが,輪が合っても解ける高速解析法を作った人.OpenHRPにも使われているが,残念ながらOpenHRPは他によほど遅いところがあるみたいで,いまいち.~
~