Create a smooth 3D spline curve from a series of points using the Catmull-Rom algorithm.
// 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);
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.
The array of Vector3 points that define the curve. It needs at least two entries.
The curve will loop back onto itself when this is true.
Possible values are "centripetal"
, "chordal"
, and "catmullrom"
.
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.