ページ 11

直角三角形の鋭角を求めたい

Posted: 2011年7月24日(日) 18:32
by Ear
始めまして。現在マウスを使ったシューティングゲームを作っています。
1人の人間がいて、マウスカーソルがある方向に腕を伸ばすよう表示させたいのですが、
画像のように腕とマウスまでを直角三角形に見立て、底辺・対辺から角度を求めることは可能ですか?
調べては見ましたが、ほとんどが角度から底辺・対辺を求めるもので、
よくわかりませんでした。 求め方を教えてください。お願いします。

Re: 直角三角形の鋭角を求めたい

Posted: 2011年7月24日(日) 18:57
by GRAM
三角関数の逆関数を使えば解決すると思います。
この場合ならatanもしくはより便利なatan2を使えばよいかと。
double atan2(double y, double x);
でラジアンが求まります。

Re: 直角三角形の鋭角を求めたい

Posted: 2011年7月24日(日) 19:06
by Ear
ありがとうございます。解決しました。
今思えば少し場違いな質問でしたね・・・ すいません。

Re: 直角三角形の鋭角を求めたい

Posted: 2011年7月24日(日) 22:23
by Dixq (管理人)
Earさん、こんにちは
全然場違いじゃないと思いますよ、ゲームプログラムについて主に解説しているサイトですし、むしろ一番多い種類の質問ではないかと思います。
atan2は敵がショットを自機狙いで撃つ時なんかにもよく使いますね。

Re: 直角三角形の鋭角を求めたい

Posted: 2011年7月25日(月) 13:54
by Ear
こんにちは。
場違いでないならいいのですが、個人的には数学方面の質問な気がしたので場違いかなと・・・
解答として、関数名を教えてくれたので結果的にはプログラムの話になりましたがw

Re: 直角三角形の鋭角を求めたい

Posted: 2011年7月25日(月) 18:07
by non
>関数名を教えてくれたので

「いただいたので」
こういうのは、気になるのですよね。うるさい親父も必要だと笑ってください。