0

方程式の解析が問題にならないことを前提として、特定のキャンバスサイズを指定して、任意の方程式をプロットするアルゴリズムを作成するにはどうすればよいですか?のように、ハイライトするすべてのピクセルの座標を取得しますか?

Xを指定してYを繰り返し計算してみましたが、だらしなく見えます。

これは宿題の問題ではありません。

プロットとは、グラフ電卓が方程式をプロットする方法のように、実際にはグラフを意味します。

4

2 に答える 2

1

各ピクセルを個別に描画する代わりに、スプライン曲線の使用を検討できます。System.Drawing.Graphicsたとえば、いくつかの点を通る滑らかな曲線(スプライン)を描画するメソッドDrawCurveがあります。さらに、をに設定SmoothingModeしますAntiAlias

e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;

可能であれば、関数をラムダ式として渡すことを検討してください。これは、文字列として指定された式を解析するよりも簡単です。

public void DrawCurve(PointF[] points, Func<float,float> f)
{
    ...
    float y = f(x);
    ...
}

例えば

DrawCurve(points, x => (float)Math.Sin(x)/(x * x + 1);
于 2012-06-25T20:55:05.610 に答える
0

.NET Framework 4に含まれている(Windowsフォーム)DataVisualization Chartingライブラリの使用を検討してください。APIドキュメントはこちら、テクニカルリファレンスページはこちら

于 2012-06-25T20:49:39.807 に答える