Skip to main content

Catmull-Rom

Create an interpolated curve from a set of points

Holly Conrad Smith avatar
Written by Holly Conrad Smith
Updated over 3 weeks ago

A Catmull-Rom spline is a type of smooth curve that connects a series of points. It creates a flowing, natural-looking curve that actually passes through each control point in a polyline.

Category: Geometric Operations

Kind: Operation

Tags: Interpolate, Curve, Smooth

Description: Create an interpolated curve from a set of points

Inputs

Name

Abbreviation

Type

Access

Description

Polyline

P

Cartesian

Item

The points to interpolate

Smoothness

S

Number

Item

The smoothness of the curve

Resolution

R

Number

Item

The resolution of the curve

Periodic

P

Boolean

Item

Whether the curve is periodic

Outputs

Name

Abbreviation

Type

Access

Description

Polyline

P

Cartesian

Item

The interpolated curve

How to

  1. Input a polyline feature

  2. Set the smoothness

    1. Type a value in the box

    2. Or input a number result from another node

  3. Set the resolution

    1. Type a value in the box

    2. Or input a number result from another node

Example

Rendered curved line

Feature Selected

Explanation

Resolution:

  • The number of segments (or sample points) calculated between each pair of control points

  • Higher resolution = more points along the curve = smoother appearance when rendered

  • Example: resolution of 10 means 10 line segments between each control point pair

  • This is purely a rendering/tessellation parameter - it doesn't change the mathematical curve itself

Smoothness (or Tension/Tightness):

  • Controls how tightly the curve follows the control points vs. how "loose" or "smooth" it is

  • Lower smoothness (tighter): Curve hugs the control points more closely, sharper turns

  • Higher smoothness (looser): Curve takes gentler, more gradual paths between points

  • This actually changes the shape of the curve itself

Practical tips:

  • Start with resolution around 10-20 for most uses; increase if you see visible angular edges

  • For smoothness, try values around 0.5 (if 0-1 scale) as a starting point

  • If your curve has unwanted loops or self-intersections, try reducing smoothness

  • If it looks too angular or doesn't flow naturally, increase smoothness

Did this answer your question?