0

私は三角形を持っていて、2つの辺の長さを知っており(写真を参照)、写真に示されている角度を知る必要があります(赤は既知で、青の角度は私が数える必要があるものです)

ここに画像の説明を入力してください

Math.Tanを使用すると、ラジアンで表された角度が得られることがわかりました。そのため、これを実行しようとすると、次のようになります。

alpha = Math.Tan((CA/AB));

結果として常に0になります。私の質問は-これらの2つの側面だけを知っているのに、どうすればこの角度を得ることができますか?

4

3 に答える 3

6

試す:

double alpha = Math.Atan2(CA, AB)

結果、、alphaおよびその他の変数がdouble

于 2013-03-08T21:54:59.363 に答える
3

私のサイキックデバッグは、CAABが両方とも整数、またはのいずれかでintあることを教えてくれますlong。したがって、結果も整数型になり、必要に応じて10進値を切り捨てます。少なくとも1つの値を浮動小数点型に変換して、浮動小数点の結果を取得します。

alpha = Math.Tan((CA/(double)AB));
于 2013-03-08T21:54:26.447 に答える
1

あなたが探している角度は、正接ではなく逆正​​接です。

したがって、.Net ライブラリの arctanjant 関数を使用する必要があります。次の行は、必要なものを提供します。

double alpha = Math.Atan ((double)CA/AB) * 180 / PI;

ご存知のように、PI は 3.14 です。

于 2013-03-08T21:58:59.907 に答える