ヘッセ行列について学ぶ

2007年11月30日 00:39

ネタがあるうちに地道に更新しましょうってことで、今日も寝る前に更新。

今日はヘッセ行列関連のこと勉強してました。
凸二次計画法に使用できるわけです。
近いうちにわかりやすくまとめようと思ってます。

ヘッセ行列は線形相補性問題(LCP)を扱うときに、極値が存在するか?に使用するのかな?
まだ良くわからんw

とりあえずGJKと物理シミュレーションの拘束条件を解くときに使用できるLCP処理プログラムを習得するため、日夜勉強しています。

それにしても、GJKに関しての日本語の文献少ないねー。。
線形相補性問題についてのインターネット上の資料もあまりないし。
英語の資料に当たればいいんだけど、読むのが面倒くさすぎる。。

今週末に本屋に行っていい資料が見つからなかった場合に英語の論文に当たるとしよっと・・・。

ついでに

2007年11月28日 01:17

自分用のしおりとして残しておきますw

前回言ったGJKアルゴリズムとペナルティー法を組み合わせるのは自分が思ってたよりも手軽にできました。
実装時間は大体4時間ぐらい?かな。
バネモデルを使った布シミュは作ったことがあったので早く実現できました。

ついでに用語の説明。
ペナルティー法っていうのは、物体同士の当たりが起こった際、侵食された(めり込んだ)分に比例した斥力を適応する一種のバネのことを指すようです。
かなり適当な説明ですがw

当然、場合によっては埋まりまくります。
また、たまに不自然な動きもしますw
しかし、どうせ適応するのはゲームなんで多めに見てくださいw

とりあえず、なんとなく物理シミュレーションもどきが出来たので、次はペナルティー法を使うのではなく、解析力学的な処理も実現したいと思います。
ODEで使用されてる方法です。ヤコビアンとか使うやつね。
前作ったシンプレックス法のプログラムも使えそうだし。多分w

ただ、その前に片付けないといけないこともあるので、しばらく先になりそうです('A`)

過去ログを見返すと、、、

2007年11月28日 01:10

自分が書いた過去ログを見てみると、抽象的な話が多くて、あまり参考になりそうにないなこりゃw

そんなわけで、ちょっと趣向を改めます。

今度から習得した知識を自分なりに纏める様にしてブログに残していきたいと思います。
結構前に書いた色彩工学の件みたいに。

あと、わりとどうでもいい今やってることなんかの「つぶやき」は日記の項目に移行。
そんでもって、もうちょっとカテゴリを増やして整理します。
話題の検索もし辛いし。。


とりあえず、書きたいと思ってる記事は、
・最小二乗法
・ラグランジュの未定乗数法
・数理計画(線形と非線形)
・回転も含めた剛体運動
・当たり判定
ってとこかな。

他にもA*みたいなゲームで使えるアルゴリズムやC++や浮動小数点のトリック、知っておくと便利な小手先の技術なんかも披露できたらなって思ってます。
もちろん、すべてゲームに応用できる形で。

まずは最小二乗法からかな。簡単だし。

変な広告を削除するためだけに更新

2007年11月26日 23:50

1ヶ月以上更新してないと広告がでるようになってました('A`)
ってことで削除するためだけに更新w

ついでに近況報告。
今現在は物理シミュレーション作ってます。。。

当たり判定は凸面多面体ならどんと来いのGJKアルゴリズムが最適っぽいけど、
このアルゴリズム、たまに嘘を返しやがりますw
ヒットした位置が正確に求まらないわけです。倍精度型使っても。
そんなわけでペナルティー法と併用しないと使えないっぽい。。

GJKアルゴリズムの実装は、拾ったソースを参考にちょっといじったのを使ってます。
GJKアルゴリズムの中で2次計画問題を解くのに使用されているLCP(Linear Complementarity Problem = 線形相補性問題)の処理を自前で書くのが面倒だったからです。けど、SOLIDとか他のGJKの実装で試してもやっぱり問題が出たのでアルゴリズムの問題っぽいのが、どうしたもんか。。。

時間があればLCPを自前で解くプログラムを書きたかったんだけど。。
そうすれば、どこが問題かわかるし。
LP(線形計画問題)を解くプログラムは練習がてら書いたんだけどね。Simplex法使って。
こっちは完全自前だからサンプル公開できればいいかなぁって思ってます。
用途、あまり無いけどw
一応、スラック変数と人為変数を用いた処理に対応しています。

LCPは他にもODEで拘束条件のヤコビ行列を解くのにも使われてるし、自前で書くのがいいよなってことで、ある程度落ち着いたら勉強します。

とりあえずペナルティ法を実装して、物理シミュっぽくしなきゃ。


そんなわけで近況でした。


最近の記事