二次関数のグラフなどを描写したい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
Cr
記事: 93
登録日時: 8年前

二次関数のグラフなどを描写したい

#1

投稿記事 by Cr » 7年前

例えば、y = ax^2+bx+cのaの値を遷移させていけばグラフはどのように変化するのか、みたいなのをプログラミングを書いて実現したいです。
最終的にはバーのスクロールとか直観的な操作で色々な関数の色々な値をかえた時にグラフがどう変わっていくのかの表示をしたいのですが、何を学べばいいでしょうか?
DirectXは画像処理がメインのようですし、Windows.h系統もボタンなどは簡単に実現できるようですがグラフをどうやって実現すればいいのかが分りません。
また、手元にあったこちらの本にグラフィックスの項目がありglib.hというヘッダファイルを使う事で直線図形を描くことはできるようなのですが、二次関数は表現できるのか分りませんでした。
ただ二次関数を描くだけでなく、その式のある値を徐々に変化させることによってグラフがどう変化していくのかという移り変わりを滑らかに表示したいのですが…
最悪C言語でなくても良いのでそのような事を実現する方法を教えて下さい。

nil
記事: 428
登録日時: 7年前

Re: 二次関数のグラフなどを描写したい

#2

投稿記事 by nil » 7年前

直線を描けるということですが、
ドットを画面に打つことはできますか?


そうであれば
計算を用いて座標を算出、
画面にドットを描画

でいけるかと……

ドットとドットの間が空いてしまうようであれば
前の座標から次の座標へ順々に直線を引いていくだけでも
なめらかには見えるかと思います

beatle
記事: 1280
登録日時: 7年前
住所: 埼玉
連絡を取る:

Re: 二次関数のグラフなどを描写したい

#3

投稿記事 by beatle » 7年前

自作アプリ側で式を生成して、グラフ描画自体はgnuplotという、フリーのグラフ描画ソフトに投げるというのも手です。
これなら、自作アプリではバーのスクロールなどから得たパラメータを使って文字列を構築するだけですから、DirextXは使いません。

自分でグラフを書きたいなら、涼雅さんがいうように、点で描くのが簡単でしょう。
具体的には関数のxの値をほんのちょっとずつ加算しつつ、各xに対応するyの値を求めて、その(x, y)に点を打てばグラフに見えるでしょう。

点間の補完は、涼雅さんの提案する直線補完方式もありますし、gnuplotの場合は確か曲線で補完してくれるモードもあったと思います。

アバター
Cr
記事: 93
登録日時: 8年前

Re: 二次関数のグラフなどを描写したい

#4

投稿記事 by Cr » 7年前

涼雅さん>
なるほど、点の集合が線だからってことですよね。
思いつきませんでした。
隙間があいてしまうということですが、これはこれでわざと隙間の間隔をランダムにしたりしても遊べそうですw

beatleさん>
フリーでグラフを描くソフトなんかあるんですね
こちらも便利そうです。

とりあえず、教えてもらった方法でいろいろいじって遊んでみます。
どうもありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る