プレイ日記
私は気づいてしまったのだ! 自機(X,Y)から敵(eX,eY)に攻撃の玉を飛ばすときに、とてつもなく苦手な三角関数が必要となるけど、 a(傾き)=(X1-X2)÷(Y1-Y2) っていう一次関数を利用して、 傾きを求めれば三角関数使わなくてよくね…?(Y=aX+b) という考察なんだが、どうだろうか。
6そうだね
プレイ済み
返信[1]
親投稿
一次関数は中学かな…?
0そうだね
プレイ済み
返信[2]
親投稿
InDoor TheInDoor12
止めはしませんが... そのうち気付くと思います。三角関数の使いやすさに。
1そうだね
プレイ済み
返信[3]
親投稿
いやまあ、そっちの方便利なのは分かってるんですけどね・・・(^^ゞ 下手に1次関数やってバグでもしたらデバッグが笑えないので、大人しく三角関数をします(笑)
0そうだね
プレイ済み
返信[4]
親投稿
InDoor TheInDoor12
「傾き」は0除算とかでややこしいんでアレですが、ほぼ同じような考え方で三平方の定理をうまいとこ使うとわりと実用的かもしれません。 三角関数の方が楽ですが...
1そうだね
プレイ済み
返信[5]
親投稿
わざわざ三平方使うがために中3(だっけ?)の数学復習とか、計算必要になったら泣いてしまいますねw 三角関数を使いこなせるようになりたい・・・
0そうだね
プレイ済み
返信[6]
親投稿
ATANに座標の差を突っ込むだけじゃない?
4そうだね
プレイ済み
返信[7]
親投稿
InDoor TheInDoor12
なんか三角関数使わない方が良いような気がしてきた... 本来三角関数は角度と座標を結びつけるものだから、角度があまり関係しない場合ではその方がスッキリしててかっこいいかもです
3そうだね
プレイ済み
返信[8]
親投稿
InDoor TheInDoor12
三平方の定理はあれです、2点間の距離を求めるやつです 自機から敵へのx方向の差、y方向の差をそれぞれ直線距離で割って、任意の速度を掛けるとあら不思議、等速で敵に向かって弾がとんでいきます
2そうだね
プレイ済み
返信[9]
親投稿
絵を方向に合わせて回転させるには角度がいるので結局、角度はいるような…?
3そうだね
プレイ済み
返信[10]
親投稿
あー、わけわかめ。 三平方も試してみてから、駄目ならATANさんにぶちこみます。
1そうだね
プレイ済み
返信[11]
親投稿
覚えて便利な三角関数
3そうだね
プレイ済み
返信[12]
親投稿
座標から角度はATAN 角度から座標はSIN,COS 用途にあう関数を覚えておくだけでも困らないかもね
3そうだね
プレイ済み
返信[13]
親投稿
そうま soma.h
コメント返信する前に受付終了していたのでここでお礼を言わせていただきます。[MMLありです] ってあのMMLのひとですよね? まぁ違ったら気にしないで無視してください。 {4月でもいいですよ♪♪} 『著作権が気になるなら作らなくてもいいです』 «完成したら教えてください。宛先のメールアドレスをお教えします»
1そうだね
プレイ済み
返信[14]
親投稿
InDoor TheInDoor12
画像の回転という発想がなかったあああ 角度は偉大ですね...ははは
2そうだね
プレイ済み
返信[15]
親投稿
高校の数学ってすごく役に立つんだなぁ~、っていう小並感の感想はさておき、スプライトを回転させるから結局角度が必要なのでした。とほほ。
2そうだね
プレイ済み
返信[16]
親投稿
確かに「特定の場所に向かって動く」なら角度はいらないんだなぁ(今気づいた)
2そうだね
プレイ済み
返信[17]
親投稿
速度計の針を描くためにSIN,COSを使ったのは中2だったかなぁ
1そうだね
プレイ済み
返信[18]
親投稿
それこそ三平方の定理とか利用すればいいですもんね。 そもそも自分は回転を全く考えてなかったという阿呆なので、気づけてよかったです。
1そうだね
プレイ済み
返信[19]
親投稿
なんでもやったらいいのさ、答えは無いし。
3そうだね
プレイ済み
返信[20]
親投稿
しんしん manashi3
三角関数の理屈を理解できない人がほしけんさんのサイトを参考にいろいろしていたらこんなの作っていた始末。 いろいろ読んでもどう三角形が絡んでいるのかよくわからないんだよなぁ。 (中2の質問混じりの感想)
1そうだね
プレイ済み
返信[21]
親投稿
だにえる haru2016nen
»しんしんs 三角形は一応存在しています。
0そうだね
プレイ済み
返信[22]
親投稿
勉強してたらめっさ来てた。 いやぁ、逆三角関数使えば楽かなと。 a=ATAN(Y1-Y2,X1-X2) yの増加量(p)=SIN(a) xの増加量(q)=COS(a) SPOFS ○,X+p,Y+q これが手っ取り早いと思います(笑)
0そうだね
プレイ済み
返信[23]
親投稿
pとqが反対でSPOFSはX1Y1のことを忘れていたのは内緒です。
0そうだね
プレイ済み
返信[24]
親投稿
ぴくと kanau1203
三角関数は三角法(角度と辺の長さと数表から新たに長さを求める測量の方法)が名前の由来らしいです
3そうだね
プレイ済み
返信[25]
親投稿
みなつ tksm372
ひだりうでさんは、とてもいいところに気づかれてると思います。 (以下、大文字はベクトル、小文字はスカラーです。三角関数よりベクトルのほうが苦手><だったらごめんなさい。。。) 自機の位置ベクトルをP、敵の位置ベクトルをEとすると 弾の位置ベクトルBを毎フレームvピクセルだけ移動したいときは 自機から弾に向かう単位ベクトルV=(E-P)/|E-P|を計算するだけでOKです。 あとはB=Pと初期化し、毎フレーム B=B+V*v を繰り返すだけ。 どんな方向でも、好きな速度vで弾を移動できます(≧∇≦)b 実際の座標(成分)計算ですが、ベクトル同士の足し算、引き算は、単に成分同士の足し算、引き算。 ベクトルとスカラーの掛け算、割り算も、成分にスカラーを掛け算、割り算するだけ。 ベクトルA=(x,y)の大きさ|A|は、SQR(x*x+y*y)ですね!
1そうだね
プレイ済み
返信[26]
親投稿
ベクトルは理解できるので大丈夫です(( なるほど、なるほど・・・と頷きながら見させていただきましたが、非常にわかりやすく書いていただきありがとうございます! プログラムに活用させていただきます(笑)
1そうだね
プレイ済み