1.setFromPoints

.setFromPoints()是几何体BufferGeometry的一个方法,通过该方法可以把数组中坐标数据提取出来赋值给几何体。具体说就是把数组里面坐标数据提取出来,赋值给geometry.attributes.position属性

2. 2D曲线

1. 直线-LineCurve

2. 圆弧-ArcCurve

3.椭圆-EllipseCurve

4.二维样条曲线-SplineCurve

5.二维贝塞尔曲线二次QuadraticBezierCurve

6.二维贝塞尔曲线三次CubicBezierCurve

3.3D曲线

1.直线-LineCurve3

2.三维样条曲线-CatmullRomCurve3

5.三维贝塞尔曲线二次QuadraticBezierCurve3

6.三维贝塞尔曲线三次CubicBezierCurve3

4.代码

    const p1 = new THREE.Vector3(0, 0, 0);
    const p2 = new THREE.Vector3(5, 10, 0);
    const p3 = new THREE.Vector3(10, 0, 0);
    const curve = new THREE.QuadraticBezierCurve3(p1, p2, p3);
    const points = curve.getPoints(40);
    const geometry = new THREE.BufferGeometry();
    geometry.setFromPoints(points);
    const material = new THREE.LineBasicMaterial({
      color: 0xff0000,
    });
    const line = new THREE.Line(geometry, material);
    scene.add(line);
    const pointGeometry = new THREE.BufferGeometry();
    pointGeometry.setFromPoints([p1, p2, p3]);
    const pointMaterial = new THREE.PointsMaterial({
      color: 0x00ffff,
      size: 0.5
    });
    const pointsMesh = new THREE.Points(pointGeometry, pointMaterial);
    scene.add(pointsMesh);
View Code

 

posted on 2026-01-25 21:41  苏荷酒吧  阅读(1)  评论(0)    收藏  举报