Processing

PythonでProcessing Shape Vertex beginShape()

beginShape()およびendShape()関数を使用すると、より複雑な形状を作成できる。beginShape()は形状の頂点の記録を開始し、endShape()は記録を停止する。kindパラメータの値は、与えられた頂点からどのタイプの形状を作成するかを指定する。モードが指定されていない場合、形状は任意の不規則な多角形になる。

beginShape()で使用できるパラメータは、POINTS、LINES、TRIANGLES、TRIANGLE_FAN、TRIANGLE_STRIP、QUADS、QUAD_STRIP。beginShape()関数を呼び出した後は、一連のvertex()コマンドを実行する必要がある。シェイプの描画を停止するには、endShape()を呼び出す。2つのパラメータを持つvertex()関数は2Dの位置を指定し、3つのパラメータを持つvertex()関数は3Dの位置を指定する。各図形は、現在のストロークカラーでアウトライン化され、フィルカラーで塗りつぶされる。

translate()、rotate()、scale()などの変換は、beginShape()内では機能ない。また、ellipse()やrect()などの他のシェイプをbeginShape()内で使用することもできない。

P3Dのレンダラー設定では、stroke()とfill()の設定を頂点ごとに変更できるが、P2Dとデフォルトのレンダラーでは変更できない。strokeWeight()、strokeCap()、strokeJoin()などの設定は、どのレンダラーでもbeginShape()/endShape()ブロック内では変更できない。

frameRate(30)
size(800, 100, P2D)

beginShape(POINTS)
vertex(10, 10)
vertex(90, 10)
vertex(90, 90)
vertex(10, 90)
endShape()

beginShape(LINES)
vertex(110, 10)
vertex(190, 10)
vertex(110, 10)
vertex(110, 90)
endShape()

beginShape(TRIANGLES)
vertex(210, 90)
vertex(230, 10)
vertex(250, 90)
vertex(240, 10)
vertex(260, 90)
vertex(280, 10)
endShape()

beginShape(TRIANGLE_FAN)
vertex(350, 50)
vertex(350, 10)
vertex(390, 50)
vertex(350, 90)
vertex(310, 50)
vertex(350, 10)
endShape()

beginShape(TRIANGLE_STRIP)
vertex(410, 90)
vertex(420, 10)
vertex(430, 90)
vertex(440, 10)
vertex(450, 90)
vertex(460, 10)
vertex(470, 90)
vertex(480, 10)
vertex(490, 90)
endShape()

beginShape(QUADS)
vertex(520, 10)
vertex(520, 90)
vertex(540, 90)
vertex(540, 10)
vertex(560, 10)
vertex(560, 90)
vertex(580, 90)
vertex(580, 10)
endShape()

beginShape(QUAD_STRIP)
vertex(620, 10)
vertex(620, 90)
vertex(640, 10)
vertex(640, 90)
vertex(660, 10)
vertex(660, 90)
vertex(680, 10)
vertex(680, 90)
endShape()

beginShape()
vertex(710, 10)
vertex(750, 10)
vertex(750, 50)
vertex(790, 50)
vertex(790, 90)
vertex(710, 90)
endShape(CLOSE)