物体の跳ね返りについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
K.MURAKAMI

物体の跳ね返りについて

#1

投稿記事 by K.MURAKAMI » 15年前

こんにちは。
今、ブロック崩しみたいなゲーム作ってます。
普通の壁の跳ね返りなら、
[入射角=反射角]
を使えばできるんですけど、
斜めの壁とかも作りたいんです。
でも、斜めの場合だと、↑の式が使えません。
斜めの壁の跳ね返りは作れないんでしょうか?

たいちう

Re:物体の跳ね返りについて

#2

投稿記事 by たいちう » 15年前

> 普通の壁の跳ね返りなら、
> [入射角=反射角]
> を使えばできるんですけど、
> 斜めの壁とかも作りたいんです。
> でも、斜めの場合だと、↑の式が使えません。

> 斜めの壁の跳ね返りは作れないんでしょうか?

作れないわけがないと思いませんか?
斜めの壁でも、壁に対しての角度で[入射角=反射角]です。
図に描いてイメージを持ってください。

K.MURAKAMI

Re:物体の跳ね返りについて

#3

投稿記事 by K.MURAKAMI » 15年前

たいちうさん、ありがとうございます。
たしかに、斜めの壁もつくれますね。
でも、画像の②ときの?の部分はどういう数値になるのでしょうか?
座標の計算方法が分かりません。
教えてください。

Ma

Re:物体の跳ね返りについて

#4

投稿記事 by Ma » 15年前

いろんな方法があるとは思いますが、私なら移動方向のベクトルを反転させて壁の法線ベクトルに対して反転させますね。
反転は行列を使うといいかも。

こちらを参考に。
http://yamasv.blog92.fc2.com/blog-entry-147.html


とはいえ、これは高3レベルになってしまうので、他にも簡単な方法がありそうですが。

たかぎ

Re:物体の跳ね返りについて

#5

投稿記事 by たかぎ » 15年前

K.MURAKAMIがおいくつなのか知りませんが、高校の物理で習う通りです。
一般的には非弾性衝突になりますので、反発係数を設定する必要がありますが、ブロック崩しならそこまで考えなくてもよいでしょうね。

たいちう

Re:物体の跳ね返りについて

#6

投稿記事 by たいちう » 15年前

> でも、画像の②ときの?の部分はどういう数値になるのでしょうか?

それを答えるには、座標系の定義と壁の傾きが必要です。
(a, b)というのは速度ベクトルを表しているという理解で良いのかな?

座標系の定義は、x軸は右向きを正、y軸は上向きを正とする、
とか定義してください。
壁の傾きも、40度、とかではなく、水平から時計回りに40度、とか。

# このような説明ができるならば、問題の大半は解決したようなものです。
# このような説明なしには、手伝いは困難です。

閉鎖

“C言語何でも質問掲示板” へ戻る