Py5Shape.curve_tightness()

Modifies the quality of a Py5Shape object’s forms created with Py5Shape.curve_vertex().

Examples

example picture for curve_tightness()
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
def setup():
    py5.size(100, 100, py5.P2D)
    py5.shape(draw_curves(30, 0, "#FF0000"))
    py5.shape(draw_curves(70, 0.9, "#0000FF"))


def draw_curves(y, tightness, color):
    s = py5.create_shape()
    s.begin_shape()
    s.no_fill()
    s.stroke(color)
    s.curve_tightness(tightness)
    s.curve_vertex(0, y)
    s.curve_vertex(10, y-10)
    s.curve_vertex(20, y)
    s.curve_vertex(50, y+20)
    s.curve_vertex(80, y)
    s.curve_vertex(90, y+10)
    s.curve_vertex(100, y)
    s.end_shape()
    return s

Description

Modifies the quality of a Py5Shape object’s forms created with Py5Shape.curve_vertex(). The parameter tightness determines how the curve fits to the vertex points. The value 0.0 is the default value for tightness (this value defines the curves to be Catmull-Rom splines) and the value 1.0 connects all the points with straight lines. Values within the range -5.0 and 5.0 will deform the curves but will leave them recognizable and as values increase in magnitude, they will continue to deform.

Drawing 2D curves requires using the P2D renderer and drawing 3D curves requires using the P3D renderer. When drawing directly with Py5Shape objects, curves do not work at all using the default renderer.

This method can only be used within a Py5Shape.begin_shape() and Py5Shape.end_shape() pair.

Underlying Java method: PShape.curveTightness

Syntax

curve_tightness(tightness: float, /) -> None

Parameters

  • tightness: float - amount of deformation from the original vertices

Updated on September 11, 2021 16:51:34pm UTC