始めまして。現在マウスを使ったシューティングゲームを作っています。
1人の人間がいて、マウスカーソルがある方向に腕を伸ばすよう表示させたいのですが、
画像のように腕とマウスまでを直角三角形に見立て、底辺・対辺から角度を求めることは可能ですか?
調べては見ましたが、ほとんどが角度から底辺・対辺を求めるもので、
よくわかりませんでした。 求め方を教えてください。お願いします。
直角三角形の鋭角を求めたい
Re: 直角三角形の鋭角を求めたい
三角関数の逆関数を使えば解決すると思います。
この場合ならatanもしくはより便利なatan2を使えばよいかと。
double atan2(double y, double x);
でラジアンが求まります。
この場合ならatanもしくはより便利なatan2を使えばよいかと。
double atan2(double y, double x);
でラジアンが求まります。
- Dixq (管理人)
- 管理人
- 記事: 1662
- 登録日時: 14年前
- 住所: 北海道札幌市
- 連絡を取る:
Re: 直角三角形の鋭角を求めたい
Earさん、こんにちは
全然場違いじゃないと思いますよ、ゲームプログラムについて主に解説しているサイトですし、むしろ一番多い種類の質問ではないかと思います。
atan2は敵がショットを自機狙いで撃つ時なんかにもよく使いますね。
全然場違いじゃないと思いますよ、ゲームプログラムについて主に解説しているサイトですし、むしろ一番多い種類の質問ではないかと思います。
atan2は敵がショットを自機狙いで撃つ時なんかにもよく使いますね。
Re: 直角三角形の鋭角を求めたい
こんにちは。
場違いでないならいいのですが、個人的には数学方面の質問な気がしたので場違いかなと・・・
解答として、関数名を教えてくれたので結果的にはプログラムの話になりましたがw
場違いでないならいいのですが、個人的には数学方面の質問な気がしたので場違いかなと・・・
解答として、関数名を教えてくれたので結果的にはプログラムの話になりましたがw