Skip to main content

hobby

hobby() 

Draws a Hobby curve through a set of points.

hobby((0, 0), (1, 1), (2, -1), (3, 0), omega: 0, stroke: blue)
hobby((0, 0), (1, 1), (2, -1), (3, 0), omega: 1, stroke: red)

..pts-style:

Positional arguments are the coordinates to use to draw the curve with, a minimum of two is required. Named arguments are for styling.

tb:

Default: auto

Incoming tension at pts.at(n+1) from pts.at(n) to pts.at(n+1). The number given must be one less than the number of points.

ta:

Default: auto

Outgoing tension at pts.at(n) from pts.at(n) to pts.at(n+1). The number given must be one less than the number of points.

close:

Default: false

Closes the curve with a proper smooth curve between the start and end of the curve.

Styling

Root hobby

Supports marks.

omega:

Default: (1, 1)

A tuple of floats that describe how curly the curve should be at each endpoint. When the curl is close to zero, the spline approaches a straight line near the endpoints. When the curl is close to one, it approaches a circular arc.

Anchors

Supports path anchors.

  • pt-n: The nth given position (0 indexed, so "pt-0" is equal to "start")