[[Hirofumi Fujii Start Page]] * Simple Vector Graphics [#qdc5fb3e] 平成22年度初頭に、技術職対象の C++ programming 入門を計画している。 入門とは言え何か形の見えるものが欲しい。Console 型の application でも よいかも知れないが、いまどきなので、できれば簡単なものでよいので graphic 出力までもっていきたい。 - 技術職対象ということで、数値データの可視化が最も適していると思うので、vector graphics でやりたい。 - OS 非依存にしたい(少なくとも Windows と Linux で、同じように動く) - 標準化と普及が進んでいるものにしたい(マニュアルや解説が、そこらじゅうにころがっているもの) という視点で眺めてみたのだが、、 相変わらず vector graphics の世界は混沌としている(涙)。 ** SVG (Scalable Vector Graphics) [#ld43979a] 長所: - W3C で標準化が行われており、Web ブラウザで見ることができる。 - SVG-Tiny など、携帯電話などへも普及が図られている。 - XML ベースであり、他の文書(xhtml など)との連携も容易(原理的には)。 短所: - 表示は別 program なので、結果がすぐに見えるわけではない。 - W3C の recommendation にもかかわらず IE で native には support されていない。 かつ IE で最も良い SVG 表示 plugin であった Adobe SVG Viewer が support を 止めてしまった(ダウンロードは今でもできるが、、)。 - XML ベースではあるが、現実的には他の文書との連携はブラウザによって方式がまちまち。 なんだか Web の覇権争いの様相で、Microsoft が VML の手前かどうか、SVG を support していない間に Macromedia Flash による表示が勢いづいていたと思ったら Macromedia Flash は Adobe に買収されて Adobe Flash になり、 Adobe は IE の SVG Viewer の support を止めてしまって、、 ** OpenGL [#l698e09a] 長所: - ライブラリであり、appication から直接出力できる。 - OS 非依存。 - GUI 特有のイベント処理が、かなりうまく隠蔽されていて、従来型 programming との 違和感が少ない。 短所: - Core module では、window の生成や入力などを扱うことができず OS や graphic system 依存になる。これを避けるには、GLUT module が必要であるが、windows には標準では インストールされていない。 - テキストが(一筋縄では)出せない。 - 3D が main なので、使い方も含め「簡易」とは言い難い。 - widget 使おうとすると glui など別 module が必要。 うーん、graphics の core 部分はともかく、周辺が揃ってないというか、 時代遅れというか、、 そもそも、各 module も congire; make; make install とはいかないみたいだし、、 glui にしても、ファイル選択 dialog も無いみたいだし、slide bar も無いみたいだし、、 本当に core の部分しか整備されていないという感じだ。 Programing 的には main() で始まるし、core は server-client model で 表示系は server 扱いなので、これをそのまま class 化してしまうのは 素直だと思うので、面白いのは面白いと思うのだが、、 ** wxWidget [#v155bb16] これはもう vector graphics 云々というよりは、window tool kit で、当初考えては みたが、GUI 型の programming なので、callback だ event loop だのかなりの 予備知識が必要で、とても programming 入門 level で扱えそうにない。