だから私はグラフ電卓を書いています。これまでのところ、私は半機能的なグラファーを持っていますが、正確なグラフと滑らかな曲線のバランスを取るのに苦労しています。
現在の実装 (半疑似コード) は次のようになります。
for (float i = GraphXMin; i <= GraphXMax; i++)
{
PointF P = new PointF(i, EvaluateFunction(Function, i)
ListOfPoints.Add(P)
}
Graphics.DrawCurve(ListOfPoints)
これに関する問題は、すべての整数値にポイントを追加するだけであるため、転換点が整数に収まらない場合にグラフが歪んでしまうことです (例: sin(x)^2 )。
iを小さい値 (0.1 など)ずつ増やしてみましたが、うまくいきましたが、グラフは非常に粗く見えます。
C# と GDI+ を使用しています。最初のグラフからわかるように、SmoothingMethod を AntiAlias に設定しているので、それは問題ではありません。たくさんの点で曲線を描くと何か問題がありますか? ポイントはおそらくピクセル上に正確に配置する必要がありますか?
以前に非常によく似たものに取り組んだことがある人もいると思いますので、何か提案はありますか? あなたがそれに取り組んでいる間、漸近線で関数をグラフ化するための提案はありますか? 例: 1/x^2
PS私はこれをすべて行うライブラリを探しているわけではありません-自分で書きたいです。