与えられた方程式に基づいて視覚的なグラフ(双曲線、放物線、線形方程式など)を表示できるC ++グラフライブラリはありますか?それはクロスプラットフォームですか?それとも私はあまりにも多くを求めていますか...
4 に答える
MathGLには式パーサーがあり、テキスト式で指定された関数をプロットできます(多くの特殊関数が含まれています)。また、データセットを作成し、数式で入力して、間接関数(楕円、a * x ^ 2 + b * x ^ 2 = 1など)をプロットすることもできます。
質問を段階的に進めていきましょう。
「与えられた方程式に基づいて」これには、式パーサーを作成する必要があります。C ++は、そのためのプロシージャを作成しない限り、方程式を「オンザフライ」で解釈することはできません。これについては、 Bisonを確認することをお勧めします(RPN calcの例に直接アクセスしてアイデアを入手してください)。
ライブラリについては、C++用の任意のGUIツールキットを入手できます。数十あります。QTの推奨はおそらく最も正直なものです。ウィキペディアもチェックしてください。線やスプラインをペイントまたはレンダリングできるキャンバスを提供するツールキットが必要です。これは簡単なことではありませんが、難しいことでもありません。
プログラムはおそらく次のように機能します。
- 数式(または既知の関数のパラメーター。楕円の軸や中心など)を取得します。
- ポイントのセットを生成します(これはC ++のループで行われます)
- それらのポイントをパックして、ツールキットのペイントまたはレンダリングメソッドに送信します(適切なスケーリング/正規化を使用)
繰り返しますが、これは簡単ではありませんが、難しいことでもありません。
あなたは車輪の再発明をしていますが、私はあなたにそれを称賛します。
乾杯、
J。
興味があるのがプログラミング側ではなく、最終出力だけの場合。gnuplot(http://www.gnuplot.info/)のようなものとのインターフェースを試してみることをお勧めします。
もっと興味があれば、彼らの「リンク」ページを見ることをお勧めします。これにより、インターフェイスライブラリと再実装のいずれかが多数提供されます(主に、私が見ることができる非C言語の場合)。
お役に立てば幸いです。