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

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

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

我不太愿意尝试触发哪种方法,但我可能会更喜欢互联网计算器。

有人可以协助您使用正确的公式来执行此操作,还是可以向我介绍有用的c#直角三角形求解器类?

谢谢

===============>>#1 票数:6 已采纳

根据文档theta的值必须以弧度为单位。 您正在使用的在线求解器似乎在以度数解释theta

您可以将度数转换为弧度,如下所示:

theta = theta * Math.PI/180

===============>>#2 票数:1

您以度为单位指定角度,但是Math.Sin方法采用弧度。

您可以使用theta * 2 * PI / 360将度数转换为弧度:

oppositeSide = Math.Sin(theta * 2.0 * Math.PI / 360.0) * hypotenuse;

===============>>#3 票数: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是正确答案的另一种方法一样。

===============>>#4 票数:-1

45度正弦值为.707。 您的计算不正确。

  ask by Glinkot translate from so

未解决问题?本站智能推荐: