Processing には、基本的な図形を描くための関数が用意されている。コンピュータにおける座標空間を理解した上で、図形を描くためのコードの書き方に慣れていこう。

座標空間

コンピュータで図形を描くには、前提知識として「座標空間」について知っておく必要がある。基本は算数・数学で学んだ座標と同じで、軸の向きや単位が異なるだけだ。次の「点を描く関数」を使いながら、コンピュータの画面(ディスプレイ)における座標空間についても理解していく。

点を描く point()

「点(5, 7) ... x座標が5, y座標が7 の点 ...を描く」

point(5, 7);

左上に小さな黒い点が確認できる。その部分を拡大すると以下のようになっている。

算数・数学で学んだ座標と異なるのは、

  • 原点が左上にあること
  • y軸が下方向に走ること

である。

ディスプレイは、整列した小さな正方形で構成されている。この小さな正方形(ドット)はディスプレイにおける最小単位であり、ピクセル(pixel)と呼ばれる。携帯電話を含むコンピュータの画面は、このピクセルに対して個々に色を設定することで文字やイラスト、写真を表示している。

直線を描く line()

「点 (20, 30) と点 (80, 70) を結ぶ直線を描く」

line(20, 30, 80, 70);

長方形を描く rect()

「左上の点が (20, 30) で、幅50ピクセル高さ40ピクセルの長方形を描く」

rect(20, 30, 50, 40);

正方形を描くための関数は用意されていない。幅と高さに同じ値を設定して、正方形を描く。

rect(30, 30, 40, 40);

長方形の描き方を設定する rectMode()

Processing では長方形の描き方が4種類用意されている。

  • rectMode(CORNER) ... rect(左上頂点のx座標, 左上頂点のy座標, 幅, 高さ) ※デフォルト
  • rectMode(CORNERS) ... rect(左上頂点のx座標, 左上頂点のy座標, 右下頂点のx座標, 右下頂点のy座標)
  • rectMode(CENTER) ... rect(中心のx座標, 中心のy座標, 幅, 高さ)
  • rectMode(RADIUS) ... rect(中心のx座標, 中心のy座標, 幅の半分, 高さの半分)

「画面の中央に長方形を描きたい」ということが決まっているときは、rectMode(CENTER) を設定すればより簡単に描くことができる。

それぞれのモードで、同じ位置に同じ形の長方形を描いてみる。

rectMode(CORNER);
rect(20, 30, 60, 40);

rectMode(CORNERS);
rect(20, 30, 80, 70);

rectMode(CENTER);
rect(50, 50, 60, 40);

rectMode(RADIUS);
rect(50, 50, 30, 20);