angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

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

angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#1

投稿記事 by taiyaki » 16年前

angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180);についてで質問した者ですが、なぜ+rang(180)(0~1度)する必要があるのでしょうか?

たいちう

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#2

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

> なぜ+rang(180)(0~1度)する必要があるのでしょうか?

rang(PI/180)を足さないで実行した場合と比べてください。
違いは分かりましたか?
目的は弾を揃えないためでしょう。

必ずしも必要な処理ではないですが、弾にゆらぎを与えたほうが良いと
作者が考えたためでしょう。元ネタのZUN氏の弾幕のセンスと、それを再現するための
Dixq氏の工夫です。

# 今後このような場合は、元のスレで質問を続けるのが宜しいかと。

taiyaki

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#3

投稿記事 by taiyaki » 16年前

回答ありがとうございます。外すと確かに弾を揃えています。回答ありがとうございました。

taiyaki

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#4

投稿記事 by taiyaki » 16年前

新たな問題に詰まりました。angle-PI/2*0.8+PI*0.8/7*irang(PI/180)の+PI*0.8/7をやると、逆に+されてしますから逆に反対になるのではないでしょうか? なぜ反対にならないのでしょうか?

ねこ

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#5

投稿記事 by ねこ » 16年前

質問の意味が分かりません。やるって何ですか?
質問は正確に、意図を明確にお願いします。

taiyaki

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#6

投稿記事 by taiyaki » 16年前

失礼しました。なぜangle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)と入力すると+PI*0.8/7*iと思っている角度(iが1だとすると+20.571429)と逆の角度(-20.571429)になってしまうのでしょうか?例えばangleが180だとしてそこから72(PI/2*0.8)を引いて108から+20.571429を足して128.571429になると思うのですが、この計算は間違っているのでしょうか?

sizuma

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#7

投稿記事 by sizuma » 16年前

元ソースを読んでないし、いまいち質問も理解できてないんですが。
間違えてたらスルーしてください。

たぶん、angleが、敵か自分の向いてる方角なのでは?
自機だとすると、90度ですよね。
そこから7Wayショットを打つ間隔を考えると

38,58,79,100...(計算はテキトーな暗算です)

ですよね。

conio

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#8

投稿記事 by conio » 16年前

とりあえず、
angle = 180、PI = 180だとしたら下記の様になるんじゃないでしょうか。
(桁が多いところは、切り上げてます)
----------------------------------------------------------------------------
angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)

【i = 0】
= 180 - 180/2*0.8 + PI*0.8/7*0 + rang(PI/180)
= 180 - 72 + 0 + (-1 ~ 1)
= 108 + (-1 ~ 1)
= 107 ~ 109

【i = 1】
= 180 - 180/2*0.8 + PI*0.8/7*1 + rang(PI/180)
= 180 - 72 + 20.5 + (-1 ~ 1)
= 128.5 + (-1 ~ 1)
= 127.5 ~ 129.5

【i = 2】
= 180 - 180/2*0.8 + PI*0.8/7*2 + rang(PI/180)
= 180 - 72 + 41.1 + (-1 ~ 1)
= 149.1 + (-1 ~ 1)
= 148.1 ~ 150.1

【i = 3】
= 180 - 180/2*0.8 + PI*0.8/7*3 + rang(PI/180)
= 180 - 72 + 61.7 + (-1 ~ 1)
= 169.7 + (-1 ~ 1)
= 168.7 ~ 170.7

【i = 4】
= 180 - 180/2*0.8 + PI*0.8/7*4 + rang(PI/180)
= 180 - 72 + 82.2 + (-1 ~ 1)
= 190.2 + (-1 ~ 1)
= 189.2 ~ 191.2

【i = 5】
= 180 - 180/2*0.8 + PI*0.8/7*5 + rang(PI/180)
= 180 - 72 + 102.8 + (-1 ~ 1)
= 210.8 + (-1 ~ 1)
= 209.8 ~ 211.8

【i = 6】
= 180 - 180/2*0.8 + PI*0.8/7*6 + rang(PI/180)
= 180 - 72 + 123.4 + (-1 ~ 1)
= 231.4 + (-1 ~ 1)
= 230.4 ~ 232.4
----------------------------------------------------------------------------

>>失礼しました。なぜangle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)と入力すると+PI*0.8/7*iと思っている角度(iが1だとすると+20.571429)と逆の角度(-20.571429)になってしまうのでしょうか?
>>例えばangleが180だとしてそこから72(PI/2*0.8)を引いて108~

"逆になる"という表現が良く分からないのですが、

例えば真下(270°)に弾を3つ発射した場合、①②③の内の①の方向(270 - 72 = 約208)に
発射される理由が分からない、という事ですかね?
 ①②③
/ | \

「何故270°よりも角度が小さい方向(-72°)へ発射されるのか?」と。

それを仮定として話を進めますが、それはi = 0の時にプラスされる角度が0になるからです。
なので、PI/2*0.8の値の分だけマイナスの角度に発射されます。

sizuma

Re:angle-PI/2*0.8+PI*0.8/7*i+rang(PI/180)について2}

#9

投稿記事 by sizuma » 16年前

ん?前のスレをよんで7wayショットって書いたけど、僕が書いた角度だと6wayショット?
なぜかiが1から6までで計算してました。
140を7分割したら8wayになりますね。
(シューティングわからないんですが、これって8wayですよね^^;)

それとも別に6発弾を撃てば6wayショットで、7発撃てば7wayショットっていうんですかね?
ただ単に7分割したら7wayショットでしょうか・・・

閉鎖

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