2007年3月12日月曜日

少し文明人に近づいたんだぜ?

WAVEファイルの読み出し部分はできたので、今度はGUI部分。
ってなわけで、いかにしてグラフ描画をするか、そこを中心にずっと考えてたんですね。一応ベースとなるアプリというか、「これを作りたい!」ってアプリはあるのですが、そいつが中々ハードな作りしてるんですよねぇ。
研究で使ってるアプリなんですが、騒音源や制御音の周波数スペクトルやら何やらをグラフ表示できる作りになって居るんです。MDIで!
ハードルたけぇよほんとに・・・><
まー無理にクローンを作ろうとしなくてもいいのはいいんですが、どうせなら同等機能を持つ物を作りたいなと。
で、C#のGraphicsクラスとかを調べて、描画させる方法を覚えたはよかったけれど、実にめんどくさい!!!!
まぁ、私が流儀になれていないってのが一番大きいんですけれどね^^; 低レベル処理ってのはやっぱり面倒だ・・・。やっぱ慣れていかないといかんのだろうなぁ・・・。座標決めうちで処理するってのはどーも苦手だ。今までグラフィック系を扱ってこなかったってのもあるけどさ。座標変換をうまく使えばクライアント領域を好きに座標指定できるんだろうけど、座標軸やラベル、凡例とかのオフセットやらなんやらを考慮してたら頭こんがらがってきちゃった;;
で、ふと思ったわけですよ。
「グラフ描画なんて誰もが欲しがる機能なんだし、公開されてるんじゃね?」
あったよ普通に。
いやまぁあるよねそりゃやっぱり・・・^^; もっと早くに気づけよ自分Orz
と、いうことでNPlotという.NETクラスライブラリを見つけてきました。非常に手軽にグラフ描画が出来る優れもの。Graphicsクラスオブジェクトで描画してくれるってことで、画像保存もお手軽だったり(ただしBMP系だけで、ベクタ系が保存できないのが残念)。とりあえずMDIはよく分からないけどグラフ描画だけならこれで超お手軽に片付きそうなのでさくっと作ってしまおうかと思ってます。道具の使い方を覚えてちょっと文明人に近づいた!?
これでシミュレータのフロントエンドはかなり完成形が見えてきました。後は実装だなぁ。C++で組んで、C++/CLIでラップしてC#のGUIで動かすって手法が@itに載ってたから、最終的にはそこを目指してみようかしら。
とりあえず明日はグラフ部分の完成とできたら簡単なシミュレーションまで持って行くことを目標としよう^^

2 件のコメント:

  1. SECRET: 0
    PASS: 64fa84376bf93a7a4f06f52e1c5ee8cd
    なるほど…とすると…
    RAWデータ読み込んで表示するライブラリも実は落ちてたりして…^^;

    返信削除
  2. SECRET: 0
    PASS: ab69940f5f363d931b2d6c6fa05f57c4
    引っかからなかったんだよなぁ。
    C#で探したから、C/C++で探したら違う結果になるかも分からんが・・・。
    けどあるかも知れんわね、英語サイトまで足を広げれば(ぁ

    返信削除