C++实现输出sin()函数图象

来源:互联网 发布:颈椎病运动疗法知乎 编辑:程序博客网 时间:2024/06/06 01:51

首先创建MFC单文档应用程序

在VIEW类中的Ondraw函数中添加代码

void CdsfsdsddsView::OnDraw(CDC* pDC)
{
 CdsfsdsddsDoc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 if (!pDoc)
  return;  
   // TODO: 在此处为本机数据添加绘制代码
    CRect rect;
    GetClientRect(rect);
    int x0=rect.Width()/2;
    int y0=rect.Height()/2;
    pDC->MoveTo(0,y0);
    pDC->LineTo(rect.Width(),y0);
    pDC->MoveTo(x0,0);
    pDC->LineTo(x0,rect.Height());
    double step=3.1415926/100;
    CString str;
    for (int i=-200;i<=200;i++)
    {
        pDC->SetPixel(x0+i/200.0*rect.Width()/2,y0+sin(step*i)*rect.Height()/3,RGB(255,0,0));
        if (i==0)
        {
            str="0.0";
            pDC->TextOut(x0,y0,str);
            str="Y";
            pDC->TextOut(x0,0,str);
        }
        if (i==200)
        {
            str="X";
            pDC->TextOut(rect.right-20,y0-20,str);
            str="2π";
            pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
        }
        if (i==100||i==-100)
        {
            str="π";
            pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
        }
        if (i==-200)
        {
            str="-2π";
            pDC->TextOut(x0+i/200.0*rect.Width()/2+2,y0+2,str);
        }
        str="(-2π,2π)的正弦函数图象";
        pDC->TextOut(10,10,str);
    }
   
}

原创粉丝点击