Reference for Processing version 1.5. If you have a previous version, use the reference included with your software. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Javadoc.

Name

### curve()

Examples

    noFill();
    stroke(255, 102, 0);
    curve(5, 26, 5, 26, 73, 24, 73, 61);
    stroke(0);
    curve(5, 26, 73, 24, 73, 61, 15, 65);
    stroke(255, 102, 0);
    curve(73, 24, 73, 61, 15, 65, 15, 65);

Description

Draws a curved line on the screen. The first and second parameters specify the beginning control point and the last two parameters specify the ending control point. The middle parameters specify the start and stop of the curve. Longer curves can be created by putting a series of curve() functions together or using curveVertex(). An additional function called curveTightness() provides control for the visual quality of the curve. The curve() function is an implementation of Catmull-Rom splines. Using the 3D version of requires rendering with P3D or OPENGL (see the Environment reference for more information).

Syntax

    curve(x1, y1, x2, y2, x3, y3, x4, y4);
    curve(x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4);

Parameters

x1, y1, z1 | int or float: coordinates for the beginning control point
x2, y2, z2 | int or float: coordinates for the first point
x3, y3, z3 | int or float: coordinates for the second point
x4, y4, z4 | int or float: coordinates for the ending control point

Returns | None
Usage | Web & Application
Related | curveVertex() curveTightness() bezier()

Updated on August 30, 2010 04:29:39pm EDT