Create a smooth 3D spline curve from a series of points using the Catmull-Rom algorithm.

Code Example

// create a closed wavey loop const curve = new v3d.CatmullRomCurve3([ new v3d.Vector3(-10, 0, 10), new v3d.Vector3(-5, 5, 5), new v3d.Vector3(0, 0, 0), new v3d.Vector3(5, -5, 5), new v3d.Vector3(10, 0, 10) ]); const points = curve.getPoints(50); const geometry = new v3d.BufferGeometry().setFromPoints(points); const material = new v3d.LineBasicMaterial({ color: 0xff0000 }); // create the final object to add to the scene const curveObject = new v3d.Line(geometry, material);


CatmullRomCurve3(points : Array, closed : Boolean, curveType : String, tension : Float)

points – An array of Vector3 points
closed – Whether the curve is closed. Default is false.
curveType – Type of the curve. Default is "centripetal".
tension – Tension of the curve. Default is 0.5.


See the base Curve class for common properties.

.points : Array

The array of Vector3 points that define the curve. It needs at least two entries.

.closed : Boolean

The curve will loop back onto itself when this is true.

.curveType : String

Possible values are "centripetal", "chordal", and "catmullrom".

.tension : Float

When .curveType is "catmullrom", defines catmullrom's tension.


See the base Curve class for common methods.


For more info on how to obtain the source code of this module see this page.