指導要領の改訂によって行列が高校数学に登場した最初の年、行列という訳の分からないものをオペレータとしての一次変換と捉え、何とか視覚的に表現できないかという現場の苦悩が渦巻いていた。 そんな背景の中、「猫の絵写し」が、1975年、春、小沢健一先生によって生み出された。この猫はやがて、「数学セミナー」の表紙を飾ったり、教科書に顔を出したり、とうとうオーストラリアにまで渡ってしまい、八面六臂の活躍をし、「アトムの絵移し」、「ショクパンマンの絵移し」と時代に合わせて様変わりしていった。
そして、今回、新たな複素数平面の登場で、再び図形変換の作用素として、猫は一人(一匹)歩きを始めた。
そこで、この猫を何とか絵定義として取込みdraw文で変換したいと思ったのだが、象のような直線図形と違って、なにせ曲線で囲まれた我がままな生き物のこと、描画が難しすぎるのである。
はてさて、困った!ということになったが、ちょっと発想を変えてみることにした。
「描いた猫を変換させる」のではなく「描いている猫を変換させる」のである。
十進BASICにはWin95らしいマウス制御に関する面白い命令がある。
get point: x,y と mouse poll x,y, left,right
である。前者は、マウスを左クリックしたときのマウスの座標平面上の位置(x,y)を取得するものであり、後者は現在のマウスの位置をx,yに代入し、left,rightにマウスボタンの状態を表示する(0押されていない,1押されている)。
この命令により、左クリックの状態で点をプロットするように設定すれば、マウスにより自由曲線を描けるようになる。同時に変換した点も対応してプロットしていけばよい。こうして、自由曲線として猫を描けば、「猫の絵写し」は完成する。
なお、図A「猫の絵写し」は、複素数z(猫)を、α倍したのちβを加えた、αz+βの変換を表し、図B「蛙の絵写し」は、zにαを加えたのちβ倍した、(α+z)βの複素数変換を表している。