美大生のためのプログラミング入門:四角形に関する様々な関数(その 1)


※ Qiita では、本文部分のみの印刷に苦労します。そのため、同じ内容を以下のページにも掲載しています。プリンツアウトしたり PDF 化したい人は、こちらのページを利用して下しさい:

一覧はこちら:
http://gurakura.sakura.ne.jp/series/美大生のためのプログラミング入門/

Qiita 版の総合目次:
https://qiita.com/iigura/items/37180d127da93d0b8abb

自由な四角形の描き方

 関数 rect で描画される四角形は、水平・垂直の線分にて構成される長方形でした。
しかし、長方形だけが四角形というわけでもなく、四角形という定義にはもっと自由な形の四角形も含まれます。

quad 関数は、このような自由な四角形を描くための関数です。
引数は、quad(x1,y1, x2,y2, x3,y3, x4,y4) であり、それぞれ

x1,y1: 第 1 頂点の x 座標および y 座標
x2,y2: 第 2 頂点の x 座標および y 座標
x3,y3: 第 3 頂点の x 座標および y 座標
x4,y4: 第 4 頂点の x 座標および y 座標

となります。

 このような表記は少々冗長にも感じますので、以後、i=1,…,4 に対し、

$$
x_i,y_i : \mbox{第 i 頂点の x 座標および y 座標}
$$

などと表記する場合もあります。

 実際に quad 関数を使って四角形を描いてみます

background(250,250,250);
size(500,500);

strokeWeight(10);
stroke(0,64,255);
fill(255,0,0);
quad(70,50, 80,400, 400,300, 250,280);

quad

この四角形は一見すると三角形の仲間のようにも見えますが、4 つの頂点から成る、れっきとした四角形です。

 quad 関数は指定した 4 つの頂点を結ぶ図形を描くのみですので、与えるパラメータによっては 4 角形とならない場合があります(下のプログラムと図を参照)。

そのような場合でも Processing は特にエラーや警告を出すことはありませんので、意図した通りの四角形が描画されているか、常に確認するようにして下さい。

background(250,250,250);
size(500,500);

strokeWeight(10);
stroke(0,64,255);
fill(255,0,0);
quad(70,50, 80,400, 400,300, 150,480);

invalid quad