一个用VC画实时曲线的问题

lcdsda 2008-11-30 07:38:51
准备做一个从串口读取一组关于温度或其他被测量的数据,然后根据采集的数据,绘出其曲线变化的图形(数据存在数据库中)。
这几天才接触MFC,有点茫然,不知如何下手。
谁能告诉我具体流程是怎么处理的,或者有做过类似的例子发个到我邮箱借我参考一下:lcdsda@qq.com
尤其是在曲线如何变化这一点,我想得很头疼了。。。
...全文
259 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
candyice 2008-12-09
  • 打赏
  • 举报
回复
我给你一个我的代码吧
candyice 2008-12-09
  • 打赏
  • 举报
回复
http://blog.csdn.net/qlping2007/archive/2008/03/22/2207353.aspx看看这个吧
lcdsda 2008-12-08
  • 打赏
  • 举报
回复
现在我画的曲线是在内存中画好然后拷贝到客户区的,但是发现曲线在闪烁,请问如何解决闪烁的问题。。。
绿豆蛙2013 2008-12-02
  • 打赏
  • 举报
回复
俺都加到200分了啊!!!!!
ilovedrv 2008-12-02
  • 打赏
  • 举报
回复
在MFC中创建动态控件的生成与响应

http://hyzhujc.bokee.com/viewdiary.14014273.html
lcdsda 2008-12-02
  • 打赏
  • 举报
回复
多谢各位给的建议,我现在有地方不懂,假设当前时间是9点,
现在假设客户区显示的是(8点到9点这1个小时内的数据)现在想在客户区左端和右端画出一个button,然后点击左端button后把显示的数据变成(7点到8点这1个小时的数据),请问这个的“具体处理流程”是怎么样的,尤其是如何画出那个button和使画出的这个button点击后可以什么事件之类的。
或者MFC本身是不是可以让我们在客户区添加控件之类的,麻烦告诉一下。
本人是MFC新手,有什么说得不对的请指教
ilovedrv 2008-11-30
  • 打赏
  • 举报
回复
先看看这个例子吧,或许有帮助

http://www.codeproject.com/KB/miscctrl/histogramctrl.aspx

xsc2001 2008-11-30
  • 打赏
  • 举报
回复
这个也很好弄,步骤如下:
1、首先确定坐标系,在系统中以时间为横坐标X,以你采集的数据如温度为纵坐标。
2、确定你的绘制的效果的策略,根据你的情况,你绘制的图从时间来看是一个动态变化的图,是根据时间的不同曲线也不同,而显示区的大小有限,所以需要采用滑动窗口的原理,因为每屏只能显示可能1个小时或者两个小时的数据,如果时间轴到窗口最右边,则每绘制一次就需要将整个窗口向右滑动,在客户可视区中显示的是当前最新的图形。
3、启动一个线程每隔一定的时间间隔从数据库中去读数据,如果写有数据则将数据点投影到相应的时间轴上,并与上一点连线。这样如果采样间隔合适的话整个过程就是一个按时间轴动态变化的曲线。
4、为了避免闪烁在绘图是先绘制在内存位图上,最后再一次性拷贝到你的客户区CDC上。
一条晚起的虫 2008-11-30
  • 打赏
  • 举报
回复
MoveTo,LineTo有点慢,试试MSChart控件
e01620230 2008-11-30
  • 打赏
  • 举报
回复
这个是个思路,
不过 你先要实现
1 VC如何和数据库连接得到数据
2 启动一个线程
3 会用定时函数
4 画线
e01620230 2008-11-30
  • 打赏
  • 举报
回复
用SELECT 选出你要的数据 放到一个你事先准备好的数组内,然后可以在ONPAINT()函数内用Moveto(),Lineto()每个点都连接起来。在屏幕上显示就可以了,当有数据更新就重新画上去。如果你要想实现向资源管理器网络使用情况跳动的曲线,那你可以先选出3组数据a,b,c。然后全部在屏幕上画出来,当有新的一批数据来时候,你就把 a用b代替,b用c代替,c用刚来的代替这样每次画出来就想在跳动。而这个可以用一个ONTIMER函数来实现换数据,如果有新数据来了数据库检测有个触发,那开启ONTIMER,比如用个线程不断在监听我数据有没有新的,有就SETTIMER(1);那然后替换数据,数据替换结束了发送一个刷新消息 然后就KILLTIME(1);这样ONPAINT()就会做画图工作了。
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

19,464

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