[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 07/03 05:52 / Filesize : 56 KB / Number-of Response : 208
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シューティングゲーム(非FPS)製作技術総合



107 名前:名前は開発中のものです。 mailto:sage [2009/09/15(火) 00:22:36 ID:6KSuCyNf]
>>106 計算してみた。長文失礼します。
A, B, C, D の位置ベクトル → a, b, c, d
1, 2 の位置ベクトル → p1, p2
t = 0 で出発、t = 1で到達とすると、
p1 = a + (b - a)t = a + v1・t
p2 = c + (d - c)t = c + v2・t
と書ける

p1-p2 間の距離を L とし、その最小値 min L を求める(実際には、min L^2 を求めればよい)
L = abs(p1 - p2) = abs(a - c + (v1 - v2)t) ・・・ (1)

[case 1] a - c = 0
min L = 0 (初期位置から衝突している)

[case 2] v1 - v2 = 0
min L = abs(a - c) (2点間の距離が変化しない)

[case 3] それ以外
式(1)は、L^2 = αt^2 + βt + γ と整理できる
このとき、α > 0であるので、L^2は下に凸の2次関数である
L^2が最小となる t = t0 は、t0 = -β/(2α) (1階微分がゼロ)
であるが、 0 ≦ t ≦ 1 を考慮すると、

[case 3-1] t0 ≦ 0
min L^2 = γ (t = 0 地点が最も近く、徐々に離れる)

[case 3-2] 1 ≦ t0
min L^2 = α+β+γ (徐々に近づき、t = 1 の最終位置が最も近い)

[case 3-3] 0 < t0 < 1
min L^2 = - (β^2 - 4αγ) / (4α) (t = t0 の地点が L^2 の極小値)






[ 続きを読む ] / [ 携帯版 ]

全部読む 前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<56KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef