第一步:新建MFC。

VC++6.0的话是文件--新建--工程--MFCAppWizard(exe)--填写工程名称--确定(其他的可以不动)--点单文档--直接点完成就行了。

第二步:找到OnDraw(CDC *pDC)这个函数名。

这个函数名在--C+你的工程名字+View里面,点开这个,就可以看见OnDraw(CDC *pDC)了,双击,然后看见:// TODO: add draw code for native data here。在下面插入画函数曲线代码就可以了,其他的地方代码不需要修改。
下面我给个案例:y=sinx 函数的曲线代码。当然头文件不能少:#include "math.h" 和 #define PI 3.14159;
void CGraphView::OnDraw(CDC* pDC)
{CGraphDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);//绘制画笔CPen cpen,pen;cpen.CreatePen(PS_SOLID,4,RGB(0,0,0));pen.CreatePen(PS_SOLID,2,RGB(255,0,0));pDC->SelectObject(&cpen);//指定原点pDC->SetViewportOrg(300,300);pDC->SetTextColor(RGB(255,0,0));//绘制横坐标CString sPIText[]={"-1/2π","1/2π","π","3/2π","2π","5/2π","3π","7/2π","4π","9/2π","5π"};for(int n=-1,nTemp=0;nTemp<=660;n++,nTemp+=60){pDC->LineTo(60*n,0);//坐标横线pDC->LineTo(60*n,-5);pDC->MoveTo(60*n,0);pDC->TextOut(60*n-sPIText[n+1].GetLength()*3,16,sPIText[n+1]);}pDC->MoveTo(0,0);CString sTemp;//绘制纵坐标for(n=-4,nTemp=0;nTemp<=180;n++,nTemp=60*n){pDC->LineTo(0,60*n);pDC->LineTo(5,60*n);pDC->MoveTo(0,60*n);sTemp.Format("%d",-n);pDC->TextOut(10,60*n,sTemp);}double y,radian;pDC->SelectObject(&pen);//绘制相关曲线for(int x=-60;x<600;x++){//弧度=X坐标/曲线宽度*角度*π//Y坐标=振幅*曲线宽度*sin(弧度)radian=x/((double)60*2)*PI;y=sin(radian)*2*60;pDC->MoveTo((int)x,-(int)y);pDC->LineTo((int)x,-(int)y);}cpen.DeleteObject();pen.DeleteObject();}

代码运行如下:







下面说一下在VS2010下的MFC画函数曲线:

第一步:新建MFC项目

文件--新建--项目--其他语言--Visual C++--MFC--MFC应用程序--输入名称--点确定(其他不动)--下一步--单个文档--在项目类型你可以选自己喜欢的,都有预览--完成。

第二步:插入画函数曲线代码

同样的,在源文件夹下找到 ”你的项目名称+view.cpp“”文件,如果没有解决方案窗口,在视图菜单下可以打开。接着找到“void CtestView::OnDraw(CDC* /*pDC*/)”这个函数,在“// TODO: 在此处为本机数据添加绘制代码”下插入代码,代码跟刚才的代码一样,不过跑的结果不太一样,你可以把"//绘制曲线"那部分代码放在"//绘制横纵坐标"的前面,运行结果就跟上面是一样的了。当然也要插入那两个头文件。
做完之后会发现很有意思,想画什么函数就画什么函数曲线。这篇文章横纵坐标都是扩大了60倍,我们可以自己折腾一下,很快就懂了画函数曲线MoveTO()和LineTo()两个函数了。谢谢了!文章不妥之处望批评指正,有什么问题可以私信我,知无不言,我也是一个菜鸟。

