ソフトウェア開発の方針と開発環境
何を作るのか
ここまで17種類の繰返し紋様がある事を紹介してきました。このような繰返し紋様を作ってみたいと思っても、勝手が分からないと、手作業で作っていくのは大変です。前にも書きましたが、繰返し紋様にはある規則性があるため、コンピュータ向きなのです。
そこで、コンピュータを使って繰返し紋様を作る事に挑戦したいと思います。具体的には、繰返し紋様を作成するソフトウェアを開発していこうという事です。
このサイトの内容
このサイトでは、ソフトウェアを開発する過程を公開していきます。私はプログラミングを趣味としているアマチュアのプログラマーですが、作りかけては根気が続かず途中で放棄、というパターンがほとんどです。ホームページと連動させるというのは新しい試みなので、目先がかわって少しは長続きするかな?という期待を持ちつつのスタートです。
進め方
進め方ですが、最初に仕様をきちんと決め、ソフトウェアの機能を説明する文書を用意し、しかる後にコーディングというまっとうなスタイルはとらない事にします。むしろ最小の機能でとりあえず動くものを作り、それに次々と機能を追加していくという、どちらかと言えば行き当たりばったりな方式で進めていこうと思います。理由はいくつかありますが、
- 趣味でやっているのに、堅苦しいのはイヤ!
- 少しずつでも動くものができた方が、達成感を得られる
- まとまった時間が取れる訳ではないので、壮大な目標をたてても途中で挫折しそう
- 読んでいる方にとっても、頭に入れておかなければならない事が少ない方がわかりやすいのでは?
といったところです。もっとも、これが裏目にでると、自分でもメンテナンスの困難なつぎはぎのプログラムになってしまいそうですが、果たしてどうなります事やら。失敗に終わったときは、こんな事をやってはいけないという反面教師にでもしてやって下さい。
ソフトウェアの開発環境
開発環境はMacOS Xに標準で添付されているXcodeで、Cocoaフレームワークを使います。Cocoaプログラミングに興味のある方の参考となるように、ソースコードも載せていきます。Xcodeの使い方も多少は書いていきます。
ただし、Objective-C言語の説明、オブジェクト指向とは何か、Model-View-Controllerデザインパターンについての説明などは省略しますので、各自参考文献をあたってください(説明しろと言われても、私には荷が重すぎます)。
また、オブジェクトの生成・解放のルール(retain,release,autoreleaseの使い方)といったCocoaフレームワークが定めるルールについても、やはり各自参考文献をあたっていただくようお願いします。
開発に使用するハード、ソフトは以下の通りです
- ハードウェア
- Power Mac G5 Dual 2.3GHz
- ソフトウェア
- Mac OS X 10.4.2
- Xcode 2.0 → 2005/11/5 Xcode 2.1に移行 → Xcode 2.2に移行
ソフトウェアの名称は、いい名前を思いつかないので、とりあえず"Repeating Motif Generator"とします。(「繰返し紋様を作成するもの」というつもりの命名ですが、英語として適切かどうかは定かではない・・・)
元ネタの紹介
実は、今回やろうとしている事には元ネタがありますので、それを先に紹介しておきます。
パソコンで描く紋様とデザイン
コンピュータグラフィックスの新しい試み
この本に書かれている事の一部を、多少アレンジして実現していこうという訳です。当面の目標は必要最低限の機能の実現ですが、ゆくゆくは独自の拡張を施したいと思っています。
この本、いつ購入したのか覚えていませんが、ずいぶんと昔の事であることは確かです。奥付を見てみると、1988年10月25日 初版1刷発行とあります。定価のところには「定価4944円(本体4800円)」と書かれたシールが貼ってあります。消費税施行前に印刷されたものを、消費税3%で購入したという訳ですね。したがって、少なくとも1989年4月から1997年3月の間に購入した事は確かです。
いつ買ったかは忘れましたが、価格が価格なだけに、当時ずいぶん迷った末に購入した事を覚えています。
美の幾何学
もう一冊、参考にした書籍を紹介します。こちらはかなりお手頃な価格です。
この本の「対称性の基本」にp1からp6mに至る17種類の対称性の型が解説されています。Repeating Motif Generatorでもこの17種類の対称性を使って、紋様を作成していきます。