2016-11-24 10 views
-3

ユーザーに3つの長さを尋ねるプログラムを作って、それが正方形か、二等辺三角形か、二等辺三角形かを決定しました。 Javaで角度を計算する方法(3辺がすべて与えられています)を知りたいので、プログラムが鈍角であるか鋭角であるか、または直角であるかを判断します。私を助けてください。角度を取得する簡単な方法

実際に編集する方法が用意されていますので、それ以上のダウンボートはしないでください。 提案を歓迎します。

double pi = 3.14159265359;// value of pi 

double angle = Math.round(Math.acos((b*b + c*c - a*a)/(2.0*b*c)) * (180.0/pi)); // discovering angles 
double angle2 = Math.round(Math.acos((a*a + c*c - b*b)/(2.0*a*c)) * (180.0/pi)); 
double angle3 = Math.round(180 - (angle2 + angle)); 
+2

あなたの質問は、ジオメトリの質問であり、プログラミングに関するものではありません。あなたはすでに数学的な答えを持っていますか?もしそうでなければ、解を求める最初のことは幾何学と三角法について読むことです。数学的な解決策があれば、それを実装しようとしましたか? – bli

+0

+ bliもし私が数学とプログラミングがうまくいっていると誤解されずに、私が求めているのは何かを解決する方法です。あなたのコメントを削除してください。 Btw私は研究や実装をせずに質問をすることは決してありません(私は自分の数学をよく知っています)。 – lordzee

+0

さて、あなたの質問は実際には実装の1つです。多分あなたはすでに持っているコードとあなたがjavaに翻訳したい数学を見せて、人々がより具体的な回答方法に導かれるようにすることができました。私はこれが、あまりにも広範囲に見えるために質問をdownvoting人々の数を減らしていたと思う(私はdownvoteしなかった)。応答のために – bli

答えて

0

あなたが三角形の辺を知っているように、あなただけの以下の手順で角度を見つけることができます...

  • を使用し、その後角度
  • のいずれかを計算することがLaw of Cosines最初を使用もう一度別の角度を見つけるために余弦の法則
  • そして最後に の角度を見つけるためにangles of a triangle add to 180°を使用してください。

javaでは、Math.acos(val)を使用して逆余弦を計算することができます。

+0

RimonはMath.acosの括弧内ですばらしいので、配置されるものは何ですか。値の代わりに、lengthだけです.Basicalyは、値の代わりに長さaとbを入れます。最後のステップは180から2つの合計を差し引くことです。 – lordzee

+0

あなたが角度Aを計算したいとし、その式が 'cosA =(b^2 + c^2 - a^2)/ 2bc'なので、' A = Math.acos((b^2 + c^2) - a^2)/ 2bc) 'となる。 ラジアンでAの値を取得します。あなたがDegreeでそれを取得したいのであれば、それに '180 * Math.PI'を掛けるだけでよいのです。 [これを参照](https://www.mathsisfun.com/algebra/trig-solving-sss-triangles.html)明確な理解のため... –

関連する問題