C/C++绘制函数图像
在一个平面上画出几条不同的函数图像,还有类似于等高面(颜色深浅)的三维图。坐标轴,还有注释。给个例子就行了,稍带解释。...
在一个平面上画出几条不同的函数图像,还有类似于等高面(颜色深浅)的三维图。坐标轴,还有注释。给个例子就行了,稍带解释。
展开
4个回答
展开全部
如果你说的是VC++的话:
你需要定义两个CPoint类型的变量m_prePoint用来存放前一个点的坐标,m_curPoint用来存放当前点的坐标。
x=-1;
m_prePoint = new CPoint(x, f(x));
然后使用pDC-> MoveTo(m_prePoint) pDC-> LineTo(m_curPoint),然后每循环一步,取得下一个点的坐标,把下一个点的坐标赋给m_curPoint,把上一步的哪个当前点坐标赋给m_prePoint,然后再使用MoveTo和LineTo画线,依次类推,就可以画出曲线了
因为实际屏幕上坐标点总是为正,而且为整数,所以在计算点位坐标的时候,你需要适当放大下,这样画出来的曲线光滑一些。
你需要定义两个CPoint类型的变量m_prePoint用来存放前一个点的坐标,m_curPoint用来存放当前点的坐标。
x=-1;
m_prePoint = new CPoint(x, f(x));
然后使用pDC-> MoveTo(m_prePoint) pDC-> LineTo(m_curPoint),然后每循环一步,取得下一个点的坐标,把下一个点的坐标赋给m_curPoint,把上一步的哪个当前点坐标赋给m_prePoint,然后再使用MoveTo和LineTo画线,依次类推,就可以画出曲线了
因为实际屏幕上坐标点总是为正,而且为整数,所以在计算点位坐标的时候,你需要适当放大下,这样画出来的曲线光滑一些。
展开全部
可以建立一个Document/View结构。然后在View结构中画图。具体实现方法,就从sin(x)中取数,当然了数要取得密一些,即划分的区间要多。利用
lineto ,moveto等画直线语句进行连线。划分的区间越多,得到的曲线将越平滑。
另外一种方法,可以考虑利用MFC调用matlab的图形库,具体可参考《matlab扩展编程》清华大学出版社,里面有详细论述。
lineto ,moveto等画直线语句进行连线。划分的区间越多,得到的曲线将越平滑。
另外一种方法,可以考虑利用MFC调用matlab的图形库,具体可参考《matlab扩展编程》清华大学出版社,里面有详细论述。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要话三维空间里的二次曲面,貌似用C++自身的绘图功能还比较困难,可能需要使用OpenGL等图形接口来编写。
如果仅仅是为了得到图像的话,推荐使用 Micrsoft Math 3.0 一款不错的数学软件。
如果仅仅是为了得到图像的话,推荐使用 Micrsoft Math 3.0 一款不错的数学软件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
三维图要用OpenGL 或它的工具包 GLUT 画。
会三维,二维就太简单了。
源程序和例子见参考资料
Function graphics in 3D
会三维,二维就太简单了。
源程序和例子见参考资料
Function graphics in 3D
参考资料: http://www.codeguru.com/cpp/g-m/opengl/article.php/c5581/
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询