任意の図形はbeginShape関数とendShape関数で描く
processingでは、三角形や長方形、円や楕円などの決まった図形だけではなく、任意の形の図形を描くことができます。任意の図形を描くには、beginShape関数とendShape関数を使います。
beginShape();
vertex(x1,y1);
vertex(x2,y2);
・・・
vertex(xn,yn);
endShape(CLOSE);
vertex(xn,yn)は座標\((x_n,y_n)\)に点を指定します。 beginShape()とendShape(CLOSE)に挟まれているvertex関数で指定された座標を順に結んでいくことで任意の図形を描くことができます。 なお、endShapeのパラメータにCLOSEを指定することで、最初の座標と最後の座標を結んで、図形を閉じた形にすることができます。
以下に、beginShape関数とendShape関数を用いて五角形を描く例を示します。
void setup(){
size(400,400);
fill(128,128,128);
beginShape();
vertex(200,100);
vertex(100,200);
vertex(150,300);
vertex(250,300);
vertex(300,200);
endShape(CLOSE);
}
曲線的な図形を表現するには
曲線的な図形を表現したい場合、短い線分を細かくつなげていくことで表現することができます。また、ベジエ曲線を用いることもできます。