[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 08:34 / Filesize : 212 KB / Number-of Response : 935
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

シューティングゲーム製作技術総合 16機目



111 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 02:51:02 ID:csq9srzC]
>>107
2点を発射位置P(x,y)、命中位置Q(x2,y2)とする。

平行移動して発射位置が原点に来るように移動。
P' = (0, 0)
Q' = (x2-x, y2-y) = (x', y')

新しい命中位置Q'(x',y')がX軸に重なるように回転。
回転させるために回転行列Rを用意する。

R = ( cosX, sinX ) ( -sinX, cosX ) 角度Xは線分P'Q'とX軸の間

P'' = RP' = 原点
Q'' = RQ' = X軸上の点

最後に原点からQ''までの間を、長さrでn本の線分Tで目指す。

線分の各点を Tn(tx(n),ty(n)) とするとき、極座標で差分を表現する。

tx(n) = tx(n-1) + r*cos(t)
ty(n) = ty(n-1) + r*sin(t)

rに乱数を混ぜれば線分の長さがかわる。
角度tの変化を抑えれば急激な曲がり方はしない。

例えば t(n) = t(n-1) + rand() * ??? という風に。

計算が終わったら逆回転と逆平行移動すればおわり。
0除算に気をつけろ!

とか、如何ですか。






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

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

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