先生はMMDに興味を持ったようです

MikuHatsune2012-12-19

こちらで、人体骨格の回転行列表示についての話がある。
それを見た友人が、MMDなどのボーンアニメーションの基礎であるスキニング(体の各部位ごとのポリゴンの座標が、どの変換行列にどのくらいの重みで影響されるかってのが設定されること)のアルゴリズムなんだ!!と力説してきたので、MMDと体の構造と数理モデルについて書く。
 
そもそもMMDとは、MikuMikuDanceという(もともとは)初音ミクをおれらの手で踊らせることができるソフトウェアのことである。
私はこれによって作られた動画を見るだけなので、いじったことはほとんどない。
だが、解剖学の講義を終えて、体の各関節には医学的に定義された動き方があると学んだ。このとき、体の各関節には動かしうる方向と可動域があるとかなんとか…
で、これを見て考えるのは、
 
MMDでやったらみんな勉強するんじゃね!?」
 
という発想なのだが、当時は挫折。
で、いまちょっとだけやってみようという。
 
まずはMMDをダウンロード。
そして説明にそって起動していじる。モデルはLat式ミク。あざといなさすがあざとい…
標準の体勢はこんな感じ。

ここで、ボーンの設定にすると、体と服で関節(っぽいもの)が設定されているかわかる。

ここで、ミクの右肘関節を屈曲、左肘関節を外転させる。

屈曲とは、関節でつながった2部位の角度を減少させる動き、外転は体の中心(体幹)から離れる動きのことである。
自分の体を動かしたらわかるが、肘関節の動きは屈曲伸展(肘の曲げ伸ばし)と、回内回外(手首の回転)しかしない。
肘関節の外転をすると、肘壊れる。が、MMDはしてくれる。
wikiを参照すると

ミクの関節の稼動範囲は人間とほぼ同じであり、自動補完中にそれを大きく逸脱した動きになると、その瞬間に無理がないよう強制的に移動させられるようです。

とあるが、作成者が医療関係者でない以上、関節の動きには実はね…とか言われても知らんわそんなの、だと思う。
 
関節の動きと可動域を考慮した数理モデルを考える。
関節は全てでn個あって、関節J_i\{i=1,2,\dots ,n\}は骨\{B_i, B_j\};i\not= jをつないでいる。
関節の動きとしては、2部位の角度を変える動きE体幹から離れたり近づいたりする動きA、回転的な動きRみたいな行列となる。
これを各関節になんやかんややると、体幹の重心Gに対して、各関節の動きと可動域を考慮した、体が取りうる体位的ななんかができると思う。
 
追記
障害者認定基準に、体の主要な関節について動き方と可動域(ROM)がどれほどかを評価する欄があるので、体勢を考えるうえではこれくらい簡単にしてしまっていいと思われる。