まえがき

 Fortranをはじめとし、Pascal、C、Java、C++、などいろんなプログラミング言語を使ってきました。プログラミング言語はそれぞれの時代背景で特徴があります。大学の教員として、多くの学生さんと接してきましたが、入門としての言語の「良さ」は「相性(好み)」の問題かと思っています。最近は、ここで紹介する Processing を紹介しています。入門時の「敷居の低さ」、「レパートリーの広さ」、が大きな要因です。

 Processing はアプレットと同様、Java のクラスを母体にしています。そのため、MACやLimuxなど多くのプラットフォームで動作します。ネットワーク上でのアプレットがセキュリティの問題のため瀕死状態ですが、Processing は Javascript への変換ツールにより、ネット上での利用が可能になりそうです。

 Processing はこれまでCG能力を利用して、「アート向け」の学生さんへのツールとして活用されてきましたが、情報科学や工学部の学生さんにも便利なプログラミング環境かと思います。これまで、情報科学(メディア科学)分野で書きためてきた各種の分野のプログラムを、Processing の環境にうつしてみたいと思っています。

 このテキストはその最初の1冊です。1節は Processing の導入、2,3節(式と制御)は「初めてのプログラミング」の人には少し荒っぽいかもしれませんが、簡単に文法をまとめてあります。4 節(メソッド)は processing の制御の要となる部分をまとめてあります。5節はグラフィック、6節は文字列の扱いです。3D の部分は次のテキストで紹介する予定です。
 7節はファイル、8節はクラス の紹介です。9節で Processing が PApplet クラスとして定義されることを説明しています。これで Processing の標準的な部分の紹介はできたかと思います。
 9節からは応用編になります。9節では コンピュータアルゴリズムの例として「2分探索法」を紹介します。10節は「物理シレーション」の例として、「空気抵抗を含む、投げたボールの軌跡の計算」、11節は「曲線(ベジェ)の生成手法」を紹介しています。12節は知能的な繰り返しともいえる、「再帰処理」の手法と、その実例として再帰図形を紹介しています。13節は「落ちモノゲーム」の代表として、「テトリス」風ゲームの試作版を紹介しています。

 今後、アルゴリズム、物理、数学、ネットワーク、さらには、「組み込みコンピュータ」との連携分野もまとめていこうかと思っています。「間違い」の多い私ですので、多くの誤記もあるかと思います。訂正やご意見をいただければ幸いです。

 このテキストは、一緒に勉強をしてきたゼミの皆様の賜です。ゼミの皆さんの質問や要望が支えになっています。原稿のチェックや電子出版用のテキスト作り、図の作成(編集)は娘の「彩」の担当です。ありがとうございました。