Processing

PythonでProcessing Shape Vertex beginContour()/endContour()

beginContour()とendContour()を使って、図形の中に負の図形を作ることができる。beginContour()ではシェイプの頂点の記録を開始し、endContour()では記録を停止する。これらの関数は、beginShape()/endShape()のペアの中にのみ存在し、P2DとP3Dのレンダラーでのみ動作する。

translate()、rotate()、scale()などのトランスフォームは、beginContour()/endContour()のペアの中では機能しない。また、ellipse()やrect()などの他の形状を使用することもできない。

size(100, 100, P2D)
stroke(255, 0, 0)
translate(50, 50)

rect1 = 30
rect2 = 20

beginShape()

vertex(-rect1, -rect1)
vertex(rect1, -rect1)
vertex(rect1, rect1)
vertex(-rect1, rect1)

beginContour()

vertex(-rect2, -rect2)
vertex(rect2, -rect2)
vertex(rect2, rect2)
vertex(-rect2, rect2)

endContour()

endShape(CLOSE)