从高度和角度计算斜边

时间:2016-11-10 11:15:13

标签: c# geometry

我在数学系上有点生疏,我想计算一个直角三角形的斜边,给定高度(h)和相反角度(C)。
right angle triangle
我试过这个:

 double a = h / Math.Sin(v);

整个代码段:

string line;
while ((line = Console.ReadLine()) != null)
{
    string[] split = line.Split(new char[] { ' ' }, StringSplitOptions.None);
    long h = Int64.Parse(split[0]);
    long v = Int64.Parse(split[1]);
    double res = h / Math.Sin(v);
    Console.WriteLine(res);
}

然而,这并没有给我正确的答案。例如,如果高度为10000且角度C为89,则斜边应为~10001但是我得到~11626。我在javascript和C#中尝试了这个但是我得到了同样错误的答案,但是我的计算器给出了正确的答案。 对我做错了什么想法?

2 个答案:

答案 0 :(得分:2)

您面临的问题是您的计算是以弧度而非度数

完成的

要解决此问题,您必须将度数转换为弧度,如此

| c1    | c2    | str                  |
|=======|=======|======================|
| 1     | 1-1   | 3A,4A,3B,4B,3C,4C    |
| 1     | 1-2   | 3D,4D                |
| 2     | 2-1   | 3E,4E,3F,4F          |
| 2     | 2-2   | 3G,4G,3H,4H          |

答案 1 :(得分:1)

角度c必须是弧度而不是度

让Radians使用C * Math.PI / 180