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