Curve.getPoints()
方法返回一组沿路径等间距的点,这些点用于从起点到终点绘制曲线。可以用于渲染、建模等应用。
Curve.getPoints(divisions);
返回一个包含等间距点的数组。
var curve = new THREE.EllipseCurve(
0, 0, // x, y
2, 1, // xRadius, yRadius
0, 2 * Math.PI, // aStartAngle, aEndAngle
false, // aClockwise
0 // aRotation
);
var points = curve.getPoints(50);
var geometry = new THREE.BufferGeometry().setFromPoints(points);
var material = new THREE.LineBasicMaterial({ color: 0xff0000 });
var ellipse = new THREE.Line(geometry, material);
scene.add(ellipse);
在上述示例中,我们先创建了一个EllipseCurve
对象,接着调用getPoints(50)
方法,生成了包含50个等间距点的数组。然后,使用这个点数组创建了一个Line
对象,并添加到场景中。
Curve.getPoints()
方法只能用于这些继承THREE.Curve
类的对象:
THREE.ArcCurve
THREE.CatmullRomCurve3
THREE.CubicBezierCurve
THREE.EllipseCurve
THREE.LineCurve
THREE.QuadraticBezierCurve
THREE.SplineCurve
THREE.Curve.DEFAULT_POINTS
属性访问。
THREE.ArcCurve.DEFAULT_POINTS
: 12;THREE.CatmullRomCurve3.DEFAULT_POINTS
: 5;THREE.CubicBezierCurve.DEFAULT_POINTS
: 20;THREE.EllipseCurve.DEFAULT_POINTS
: 36;THREE.LineCurve.DEFAULT_POINTS
: 2;THREE.QuadraticBezierCurve.DEFAULT_POINTS
: 12;THREE.SplineCurve.DEFAULT_POINTS
: 5;https://threejs.org/docs/#api/en/extras/core/Curve.getPoints