首页 文章

Math.sin - 清除想法

提问于
浏览
1

我正在尝试使用math.sin和math.cos在我的程序中做一个移动的边缘线 . 我得到所有的数学,它似乎正确加起来(我使用点击鼠标位置和移动鼠标变量来确定绘图区域 . 然后我使用宽度值给它边缘偏移 .

我使用math.cos来查找偏移X和Y位置中的点的距离 . 在这样做时,cos(Angle)的值似乎绝对疯狂,从1到-1 . 这是一个例子 .

角度= 29.153788462442

按窗口计算器计算= 0.8733152733324487151754721490934

按照Math.Cos(角度)的Cos = -0.637571130025255

我尝试将Angle转换为float和int,以防小数位导致问题,无济于事 .

这是我用来提出这些答案的代码 .

lblInOpts.Text = Math.Cos(Angle).ToString() + " " + Angle.ToString();

该文档以度为单位,从弧度切换,并使用与MSDN似乎建议的相同方式 .

4 回答

  • 2

    您需要将度数转换为弧度:

    Math.Cos(Angle * Math.PI / 180.0)
    
  • 1

    您以度为单位传递角度, Math.Cos 期望以弧度为单位的角度

  • 8

    Windows计算器的结果是被解释为度数的角度的余弦值 .

    C#代码的结果是角度的余弦,解释为弧度,相当于 1670.389... 度 .

    要将代码转换为弧度,请使用

    public static double ToRadians(double x) {
        return x * Math.PI / 180.0;
    }
    
  • 2

    -0.637571130025255是29.153788462442弧度(1670.38903571度)的余弦值 . 检查Math.Cos()的文档 - 是否需要以弧度或度数为参数?

相关问题