龍神録15章のことで伺いたいことが
龍神録15章のことで伺いたいことが
龍神録のサイトで勉強させていただいている者ですが、お伺いしたいことがあります。
エラーやトラブルとは別のことなのですが、龍神録15章の弾幕を作るところで、サイト主の方の解説で「敵がいる位置からPI/2の位置からPI/2+PIの方向とPI/2-PIの方向へ回転している」というものがあるのですが、
180°がπなのはわかるのですが、PI/2の位置(90°の位置?)などとは、どのような位置なのかがわからないのです。
初歩的な質問になってしまいますが、どなたかご教示いただけないでしょうか。
エラーやトラブルとは別のことなのですが、龍神録15章の弾幕を作るところで、サイト主の方の解説で「敵がいる位置からPI/2の位置からPI/2+PIの方向とPI/2-PIの方向へ回転している」というものがあるのですが、
180°がπなのはわかるのですが、PI/2の位置(90°の位置?)などとは、どのような位置なのかがわからないのです。
初歩的な質問になってしまいますが、どなたかご教示いただけないでしょうか。
Re: 龍神録15章のことで伺いたいことが
弧度法について調べてみると、何かいいことがあるかもしれません。
180°がPIラジアンなのがわかっていて、PI/2(90°)がイメージできない、
というのは、ちょっと信じられない気がしなくもないような気がするような気がします。
180°がPIラジアンなのがわかっていて、PI/2(90°)がイメージできない、
というのは、ちょっと信じられない気がしなくもないような気がするような気がします。
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 龍神録15章のことで伺いたいことが
PI/2がイメージできないというか、「敵の位置からPI/2の位置~PI/2+PIの方向」というのがイメージできないのですが、同じことなのでしょうか
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 龍神録15章のことで伺いたいことが
>敵がいる位置からPI/2の位置からPI/2+PIの方向とPI/2-PIの方向へ回転していますね?
敵がいる位置を中心点としてPI/2の角度の位置(つまり下)を起点として、2方向、PI/2+PIの方向とPI/2-PIの方向へと敵を中心に弾の発射位置が移動しているのはわかりますでしょうか?
そういう説明なんですよ。
敵がいる位置を中心点としてPI/2の角度の位置(つまり下)を起点として、2方向、PI/2+PIの方向とPI/2-PIの方向へと敵を中心に弾の発射位置が移動しているのはわかりますでしょうか?
そういう説明なんですよ。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 龍神録15章のことで伺いたいことが
ご回答ありがとうございます。すこしずつわかってきたような気がします。
下が90°ということは左がPI、上がPI/2+PI(PI/2-PI?)右が0という認識でいいのでしょうか?
下が90°ということは左がPI、上がPI/2+PI(PI/2-PI?)右が0という認識でいいのでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 龍神録15章のことで伺いたいことが
こう言うのは試してみた方が良いでしょう。たけのこ太郎 さんが書きました:ご回答ありがとうございます。すこしずつわかってきたような気がします。
下が90°ということは左がPI、上がPI/2+PI(PI/2-PI?)右が0という認識でいいのでしょうか?
簡単なプログラムを書いて試してみてはどうでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 龍神録15章のことで伺いたいことが
サイトを参考に画像をPI/2,PI,PI/2+PI,PI*2、それぞれの角度で描画してみて、それぞれが右、下、左、上向きになることをたしかめたのですが、そうするとPI/2の角度の位置がなぜ下になるということがわからなくなり、混乱してしまいました。自分なりに考えましたが、どうにもわからないです。考え方のようなもの、またはアドバイスをいただきたいです
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 14年前
- 住所: 東海地方
- 連絡を取る:
Re: 龍神録15章のことで伺いたいことが
そのプログラムを見せてくださいね。たけのこ太郎 さんが書きました:サイトを参考に画像をPI/2,PI,PI/2+PI,PI*2、それぞれの角度で描画してみて、それぞれが右、下、左、上向きになることをたしかめたのですが、そうするとPI/2の角度の位置がなぜ下になるということがわからなくなり、混乱してしまいました。自分なりに考えましたが、どうにもわからないです。考え方のようなもの、またはアドバイスをいただきたいです
それと15章と見比べてみるのも手です。
どこで発生座標を決定しているか分かりますか?
よく見てみてください。
【補足】
sinとcosの角度と値の関係は90度ズレた関係にあるのでsin/cosの使い方が違うと90度ズレてしまうことがあります。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 龍神録15章のことで伺いたいことが
ラジアン値角度0=0°は右で、
角度はそこから時計回りに増えていきます。
つまりPI/2=180°/2=90°は
真右から時計回りに90°つまり真下を指し、
同じようにPI=180°は真左を指します。
角度はそこから時計回りに増えていきます。
つまりPI/2=180°/2=90°は
真右から時計回りに90°つまり真下を指し、
同じようにPI=180°は真左を指します。
Re: 龍神録15章のことで伺いたいことが
皆さん回答ありがとうございます。皆さんのおかげでたぶん理解できました。DrawRotaGraphの引数のAngleにPI/2を足すあたりなどで混乱していたようです。うまく言葉にできないのですが、DrawRotaGraphの引数の描画角度は上が0度、右が90度、下が180度、右が270度(確かめた結果そうだと判断しました汗)というのと0が右でPIが下、PIが左、PI/2+PIは上というのとごちゃごちゃになっていたのかと思います。
Re: 龍神録15章のことで伺いたいことが
連続ですみません。ねぼけて誤字を記してしまいました。
上が0度、右が90度、下が180度、左が270度、0が右で、PI/2が下でPIが左で、PI/2+PIが上、と書きたかったのです。
上が0度、右が90度、下が180度、左が270度、0が右で、PI/2が下でPIが左で、PI/2+PIが上、と書きたかったのです。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 龍神録15章のことで伺いたいことが
上が0度ではありません。右が0度です。
描画時に90度足しているのは、画像が上向き(-90度)だからです。
(画像素材を右向きにすれば90度足す必要はありません)
例えば、今左に弾が飛んでいるとしましょう。飛んでいる角度は180度です。
しかし、弾素材の画像は上向き(-90度)なので、単純に弾を180度回転させると、-90+180度で、下を向いてしまいます。
軌道計算は180度なのに、表示は90度なので、左に飛ぶのだけど、弾の向きは下ということになります。
# 以下一般的な2Dゲームプログラムにおける座標軸や表示についてです。
まず、ウィンドウは左上原点の、xは右が正、yは下が正なので、学校で習う座標軸の向きが上下逆になります。
これについては、
1.3章 画像を表示してみよう
http://dixq.net/g/01_03.html
の2枚目の画像を参照して下さい。
中学で座標と角度を習った時は、右が0度で、反時計回りに回転していたので、上が90度だったと思います。
しかし、右が0度なのは同じですが、yの向きが反対なので、時計回りに回転します。したがって真下が90度になります。
3.7章 特定の角度で弾を飛ばす
http://dixq.net/g/03_07.html
こちらのプログラムのangleが示す向きが進行方向なので、この値を色んな値にして動作を確認してみて下さい。
(サンプルでは乱数になっていますが、固定値を入れると向きが確認できるでしょう)
また、館でもsin,cosについて説明している章があるのでよければどうぞ
補足資料 6章 sin, cosって何?(三角比の基本)
http://dixq.net/g/h_06.html
描画時に90度足しているのは、画像が上向き(-90度)だからです。
(画像素材を右向きにすれば90度足す必要はありません)
例えば、今左に弾が飛んでいるとしましょう。飛んでいる角度は180度です。
しかし、弾素材の画像は上向き(-90度)なので、単純に弾を180度回転させると、-90+180度で、下を向いてしまいます。
軌道計算は180度なのに、表示は90度なので、左に飛ぶのだけど、弾の向きは下ということになります。
# 以下一般的な2Dゲームプログラムにおける座標軸や表示についてです。
まず、ウィンドウは左上原点の、xは右が正、yは下が正なので、学校で習う座標軸の向きが上下逆になります。
これについては、
1.3章 画像を表示してみよう
http://dixq.net/g/01_03.html
の2枚目の画像を参照して下さい。
中学で座標と角度を習った時は、右が0度で、反時計回りに回転していたので、上が90度だったと思います。
しかし、右が0度なのは同じですが、yの向きが反対なので、時計回りに回転します。したがって真下が90度になります。
3.7章 特定の角度で弾を飛ばす
http://dixq.net/g/03_07.html
こちらのプログラムのangleが示す向きが進行方向なので、この値を色んな値にして動作を確認してみて下さい。
(サンプルでは乱数になっていますが、固定値を入れると向きが確認できるでしょう)
また、館でもsin,cosについて説明している章があるのでよければどうぞ
補足資料 6章 sin, cosって何?(三角比の基本)
http://dixq.net/g/h_06.html
Re: 龍神録15章のことで伺いたいことが
管理人様、ご回答ありがとうございます。ご説明いただいたおかげでよくわかりました。
また、もう少し勉強を重ねてから進んでいきたいとおもいました。
今回はこの質問に答えていただきありがとうございました。
また、もう少し勉強を重ねてから進んでいきたいとおもいました。
今回はこの質問に答えていただきありがとうございました。