0

高校時代から久しぶり。直角三角形があり、角度 A がわかっている場合、対辺の長さを計算したいと思います。これに関する c# クックブック ページ ( http://www.gibmonks.com/c_sharp/csharpckbk2-CHP-1-SECT-14.html ) では、次のことが提案されています。

反対側 = Math.Sin(シータ) * 斜辺;

角度 A (シータ) が 45 で、斜辺の長さが 10 単位であると仮定すると、このコードの結果は 8.51 になります。ただし、少なくとも 4 つのオンライン トライアングル ソルバーで 7.07 の答えが得られます (例: http://www.cleavebooks.co.uk/scol/calrtri.htmおよびhttp://www.endmemo.com/geometry/triangle.php ) 。 . これは私に深刻な疑問を投げかけます!

私はどれが正確かを判断するのに十分な自信はありませんが、おそらくインターネットの計算機を好むでしょう.

誰かがこれを行うための正しい式を支援できますか、または便利な C# 直角三角形ソルバー クラスを教えてくれますか?

ありがとう

4

4 に答える 4

7

ドキュメントから、 の値はthetaラジアンでなければなりません。使用しているオンライン ソルバーはtheta度数で解釈しているようです。

次のように、度からラジアンに変換できます。

theta = theta * Math.PI/180
于 2013-04-15T23:50:22.683 に答える
1

角度を度単位で指定していますが、Math.Sinメソッドはラジアンを使用します。

次を使用して度をラジアンに変換できますtheta * 2 * PI / 360

oppositeSide = Math.Sin(theta * 2.0 * Math.PI / 360.0) * hypotenuse;
于 2013-04-15T23:57:30.110 に答える
0

ちなみに、もう 1 つの角度が 45 度であることが知られている直角三角形の場合、残りの 2 つの辺の長さは同じであり、この式を使用してそれらの長さを計算することもできます。

(a*a) + (b*b) = (c*c)

したがって、この場合は;

(a*a) * (a*a) = (10*10)

(a*a) * (a*a) = 100

(a*a) = 100 / 2

a = sqrt(50)

このユニークなケースで結果を検証し、~7.07 が正しい答えであることを証明する別の方法として。

于 2013-04-15T23:56:35.333 に答える
-1

45 度のサインは .707 です。あなたの計算は正しくありません。

于 2013-04-15T23:50:09.323 に答える