Simple Vector Graphics †平成22年度初頭に、技術職対象の C++ programming 入門を計画している。 入門とは言え何か形の見えるものが欲しい。Console 型の application でも よいかも知れないが、いまどきなので、できれば簡単なものでよいので graphic 出力までもっていきたい。
という視点で眺めてみたのだが、、 相変わらず vector graphics の世界は混沌としている(涙)。 SVG (Scalable Vector Graphics) †長所:
短所:
なんだか Web の覇権争いの様相で、Microsoft が VML の手前かどうか、SVG を support していない間に Macromedia Flash による表示が勢いづいていたと思ったら Macromedia Flash は Adobe に買収されて Adobe Flash になり、 Adobe は IE の SVG Viewer の support を止めてしまって、、 日本の携帯電話メーカーはこぞって SVGTiny へ(ナビや地図機能で)流れている みたいではあるが、携帯電話市場では日本のメーカーなんてマイナーもいいとこだしな、、 (日本は携帯電話のガラパゴスと揶揄されてるぐらいだし)。 私の昔のノートをひっくり返してみたら、2000年12月2日の日付で規格や対応状況を 調べている(特に日本語文字列を扱うことを念頭に utf-8 の通り具合を)。 丁度9年前か、、規格化は進んだが対応状況はあまり変わってないじゃないか、、 OpenGL †長所:
短所:
うーん、graphics の core 部分(特に 3D まわり)はよく揃っている感じだが、 周辺が揃ってないというか、時代遅れというか、、 そもそも、各 module も congire; make; make install とはいかないみたいだし、、 glui にしても、ファイル選択 dialog も無いみたいだし、slide bar も無いみたいだし、、 本当に core の部分しか整備されていないという感じだ。 Programing 的には main() で始まるし、core は server-client model で 表示系は server 扱いなので、これをそのまま class 化してしまうのは 素直だと思うので、面白いのは面白いと思うのだが、、 wxWidget †これはもう vector graphics 云々というよりは、window tool kit で、当初考えては みたが、GUI 型の programming なので、callback だ event loop だのかなりの 予備知識が必要で、とても programming 入門 level で扱えそうにない。 例えば
などなど、、 gnuplot など外部 program を使う †まあ、これが一番簡便ではある。pipe を使うという手もあるだろうが、 一時ファイルを作って、それを経由させれば非常に簡単。 しかし、例えば gnuplot だと、単純な線を引く(軸無しで)とか四角を書くとか 丸を書くとかがよくわからん、、簡単な図も書けるとよいのだが、、 axis や label などを off にして、書けばよいみたいだ。 というわけで、いろいろ try してみたが、 axis や label を off にして、線や四角を書くのは確かに可能であるが、 どうも plot command を発行しないと描画しないらしい。で、plot command は 少なくとも1点の data か関数を必要とするらしい。 うーん、axis や label を off にするのも結構いくつかの command を発行しないと いけない上に、dummy data を画面の外あたりに plot させるとか、background と 同じ色で plot するとか、何だか邪道を進まない限り解決しないようだ、、 えーい、こうなりゃグラフィックシステム直接叩きか! †何やっても一筋縄ではいかないのなら、X11 と Windows の超簡単手抜き library を 自作で用意した方が、簡単でわかりやすいかも、、 欲しい関数は drawline drawtext drawbox drawcircle setlinecolor setfillcolor ぐらいなんだが、、 まあ、setlinewidth と settextsize ぐらいもあった方がよいとは 思うが、この程度で十分なのに、、 |