如何用C#绘制抛物线?

时间:2012-04-05 15:57:53

标签: c# graphics

我正在进行数值分析项目,我想在表格上绘制图形和抛物线。我只想绘制像x² - 2x - 1这样的抛物线。那么,我该怎么做呢?

示例代码:

g = this.CreateGraphics();
p = new Pen(Brushes.WhiteSmoke,1);
s = new SolidBrush(Color.Blue);

g.DrawString("x", this.Font, s, x1, y0 + 10);
g.DrawString("y", this.Font, s, x0 - 5, y2 - 20);
g.DrawRectangle(p, 400, 100, 300, 300);

for (int i = 0; i < 300; i += 30)
{
    line(400, 100 + i, 700, 100 + i);
}

public void line(int x, int y, int x1, int y1)
{
    g = this.CreateGraphics();
    p = new Pen(Brushes.Gray, 1);
    g.DrawLine(p, x, y, x1, y1);
    g.Dispose();
}

2 个答案:

答案 0 :(得分:5)

我建议您使用System.Windows.Forms.DataVisualization.Charting库。它的文档在这里:

http://msdn.microsoft.com/en-us/library/dd489065.aspx

第一次尝试使用此库时让我感到困惑的事情:这个库的两个版本实际上是相同的。其中一个旨在生成后端服务器上的图表 。也就是说,你去一个网页并说“我想要过去十年这个股票价格的自定义图表”,该工具会在服务器上生成一个图表并向你发送一个位图。还有另一个版本用于在交互式客户端应用程序中生成图表 。显然你想要第二个。很容易意外地最终阅读服务器端的文档,这可能会令人困惑,所以要小心。

另请注意,此图表控件来自内置于到.NET 4,并且是早期版本的单独下载。如果您使用的是旧版Visual Studio,则可能需要下载该控件。

答案 1 :(得分:1)

如果您希望能够插入抛物线公式,那么您需要一个数学解析器。

我个人使用muParser,我发现它使用起来非常简单。 http://www.codeproject.com/Articles/18384/Parsing-Mathematical-Expressions-with-muParser 举个例子。

我认为还有很多其他人,但我不了解他们。

现在......谈论图表......我使用MS图表。这里:http://archive.msdn.microsoft.com/mschart

从.NET Framework 4开始,Chart控件是.NET Framework的一部分。所以你已经拥有它了!样品非常好。我真的建议下载它们。

现在两者之间的联系: - 在循环中,只需通过muParser在不同点评估您的功能。 - 绘制你的积分。