<< Chapter < Page Chapter >> Page >
Elements of 2D and 3D graphic composition (including curves) for the Processing language and environment.

Graphic primitives

In Processing, we can arrange points, lines, surfaces, and volumes (objects in 0, 1, 2, and 3 dimensions, respectively) ina 3D space or, where this makes sense in the 2D space of the image window. The number of parameters of the object primitiveswill determine if these objects have to be positioned in the X-Y or in the X-Y-Z space.

0d

Points

The point() is the simplest of the graphic primitives. When invoked with two coordinate parameters, itpositions a point in the X-Y space. When invoked with three coordinate parameters, it positions a point in the X-Y-Zspace. A point, in geometric sense, does not have dimension, but it can be assigned an occupation in pixels and a color, bythe functions strokeWeight() and stroke() , respectively. For example, the simple Processing sketch stroke(180,0,0); strokeWeight(10);point(60,60); draws a dot in the image window.

Collections of points

A set of points can be grouped into a single object (cloud of points) by the delimiters beginShape(POINTS) and endShape() . Between them each point has to be specified with the vertex() function. Transformations of rotation, translation, and scaling do not apply to the inside of composite objectsdescribed with beginShape() and endShape() , but they can precede the definition of a composite object and apply to the whole.

1d

Straight lines

The line() draws a line segment between two points in the plane or the 3D space, with width and color thatcan be set with strokeWeight() and stroke() , respectively.

Collections of segments

A set of segments can be defined, as we saw for points, by the delimiters beginShape() and endShape() . Between them, vertices are listed by calls to the function vertex() . Using the invocation beginShape(LINES) the vertices are taken in couples, each identifying a segment. With the argument-freeinvocation beginShape() the vertices, taken one after the other, define a polygonal line. With theclosure endShape(CLOSE) the line is closed on itself by linking the first and lastvertices. The color of such polygon can be set by using the fill() function or, conversely, left equal to the background color with the noFill() .

Curves

The function curve() , when called with eight parameters, draws a curve on the image plane, with initial and final pointsdetermined, respectively, by the second and third couple of coordinates passed as arguments. The first and last couple ofcoordinates define two control points for the curve, which is an interpolating spline, thus passing for all four points. In Processing, however, only the curve segment between the intermediate points is visualized.
Spline
Piecewise-polynomial curve, with polynomials connected with continuity at the knots
See Introduction to Splines and, for an introduction to the specific kind of splines (Catmull-Rom)used in Processing, the term spline in Wikipedia.
In order to have an arbitrary number of control points we must use the function curveVertex() to specify each point in the block delimited by beginShape() and endShape() .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Media processing in processing. OpenStax CNX. Nov 10, 2010 Download for free at http://cnx.org/content/col10268/1.14
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Media processing in processing' conversation and receive update notifications?

Ask