Math.Sin的奇怪值

时间:2014-04-27 21:22:01

标签: c# sin

大家好! 我试图在c#

中绘制sin-function 7sin(3t)
PointF[] Points = new PointF[200];
int T = 20;   //t
Graphics gr;

private void calculatePoints()
        {
            gr = CreateGraphics();
            Brush brush = new SolidBrush(Color.Red);
            Pen pen = new Pen(brush, 3);
            float xk, yk;        

            //k for scaling
            yk = (float)((this.ClientRectangle.Height - 40)/2) / 7;  
            xk = (float)(this.ClientRectangle.Width - 40) / (Points.Length);

            for (int i = 0; i < Points.Length; i++)
            {    
                //here we go
                Points[i] = new PointF(20 + i * xk,
                                      this.ClientRectangle.Height/2 - (float) Math.Sin(3 * i * T) * 7 * yk);
            }
            gr.DrawCurve(pen, Points);
        }

所以我的曲线看起来像这样: http://i.stack.imgur.com/ucpOV.png

但是如果我将sin的参数乘以180例如,我会得到一个很好的情节。 http://i.stack.imgur.com/K26KE.png

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

Math.Sin需要Radians。您可以使用yourNumber * Math.PI / 180转换为Radians。

答案 1 :(得分:0)

Math.Sin Method

Math.Sin参数需要以弧度而不是度数。