私はグラフ電卓アプリケーションに取り組んでいます。もちろん、アプリケーションの主な機能はグラフを表示することです。
現在、これがグラフをプロットする私のアルゴリズムの仕組みです: 描画キャンバスをN
間隔で分割します (N
はアプリケーションの設定で定義されています。デフォルト値は約 700 です)。間隔ごとに、2 つの端点の関数を評価し、2 つの点の間に線分を描画します。
この方法に私が見つけた欠点は次のとおりです。
- グラフの精度が良くない (たとえば、関数
sin(tan(x))
) - レンダリングは、間隔の数が多いほど遅くなります (たとえば、N が 1000 を超える)。また、ズームとナビゲーションのコントロールにも問題があります。
では、グラフを描画するためのより良いアプローチはありますか?
私は C# (WPF) でプログラミングしていますが、アルゴリズムを探しているので、これは関係ないと思います。