ソフトを開発しようと思った動機、背景
昨年の暮れに、妹のプラスチック製お絵描き定規で遊んでいて、「こういうのが描けるソフトってないのか」という話になりました。お絵描き定規で描ける多様な曲線(スピログラフ)を描くソフト、という観点でいえば、歯車や穴の半径、鉛筆の位置などのパラメータをスライダーで指定して、自動的に描いてくれるソフトはすでにいくつかありました。同じ曲線が描ければ満足、という向きにはそれで十分なのですが、私がほしかったのは、「歯車をぐるぐる回して描く」という視覚的かつ体感的な部分を再現できるソフトでした。開発中に苦労した点
最初は、マウスで動かせる歯車を、衝突判定などしてホールに沿って動かしていました。歯車が回転しながら移動した結果として、美しい鉛筆の軌跡が残るのですが、描かれた曲線には数学的な裏付けはありませんでした。
描いた模様が気に入らず、消したくなるときのために、ある日Undo機能を付けようと思い立ったのですが、描いた曲線群(必ずしも周期を一巡していなかったりします)を再現させるには、曲線を数式として把握し、パラメータとして保持する必要があることを認識しました。数日かけてsin、cosだらけの数式を自ら書き上げ、以前と同じ曲線が再現できたときには大喜びでした。
曲線を数式化した副産物として、曲線を3次ベジエ曲線で近似することに成功し、それを利用して、絵をEPS形式で保存する機能が加わりました。
ユーザにお勧めする使い方
歯車がぐるぐる回る様子を楽しんでいただければと思っています。「歯車ぐるぐる感」がよりリアルになるよう、今後の開発を進められたらと思います。
Mac版(Mac OS 8-9版/Mac OS X版)も用意していますので、Macをお持ちの方はそちらもお試しください。
(Naochan)