首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何绘制/绘制任意方程

如何绘制/绘制任意方程
EN

Stack Overflow用户
提问于 2012-06-26 04:41:26
回答 2查看 1.9K关注 0票数 0

假设解析等式不是问题,那么在给定特定画布大小的情况下,我如何创建绘制任意方程的算法?例如,让所有像素的坐标高亮显示?

我试着在给定X的情况下重复计算Y,但结果看起来很草率。

这不是一个家庭作业问题。

我所说的图实际上是指图形,就像一个绘图计算器如何画出一个方程式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 04:49:40

考虑使用.NET框架4.API文档here和技术参考页面here中包含的(Windows Forms) API制图库。

票数 0
EN

Stack Overflow用户

发布于 2012-06-26 04:55:06

您可以考虑使用样条曲线,而不是单独绘制每个像素。例如,System.Drawing.Graphics有一个DrawCurve方法,可以通过许多点绘制平滑的曲线(样条曲线)。另外,将SmoothingMode设置为AntiAlias

代码语言:javascript
复制
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

如果可能,请考虑将函数作为lambda表达式传递。这比解析一个以字符串形式给出的表达式更容易。

代码语言:javascript
复制
public void DrawCurve(PointF[] points, Func<float,float> f)
{
    ...
    float y = f(x);
    ...
}

例如。

代码语言:javascript
复制
DrawCurve(points, x => (float)Math.Sin(x)/(x * x + 1);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11197036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档