2012-04-05 3 views
0

私は数値解析プロジェクトに取り組んでいます。私はフォーム上にグラフィックとパラボラを描きたいと思います。単に私はx² - 2x - 1のような放物線を描きたいと思う。だから、どうすればいい?C#で放物線を描く方法は?

例コード:

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(); 
} 
+0

あなたはどうですか、それをプロットしますか? – leppie

+2

私はあなたが何か試したと確信しています、それはうまくいきませんでしたか?... – dasblinkenlight

+0

@leppieはい私は方程式x^2 - 2x -1を書いたとき、それはfromアプリケーションに現れます。 – noDispName

答えて

5

私はあなたがSystem.Windows.Forms.DataVisualization.Chartingライブラリを使用することをお勧めします。そのドキュメントはここにある:私がこのライブラリを使用しようとした最初の時間を混同

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

は何か:実質的に同一であり、このライブラリのバージョンが存在します。それらのうちの1つは、バックエンドサーバーにグラフを生成するように設計されています。つまり、あなたはウェブページに行き、「過去10年間のこの株価のカスタムチャートが必要です」と言って、サーバー上にグラフを生成し、そのビットマップを送信します。対話型クライアントアプリケーションにグラフを生成するように設計された別のバージョンがあります。明らかに第二のものが必要です。間違ってサーバーサイドのドキュメントを読んでしまうのは間違いですが、混乱させる可能性がありますので注意してください。このチャートコントロールは、.NET 4からに建てを来て、以前のバージョンの別途ダウンロードであることを

も注意してください。古いバージョンのVisual Studioを使用している場合は、コントロールをダウンロードする必要があります。

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経由でさまざまなポイントで機能を評価するだけです。 - あなたのポイントをプロットします。