開発代表者:白井達也(鈴鹿工業高等専門学校 機械工学科・准教授)
開発メンバー:白井達也のみ.共同研究者,共同開発者,その他,絶賛募集中!
近年,プログラミング教育の導入用言語として多く用いられるようになったプログラミング言語Processing.完全フリーでありながら統合開発環境が用意され,多くの入門書が出版されており,世界中でも広く用いられている.自然とオブジェクト指向の考えが身に付くため,Processingでプログラミング技術の基礎を学んだ後に他の言語へ移るのも容易と,良いことずくめ.Androidのプログラムだって作れてしまう.
しかしProcessingには致命的な弱点があります."Hello, world"のprintf()からプログラミングを学んだコンソール入出力世代には信じられないことに,Processingにはテキスト文字を気軽に表示する機能やキーボードから文字列を入力する機能が用意されてません! 数値解析のプログラムを作ったとしても,データやパラメータの入力,その結果をダラダラダラ~と画面に垂れ流す,あの手のプログラムが作れません.なるほど.とりあえずプログラミングのイロハのイを学んだら,あとは素早くC++なりJavaなりC#なりへ移れば良い,と? その考えを否定するつもりはありません.情報系学科ならばそれで良いでしょう.でも私が授業を担当しているのは機械工学科です.
さて,という訳で古典的と罵られても気にしません.コンソール対話型のプログラミングをProcessing上で可能とする高機能フレームワークCrowbarを即席で開発しました.その勢いでウィンドウ風のビューポートを使った高度なグラフィックスプログラミングが可能なフレームワークTomahawkも即席で開発しました.あまりにも即席で作ったために内部構造がガタガタな部分もあります(でも動きます).
正直言いますと,かなりの自信作です.Processing上でこんな機能(Crowbarの部分)を実現した話は聞いたことがありません.似たようなことを実現するのならば,たぶん,もっと高度でエレガントな方法を取るでしょう.私はJavaの知識が無いことが幸いしたのか,すべての機能をProcessingのみで実現しています.したがって特殊なプラグインをインストールしたりする必要もありません.ソースはすべて公開していますので,バグを見つけたらチャチャッと治せることでしょう.
「ダウンロード」にあるCrowbar*.**.**.zipがフレームワークです.フレームワークは雛形なので,これを元にして新規のプログラムを作成して下さい.裏を反せば,このファイルだけをダウンロードして実行しても何も動きません.Crowbar + Tomahawkの力を知るには,その他の(たくさんの)サンプルをダウンロードしてProcessingで開いて実行して見て下さい.申し訳ありません.それぞれのサンプルには説明が一切ありません.誰か手を貸して下さい.いや本当に.
依然としてα版です.
まだTomahawkに関しては関数名や引数,戻り値が変わる可能性があります.
ビューポート内でのマウスポインタの位置をワールド座標系とピクセル座標系で取得する機能を追加したデモです.
左クリックで左のビューポート内に描かれる○がそれです.
Ver.3.01.00 :
開発期間: 2012/06/21 - 2012/07/02
TomahawkMode == 2 において半角空白をcrow.write()すると謎のドットが上の行の辺りに表示されるバグに対処.
Tomahawkのビューポート内描画関数以外の仕様を見直し,一部修正,機能拡張,コードの可読性向上.
(ビューポート内描画関数については3.02.00で見直しを行なったα版を公開する)