この記事のURL

http://www.dango-itimi.com/blog/archives/2006/000868.html


FLASH GRAPHIC tips ピンボールのバーの処理 メモ

ピンボールのバーの処理において、まとまった考えをメモ。
まだ実装部分にほとんど手を触れていないので、間違っていたり考えが足りない部分がある恐れがあります。

【 バーとボール衝突時の各々の衝突後の速度を求める処理 】

バー動作時、バーとボールが衝突した時のそれぞれの衝突後の速度の求め方

参考書にある「運動量保存の法則」と「一直線上の衝突の式」を用いて求めます。

m1v1i + m2v2i = m1v1f + m2v2f
(v1f - v2f) = -e(v1i - v2i)

m:物体の質量
v:速度
1:物体1
2:物体2
i:衝突時
f:衝突後
e:はねかえり係数 (0~1)を任意に指定
バーがボールに衝突する時のバーの速度の求め方

バーの速度はバーの回転運動における接線速度とします。

Vt=ωr

Vt:接線速度
ω:瞬間角速度
r:円の半径

この処理では「バーとボールが衝突した時の 衝突後の速度」を求める事はできますが、「いつ(どのような時に)」「どこで(どの位置で)」衝突したのかは求めることはできません。別途考える必要があります。

また、バーは固定されており、ボールとの衝突後 バー自身に働く力は固定した部分へ分散され反発して移動するということはないとしますので、バーの衝突後の速度は求める必要はありません。

【「バー動作時のボールへの衝突処理」と「ボール動作時のバーへの衝突処理」の処理順序 】

単一スレッドで処理する順序としては、「バー動作時のボールへの衝突処理」を先に行いその後に「ボール動作時のバーへの衝突処理」を行います。
「ボール動作時のバーへの衝突処理」は今まで練習として作成してきた「衝突と反射処理」に加え、バーの回転動作速度による反射率の影響を考慮する事により求めることが可能になります。

【 図 説明 】

全て1フレーム間での位置を示します。

pin1.png

紺点 : ボール現在位置
青点 : ボール移動予定位置
紺点から青点の線 : ボール軌道

緑点から赤点の線 : バー現在位置
緑点から黄点の線 : バー移動予定位置
赤点黄点緑点に囲まれるエリア : バー移動エリア

pin2.png pin3.png

緑点から右側部分のバーエリア : ゲーム画面左側のバー移動エリア
緑点から左側部分のバーエリア : ゲーム画面右側のバー移動エリア

【 バー動作時のボールへの衝突処理 】

「いつ(どのような時に)」バー動作時ボールに衝突したのかを調べるには

pin4.png

ボールの位置がバー移動エリア内にある場合、衝突していると判定します。

「どこで(どの位置で)」バー動作時ボールに衝突したのかを調べるには

ボールの位置がバーとの衝突位置です。
ボールの位置とバーの回転軸となる中心点を結んだ線が、ボールに衝突するバーのイメージとなり、そこからボール衝突時のバーの接線速度を求めます。

注意点

ボール移動速度により、一度この処理を行っただけでは反発したボール移動予定先位置がバーの移動エリア外にでない恐れがあります。ボール反射処理後、更にバーの移動エリア内にボールが存在するかどうかを再帰的に同処理を呼び出す必要があります。

【 ボール動作時のバーへの衝突処理 】

「バー動作時のボールへの衝突処理」によりボールの反射処理が行われた場合、この「ボール動作時のバーへの衝突処理」は行いません(行ってはいけません)。

「いつ(どのような時に)」ボール動作時バーに衝突したのかを調べるには

pin5.png

ボール移動軌道の線がバー移動後の線に交差しているとき衝突していると判定します。それ以外は全てバーとは衝突していないものとします。

「どこで(どの位置で)」ボール動作時バーに衝突したのかを調べるには

ボール移動軌道の線がバー移動後の線に交差した交点が衝突位置となります。

バーの移動速度を考慮し反射位置を決定する

バーは静止している場合と動作している場合の二パターンの状態があります。バー動作時にボールが衝突した場合、ボールの反射ベクトルにバーの移動速度を加算します。

注意点

衝突位置からボール反射位置までの間に他のオブジェクトと衝突する恐れがあることを考える必要があります。ボールが衝突する対象はバーだけではありません。


以上の感じでそれらしいものにできますかなあ。
pin_end.png

