もきもき3D

アクセスカウンタ

zoom RSS Mot/HMotファイルの出力:Key行

<<   作成日時 : 2011/03/03 06:00   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

 Keyは、
  "Key %.17g %.17g %d %.17g %.17g %.17g %.17g %.17g %.17g", val, time, shape, p1, p2, p3, p4, p5, p6 で、
  "Key val time shape T C B In Out 0" か、"Key val time shape InTime InVal OutTime OutVal Out 0"。
 後者のOutはゴミっぽいけど互換上残す。 p6は0固定で良い気がする(・з・)

 で、In/OutはshapeがHermiteの時のLWKEY_PARAM_0と1。
 shapeを一度Hermiteにしてp4,p5にkeyGet()した後に、shapeを本来の物に直してp1〜p3/p4を取る事でMot/HMotと同じKeyデータになる。
 DStormのDevKitのcorve.cを参考にしても求められない気がする。 てか、私には導出出来なかった('ω`)

 一応、DevKit(curve.c)やSDK/Lay/ChanFilter/Interp.cのoutgoing()/incoming()のCase:TCBで求められる。
 精度53bit(FPUなら要変更、SSE2なら不要)、丸めをFPU:CHOP、SSE:TOWARD_ZEROで計算する事で15,6桁迄は合うようになる。
 精度と丸めが違ってもまぁ概ね合致するから、基本的にはそのままでも良いけど、0.5とかの切りの悪い値の時に0.49〜98〜とか0.50〜01の誤差が出てくるから、テキストとして見た時に嫌んな感じ。 まぁ気分の問題。
 ただ、Envelope上の最初と最後のKeyに関してはLW自身による出力と大きく違う数値になる。
 始終点に掛かる補完値の算定方法は謎のまま('ω`)

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
Mot/HMotファイルの出力:Key行 もきもき3D/BIGLOBEウェブリブログ
文字サイズ:       閉じる