ゲームのための物理(力学)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
02/04/08 17:38ID:dlksSYkA例えば、坂道を転がる球の加速度だったら。
その球の密度が一様ならば、慣性モーメントは(2/5)MR^2なので
dV/dt = 5*g*sinθ/7;
と表せるよとか。
他にも剛体運動、力積とか語ってください。
0669名前は開発中のものです。
04/07/15 20:42ID:U/3mv6yKちょっと違う気がしますぅ
例えば、近似したい関数を sin(x) としましょうか。
そして、近似関数を f(x) = A*a(x) + B*b(x) + C*c(x) ... とします。
ただし A , B , C は定数 a b c は高速に計算できそうな適当に選んだ関数で
今回は a(x) = 1 , b(x) = x , c(x) = x^3 としておきます。
{ sin(x) - A*a(x) + B*b(x) + C*c(x) ... }^2 == 誤差(x)
{ sin(x) - A + B*x + C*x^3 }^2 == 誤差(x)
として、できる限り小さい誤差になるように A B C を決めようにという物です。
誤差が絶対値ではなく二乗なのは、こうしておけば解析的(要するに式変形で)計算できるからです。
ただ、このままだと一点の誤差だけなので、f(x)の利用範囲で定積分して誤差を合計します。
∫ 誤差(x) dx = 誤差の合計
0670名前は開発中のものです。
04/07/15 20:42ID:U/3mv6yK誤差は最少の点は、誤差の増減量が0になる場所です。
そこで、連立方程式
0 = δ誤差の合計(A,B,C,...)/δA
0 = δ誤差の合計(A,B,C,...)/δB
0 = δ誤差の合計(A,B,C,...)/δC
...
を作ります、この連立方程式は連立一次方程式です。
これを鶴亀算で解いて A B C ... を決めると
f(x) = A*a(x) + B*b(x) + C*c(x) ... ≒ sin(x)
となります。
ちなみに ∫ 誤差(x) dx の値の平方根の大体三倍ぐらいが最大誤差になっています。
以上を公式表片手にガリガリ解きますです。
■ このスレッドは過去ログ倉庫に格納されています