0

高中毕业很久了。如果我有一个直角三角形,并且知道角度 A,我想计算出它对面的长度。这个 c# 食谱页面 ( http://www.gibmonks.com/c_sharp/csharpckbk2-CHP-1-SECT-14.html ) 建议:

对面 = Math.Sin(theta) * 斜边;

假设角度 A (theta) 是 45,斜边长 10 个单位,这段代码给我的结果是 8.51。至少 4 个在线三角形求解器给了我 7.07 的答案(例如http://www.cleavebooks.co.uk/scol/calrtri.htmhttp://www.endmemo.com/geometry/triangle.php) . 这让我产生了严重的疑问!

我在 trig 方面还不够成熟,无法确定哪个是准确的,但我可能更喜欢互联网计算器。

任何人都可以协助正确的公式来做到这一点,或者指向一个有用的 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

顺便说一句,对于一个已知另一个角为 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 度的正弦是 0.707。你的计算不正确。

于 2013-04-15T23:50:09.323 回答