C++ MFC 画函数曲线(包含坐标)相关推荐

  1. matlab的多项式拟合,函数求导,画函数曲线

    给一列数据. 拟合出该数据的函数曲线.多项式拟合. 然后画出函数曲线来.以及给出函数形式. 求导. 再画出导数的曲线.以及给出导数函数形式. matlab代码: clc close all clear ...

  2. python画pr曲线_python 画函数曲线示例

    python 画函数曲线示例 如下所示: import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 2 * np.pi ...

  3. python画函数曲线-使用Python画数学函数曲线

    import numpy as np import pandas as pd import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.fig ...

  4. matlab中怎么画函数曲线,用matlab 怎么画函数曲线图

    matlab的数据处理能力很强大,这款软件还能绘制各种函数图形.下面我将介绍用matlab画函数图形的方法,以在同一张图上画出y1=sin(x)和y2=sin^2(x)的图形为例. 工具/原料 mat ...

  5. 如何用python画函数曲线_python 画函数曲线示例 用python 怎么画函数图像

    Python如何画函数的曲线 输入以下代码导入小编们用到的函数库. >>> import numpy as np >>> import matplotlib.pyp ...

  6. 如何用python画函数曲线_Python笔记:用matplotlib绘制函数曲线图

    # 导入相关的包 import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl #%%配置全局绘图参数 #设置 ...

  7. python画函数曲线-Python 绘制你想要的数学函数图形

    Python 非常热门,但除非工作需要没有刻意去了解更多,直到有个函数图要绘制,想起了它.结果发现,完全用不着明白什么是编程,就可以使用它完成很多数学函数图的绘制. 通过以下两个步骤,就可以进行数学函 ...

  8. python画函数曲线-python画蝴蝶曲线图的实例

    蝴蝶曲线是由Temple H・Fay发现的可用极坐标函数表示的蝴蝶曲线. 由于此曲线优美, 因此就想把它作为博客favicon.ico,这里我使用pytho matplotlib.pyplot包来绘制 ...

  9. python画函数曲线-2.3python如何绘制二次函数图像

    2.3.1工具 python matplotlib pyplot pyplot四Matplotlib中的模块,封装了很多处理graph的方法.绘制表格,修改表格属性都是用它实现的. 2.3.2例子 二 ...

最新文章

  1. cmake / cmake --build 如何理解
  2. joomla 标准激活的php mail 功能,php 通过joomla jmail 类使用 gmail smtp 账号发送邮件的简单示例...
  3. 各浏览器CSS兼容问题
  4. 软考高级网络规划设计师论文考试技巧
  5. c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统
  6. struts2文件下载及文件名中文问题
  7. Mysql查询某列最长字符串记录
  8. python文本字符串比对_[Python] 利用HTML页面查看字符串差异
  9. macOS如何获取惠普打印机离线驱动安装包
  10. react-testing-library
  11. 红杉资本投资的企业汇总
  12. 用java实现查询年份的生肖
  13. PyQt5-在窗口上绘制文本 QPainter
  14. OSChina 周六乱弹 —— 三口气印度史(3.5)
  15. Oracle Database 10g for Windows2003安装
  16. 爬虫初上手之爬取QQ音乐!
  17. swagger接口导出excel文件打不开
  18. Mac OS 如何升级到指定版本
  19. java array缓存_有java数组
  20. python人工智能项目实战 桑塔努·帕塔纳亚克 pdf_(特价书)Python人工智能项目实战...

热门文章

  1. Auto.js介绍和安装,并测试运行
  2. 更多国企尚处于数字化转型的起步期,国企转型之路在哪?
  3. MTK6873/MT6873_MTK5G_datasheet_规格书_数据手册_免费下载
  4. 【长达x年半个人PHP练习生之——日历制作】
  5. 下载了免费的txt电子书,如何用安卓手机打开?
  6. 去掉idea中有些代码的黄色背景,去掉标记为过时的方法横线
  7. 黄国祯-英文论文写作与投稿经验
  8. Rachel_Zhang的“压缩感知”之“HelloWorld解读
  9. 【Delphi】实现登陆教务系统并获取课表的艰苦历程
  10. 专访陈谔:为什么网易云能承载网易 95%的业务?