0

数値解析プロジェクトに取り組んでおり、フォームにグラフィックスと放物線を描画したいと考えています。のような放物線を描きたいだけです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();
}
4

2 に答える 2

5

System.Windows.Forms.DataVisualization.Charting ライブラリを使用することをお勧めします。そのドキュメントはここにあります:

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

このライブラリを初めて使用しようとしたときに混乱したことがあります。このライブラリには、実質的に同一の2 つのバージョンがあります。そのうちの 1 つは、バックエンド サーバーでグラフを生成するように設計されています。つまり、Web ページにアクセスして「過去 10 年間のこの株価のカスタム チャートが欲しい」と言うと、ツールがサーバー上にチャートを生成し、そのビットマップを送信します。インタラクティブなクライアント アプリケーションでチャートを生成するように設計された別のバージョンがあります。明らかに2番目が必要です。サーバー側のドキュメントを誤って読んでしまい、混乱を招く可能性があるため、注意してください。

このチャート コントロールは.NET 4 に組み込まれており、以前のバージョンでは個別にダウンロードされることにも注意してください。古いバージョンの Visual Studio を使用している場合は、コントロールをダウンロードする必要がある場合があります。

于 2012-04-05T16:12:05.103 に答える
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 の一部になりました。だから、あなたはすでにそれを持っています!サンプルはとても良いです。ダウンロードすることを強くお勧めします。

2 つの間のリンク: - ループでは、さまざまなポイントで muParser を介して関数を評価するだけです。- あなたのポイントをプロットします。

于 2012-04-05T18:01:28.523 に答える