
//在构造函数里添加以下两句:
//加载十字光标
m_hCrossCur = AfxGetApp()->LoadStandardCursor(IDC_CROSS)
//加载箭头光标
m_hArrowCur = AfxGetApp()->LoadStandardCursor(IDC_ARROW)
============================================================
============================================================
//以下是画直线的代码:
void CMyProject4View::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
m_bLButtonDown = TRUE//鼠标左键按下
m_ptStart = point //直线的起点
m_ptEnd = point //直线的临时端点
SetCapture()
SetCursor(m_hCrossCur)//设置鼠标捕捉
CView::OnLButtonDown(nFlags, point)
}
void CMyProject4View::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(m_bLButtonDown)
{
m_bLButtonDown = FALSE//鼠标左键释放
ReleaseCapture() //释放鼠标捕捉
CClientDC dc(this)//创建客户区设备环境
dc.MoveTo(m_ptStart)
dc.LineTo(point)
SetCursor(m_hArrowCur)
CView::OnLButtonUp(nFlags, point)
}
}
void CMyProject4View::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(m_bLButtonDown)
{
CClientDC dc(this)
dc.SetROP2(R2_NOT)
dc.MoveTo(m_ptStart)//擦除从起点到上个鼠标移动点间的直线
dc.LineTo(m_ptEnd)
dc.MoveTo(m_ptStart)//绘制从起点到当前点间的直线
dc.LineTo(point)
m_ptEnd = point //保存当前鼠标位置
}
CView::OnMouseMove(nFlags, point)
}
============================================================
============================================================
以下是画圆的代码:
void CMyProject4View::OnPaint()
{
CPaintDC dc(this)// device context for painting
// TODO: Add your message handler code here
CRect rcClient
GetClientRect (&rcClient)
int cx=rcClient.Width() /2
int cy=rcClient.Height() /2
CRect rc(cx-45,cy-45,cx+45,cy+45)
CBrush brush(RGB(0,250,250))
CBrush *poldbrush=dc.SelectObject(&brush)
dc.Ellipse(rc)
}
// Do not call CView::OnPaint() for painting messages
}
============================================================
===========================================================
1、JKGRAPH。一款电脑函数绘图软件,适用于二维,但是可以进行极值、积分计算等复杂的分析方法。
2、Mathematica。结合了数值和符号计算引擎、图形系统、编程语言、文本系统、和与其他应用程序的高级连接。很多功能在相应领域内处于世界领先地位,它也是使用最广泛的数学软件之一。
3、Mathcad。它有五个扩展库,分别是求解与优化、数据分析、信号处理、图像处理和小波分析。
4、MicrosoftMathematics。设计给MicrosoftWindows,使用户能够解决的数学和科学问题。由微软开发和维护,它主要作为学生的学习工具。
5、GeoGebra是自由且跨平台的动态数学软件,提供各级教育使用,包含了几何、代数、表格、图形、统计和微积分。
参考资料来源:百度百科-数学软件
matlab可以生成小世界网络的图,首先你要生成N个点,并让其在plot中排列成环状,然后用线段将有连边的两个点连起来。这个绘图过程比较繁琐。真要绘图的话,还是建议使用matlab生成小世界网络,然后用pajek、netdraw等软件完成绘图工作。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)