[ FLASH ] [ GRAPHIC ] [ tips ] 投稿者 siratama : 2006年04月03日 19:49

トラックバック

http://www.dango-itimi.com/blog/mt-tb.cgi/828

コメント

あの、記事と関係ない上に揚げ足取りで申し訳ないんですが、amazonのどうぶつの森の

>>ファミコンカセットなどを入手することが出来、自分の家でそのファミコンが遊べてしまったりもできます。

の所は、修正したほうがいいのではないかな~と思うわけです・・(´・ω・`)

投稿者 トースケ : 2006年04月04日 18:27

>トースケさん

ふがふがすみません。
それ気付いていたのですが放置してしまっておりました。
ご指摘ありがとうございます。
もうちょっと更新しやすいシステムを考えたく思いますが、なんともです。

投稿者 siratama : 2006年04月04日 18:30

お久しぶりですっ!!!
花見しましたか?花見っ!!!w

こっちには旧HN地雷もやって来て…
あれから年に一度はしているオフにも参加者が増えて
結構楽しくやらせて頂いておりますっ♪

あずきは花粉症もってたりするのかな。
もしあったら最悪ですにぇこの時期…。
でも去年よりはこぉ花粉少ないらしぃので
エンジョイしちゃって下さいっ(笑

元気そうでなによりですぅっ☆

投稿者 伝助@美智 : 2006年04月05日 20:00

お~ 伝ちゃんお久しぶり!
時たま団子一味にやってきてくれてありがとうごぜえます~

花見は町を歩いて見た程度で、それらしいものはまだしていないのですよね。
今年は会社の花見はないという話もあり、ちょっと残念です。
団子一味といったらば、やはり桜ですからなあ。

爆弾魔ごちょさんもお元気ですか。
オフは私もほんとうにほんの少しですが出れるようになりました。
毎回顔合わせにびびっておりますけれども。

花粉はけしからんです。昨年は本気で死にそうになりました。
薬でなんとか症状は抑えておりますが、後遺症でフラフラしております。
春なのに窓を完全にしめきって なんとも暑苦しいです。

また何かゲームで一緒に遊べたらいいですね。
PSUを遊ぶ予定なので、伝ちゃんも遊ぶのならば よろしければご一緒しましょう。
元セガラリーでの走り屋の血がたぎります。

投稿者 siratama : 2006年04月06日 00:43

PSUやるんですかっ!?
まぢですかっ!?

くはぁっ(><)
PSOでのメンバーに誘い受けて受けて受けまくりなので
多分参上すると思いますですはいっw

…ご一緒してくださるんですねっ(ニヤソ

ってゆか オフ来いっ!!!(ぉ?w
ちなみに…
まぴ ちま かみ 地雷 亀(不定期) ともちゃん(まぴ彼女)
らが まだまだ集まってくれてます♪
健太も日程が合えばって感じですが…電話くれますよっ
当日皆が集まった位な時毎度w

…これからも「あずき」って呼んでいぃですか(ぉぃ

投稿者 伝助@美智 : 2006年04月06日 20:57

PSUはベータテストに早速申し込んでおります。
たいへん楽しみにしておりますわ~
サイトの更新が止まってしまうと思うので程ほどにしたいとは思っておりますが。

>まぴ ちま かみ 地雷 亀(不定期) ともちゃん(まぴ彼女)
>らが まだまだ集まってくれてます♪
>健太も日程が合えばって感じですが…電話くれますよっ

いつものみんなの名前で一杯ですね。
オフは…いやいやさすがに今更ちょっとなかなかお会いできないです。
セガラリー2でみんなと知り合ったのが結構昔ですし、あの当時私はまだ学生のガキンチョでしたが、今や社会にもまれ心はすさんだおっさんになり果て、性格もかなり変わってしまっているという寸法ですぞ。
お会いするにはもう少し心の準備が必要であります。
というわけで、あと十年以内にお会いしましょう!

そして私は伝ちゃんの永遠のあずきですわよっ いくらでもその名をお呼びなさいっ!

投稿者 siratama : 2006年04月06日 22:54

以下コメントを書き込むだけでは、管理人には通知が行われません。通知を行いたい場合、管理人の書き込みに「返信」を押してコメントをしていただくか、あるいは Google+, Twitter へご連絡ください。




[EDIT]