Contents
長方形はrect関数で描く
processingでは、長方形をrect関数で描くことができます。
rect(mode);
rect(a,b,c,d);
なお、rect関数のパラメータの解釈はrect関数を呼び出す前に設定するrectMode関数のパラメータ(mode)によって変わってくるので、modeごとに解説したいと思います。
modeにCORNERを設定した場合(デフォルト)
modeにCORNERを設定した場合、rect関数のパラメータはそれぞれ以下のように解釈されます。
- a (float) 長方形の左上位置のx座標
- b (float) 長方形の左上位置のy座標
- c (float) 長方形の横幅
- d (float) 長方形の縦幅
実際にmodeをCORNERに設定して長方形を描いた例を以下に示します。
void setup(){
size(400,400);
fill(128,128,128);
rectMode(CORNER);
rect(100,100,200,200);
}
なお、rectModeの設定を省略した場合は、modeにCORNERを設定した場合と同じものになります。つまり、デフォルト設定はCORNERとなっています。
modeにCORNERSを設定した場合
modeにCORNERSを設定した場合、rect関数のパラメータはそれぞれ以下のように解釈されます。
- a (float)
長方形の左上位置のx座標→ 長方形の1つの頂点のx座標 - b (float)
長方形の左上位置のy座標→ 長方形の1つの頂点のy座標 - c (float)
長方形の右下位置のx座標→ 頂点(a,b)と反対に位置する頂点のx座標 - d (float)
長方形の右下位置のy座標→ 頂点(a,b)と反対に位置する頂点のy座標
※設定する2つの頂点は左上と右下としていましたが、特にそのような設定にする必要はなく、左下と右上でもいいですし、順番も右下から左上でも構わないようです。とにかく、長方形の対角に位置する2つの頂点を指定します。
実際にmodeをCORNERSに設定して長方形を描いた例を以下に示します。
void setup(){
size(400,400);
fill(128,128,128);
rectMode(CORNERS);
rect(100,100,200,200);
}
modeにCENTERを設定した場合
modeにCENTERを設定した場合、rect関数のパラメータはそれぞれ以下のように解釈されます。
- a (float) 長方形の中心位置のx座標
- b (float) 長方形の中心位置のy座標
- c (float) 長方形の横幅
- d (float) 長方形の縦幅
実際にmodeをCENTERに設定して長方形を描いた例を以下に示します。
void setup(){
size(400,400);
fill(128,128,128);
rectMode(CENTER);
rect(100,100,200,200);
}
modeにRADIUSを設定した場合
modeにRADIUSを設定した場合、rect関数のパラメータはそれぞれ以下のように解釈されます。
- a (float) 長方形の中心位置のx座標
- b (float) 長方形の中心位置のy座標
- c (float) 長方形の横幅の半分
- d (float) 長方形の縦幅の半分
実際にmodeをRADIUSに設定して長方形を描いた例を以下に示します。
void setup(){
size(400,400);
fill(128,128,128);
rectMode(RADIUS);
rect(100,100,200,200);
}
今回の場合、長方形の中心位置が\((100,100)\)で長方形の横幅、縦幅が400となっているので、長方形はキャンバスからはみ出してしまっています。
長方形の角を丸める
rect関数については長方形の角を丸めるための設定もあるようです。詳細を知りたい方は公式サイトをご覧ください。