« プログラミング講座(170) Wiki エディター | トップページ | 謹賀新年 »

2016/01/11

C++ (13) 数式の出力

久々に C++ に取り組んでいます。昨年 Visual Studio 2015 が出たのでインストールしたのですが、Visual Studio 2015 では C++ のレガシープログラムが作れないことが判明し、Visual Studio 2013 (Community) に戻しました。

今回は2進ベクトル CBVector と2進行列 CBMatrix に数式を出力する to_TeX メソッドを追加し、そのテストプログラムを作りました。元々 Java や JavaScript には作りこんでいた機能ですが、C++ では必要ないと思って省略していました。しかしこのようにインターネット上で結果を発表する上であったほうが便利と考え直して今回復活しました。

テストプログラムとしては、まず、Visual Studio 上で動く単体テスト unittest1.cpp に to_TeX メソッドに対するテスト項目を追加しました。

そして、Win32 コンソールプログラム RegressionTest.cpp を全面的に書き直した RegressionHTML.cpp で HTML を出力するようにしました。結果を RegressionHTML 0.1 として公開しました。

HTML に組み込まれた TEX のテキストは JavaScript で書かれた MathJax によって整形されます。

ドキュメントは CppDoc で作成し、GraphGo 0.6 として公開しました。追加された to_TeX メソッドを確認できます。

ソースは CodePlex に公開しました。今回作成した RegerssionHTML.cpp はシフトJISでエンコードしているのですが、CodePlex 上で文字化けすることが分かりました。今後 UTF-8 に変更するかどうか検討します。

Java と JavaScript のときは AptanaStudio で作業していたものを、C++ では Visual Studio で作業していて、ドキュメントや実行結果の HTML をアップロードしたり、プログラムをコンパイル、デバッグしたり、ソースを Git で管理したり、CodePlex に公開 (Push) したり、かなりのことができるようになってきました。ただ、CppDoc は現在は GUI で実行しているので、これも Visual Studio の中からコマンドラインで実行できるようにしていきたいと思います。

今回、C++ で計算した結果を HTML 上に数式として表せるようになりました。

数式の表示

一方 Small Basic で作成した Goban SVG Genarator というプログラムは碁盤の図を SVG として HTML 上に表示できるようにしました。

碁盤の表示

グラフ理論という数学を使っての囲碁プログラムは結構複雑です。数式が何を表しているのか図を使ってなるべく分かりやすく解説していきたいと思います。


|

« プログラミング講座(170) Wiki エディター | トップページ | 謹賀新年 »

C++」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: C++ (13) 数式の出力:

« プログラミング講座(170) Wiki エディター | トップページ | 謹賀新年 »