Shapes¶
-
rect
(x, y, width, height, roundness=0, draw=True)¶ Draw a rectangle.
fill(0.95, 0.75, 0) rect(10, 10, 35, 35) # see how roundness affects the shape rect(55, 10, 35, 35, 0.3) rect(10, 55, 35, 35, 0.7) rect(55, 55, 35, 35, 1)
-
rectmode
(mode=None)¶ Change the way rectangles are specified. Each mode alters the parameters necessary to draw a rectangle using the
rect()
function.There are 3 different modes available, each expecting different parameters:
CORNER mode (default) – origin point and dimensions (width and height)
x-value of the top left corner
y-value of the top left corner
width
height
CENTER mode – draw a shape centered on a point
x-coordinate of the rectangle’s center point
y-coordinate of the rectangle’s center point
width
height
CORNERS mode – origin point and destination point
x-coordinate of the top left corner
y-coordinate of the top left corner
x-coordinate of the bottom right corner
y-coordinate of the bottom right corner
So while you always specify 4 parameters to the
rect()
function, you can userectmode()
to change the function’s behaviour according to what might suit your script’s needs.nofill() strokewidth(2) rectmode(CORNER) # default, red stroke(0.8, 0.1, 0.1) rect(25, 25, 40, 40) rectmode(CENTER) # green stroke(0.1, 0.8, 0.1) rect(25, 25, 40, 40) rectmode(CORNERS) # blue stroke(0.1, 0.1, 0.8) rect(25, 25, 40, 40)
-
ellipse
(x, y, width, height, draw=True)¶ Draw an ellipse by specifying the coordinates of its top left origin point, along with its width and height dimensions. See
ellipsemode()
for other ways of drawing ellipses.ellipse(10, 20, 30, 60) ellipse(50, 30, 40, 40) # circle
This command is identical to the
oval()
command from Nodebox, which is also supported and works the same.
-
ellipsemode
(mode=None)¶ Change the way ellipses are specified. Each mode alters the parameters necessary to draw an ellipse using the
ellipse()
function.It works exactly the same as the
rectmode()
command.nofill() strokewidth(2) ellipsemode(CORNER) # default, red stroke(0.8, 0.1, 0.1) ellipse(25, 25, 40, 40) ellipsemode(CENTER) # green stroke(0.1, 0.8, 0.1) ellipse(25, 25, 40, 40) ellipsemode(CORNERS) # blue stroke(0.1, 0.1, 0.8) ellipse(25, 25, 40, 40)
-
line
(x1, y1, x2, y2, draw=True)¶ Draw a line from (x1,y1) to (x2,y2).
stroke(0.5) strokewidth(5) line(20, 20, 80, 80) line(20, 80, 80, 20) line(50, 20, 50, 80)
-
arc
(x, y, radius, angle1, angle2, type=CHORD, draw=True)¶ Draws a circular arc with center at (x,y) between two angles.
The default arc type (CHORD) only draws the contour of the circle arc section. The PIE arc type will close the path connecting the arc points to its center, as a pie-chart-like shape.
nofill() stroke(.2) autoclosepath(False) arc(50, 50, 40, 0, 180) arc(50, 50, 30, -90, 0) stroke('#ff6633') arc(50, 50, 20, 0, 270, type=PIE)
-
arrow
(x, y, width, type=NORMAL, draw=True)¶ Draw an arrow with its tip at (x,y) and the specified width. Its type can be NORMAL (default) or FORTYFIVE.
arrow(50, 40, 40) arrow(90, 40, 40, FORTYFIVE)
-
star
(x, y, points=20, outer=100, inner=50, draw=True)¶ Draw a star-like polygon with its center at (x,y).
Following the coordinates, this command expects the number of points, the outer radius of the star shape, and finally the inner radius.
star(25, 25, 5, 20, 10) # top left star(75, 25, 10, 20, 3) # top right star(25, 75, 20, 20, 17) # bottom left star(75, 75, 40, 20, 19) # bottom right