ゲーム製作で必要な数学の知識at GAMEDEV
ゲーム製作で必要な数学の知識 - 暇つぶし2ch48:名前は開発中のものです。
07/02/19 22:42:35 64fcPbsV
x = u
y = u^2
とすると,du に対する長さ変化の2乗は
( (dx/du)^2 + (dy/du)^2 ) du
= ( 1^2 + (2u)^2 ) du
= ( 4u^2 + 1 ) du
よって,du = dt / ( 4u^2 + 1 ) とすればよく
dt / du = 4u^2 + 1
t = (4/3) u^3 + u

49:名前は開発中のものです。
07/02/20 01:06:46 PS3dQauo
式は合ってるが、tを求めてどうするんだ?w
du = dt / ( 4u^2 + 1 )
を時間で積分してuを求めんと。
実際に使う分には差分式でよいので、Cで簡単に書くならこうかね?
u += dt / ( 4*u*u + 1 );

50:名前は開発中のものです。
07/02/20 01:48:20 Q1b7wP69
いや、差分ではずれがたまるだろ

51:名前は開発中のものです。
07/02/20 01:58:22 PS3dQauo
予想通りのレスじゃないかw
どうせ分かってるだろうが数値積分の誤差の問題だし別にいいじゃね?
んなこといってたら等加速度運動もv+=a; p+=v;の式すら使えなくなるぜ

52:名前は開発中のものです。
07/02/20 02:13:20 oL8NWQAV
>>49
具体的にy=x^2の時の
x,yの値をプロットするとどうなる?

とりあえず、始めの点が(0,0)その次の点が(1,1)だとして、
その次の点は(1.25,1.5625)?

53:名前は開発中のものです。
07/02/20 02:19:57 PS3dQauo
>>52
それはdtの値による

54:名前は開発中のものです。
07/02/20 03:02:11 PS3dQauo
>>52
ごめん、計算したらとんでもない値になった…
ってか、>>48の式がどうせ合ってると思って適当なこと言ったけど式おかしくない?

パラメトリック曲線X(θ)に対するθ微分をX~(θ)として距離s=s(θ)とすると

dθ/ds = 1 / ||X~(θ)||
(θn - θn-1) / ⊿s = 1 / ||X~(θ)||
θn - θn-1 = ⊿s / ||X~(θ)||
θ += ⊿s / ||X~(θ)||

さっきの場合なら
θ += ⊿s / sqrt( 4*u*u + 1 );

初めの点が(0,0)で次の点が(1,1)ってことは⊿s=1なので、
次はθ=1.4472 くらい ⇒ ( 1.4472, 2.0943 )

最初、随分短くなってるような気がしておかしいなと思ったんだけど
この場合0~1の間を直線で近似しちゃってるし、仕方ないかも

55:名前は開発中のものです。
07/02/20 09:20:27 Q1b7wP69
あーごめんルートつけるの忘れてた

0から1までとかって長い区間を近似するなら、
端点じゃなくて中央での値を使ったほうがよさそう

56:名前は開発中のものです。
07/02/20 09:31:23 PS3dQauo
中心差分が出来るならそっちのがいいね

現実はy=ax^2のa=1の場合って
22ピクセル進んだら画面上端から画面下端までまっさかさまだし、
そっちのパラメータの問題な気もするがw


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch