案例:Three 几何体建模4贝塞尔曲线     状态:可编辑再运行    进入竖版
 运行结果 
x
 
1
<!DOCTYPE html>
2
<html>
3
<head>
4
  <meta charset="UTF-8">
5
  <style>
6
    body {
7
      margin: 0;
8
      overflow: hidden;
9
      /* 隐藏body窗口区域滚动条 */
10
    }
11
  </style>
12
  <!--引入three.js三维引擎-->
13
  <script src="/js/threejs/threer92.js"></script>
14
  <script src="/example/threejs/solarsystem/files/OrbitControls.js"></script>
15
</head>
16
17
<body>
18
  <script>
19
    //创建场景
20
    var scene = new THREE.Scene();
21
22
    var geometry = new THREE.BufferGeometry(); //声明一个几何体对象Geometry
23
24
      
25
      var p1 = new THREE.Vector3(-80, 0, 0);
26
var p2 = new THREE.Vector3(-40, 100, 0);
27
var p3 = new THREE.Vector3(40, 100, 0);
28
var p4 = new THREE.Vector3(80, 0, 0);
29
// 三维三次贝赛尔曲线
30
var curve = new THREE.CubicBezierCurve3(p1, p2, p3, p4);
31
      
32
      
33
//getPoints是基类Curve的方法,返回一个vector3对象作为元素组成的数组
34
var points = curve.getPoints(100); //分段数100,返回101个顶点
35
// setFromPoints方法从points中提取数据改变几何体的顶点属性vertices
36
geometry.setFromPoints(points);
37
//材质对象
38
var material = new THREE.LineBasicMaterial({
39
  color: 0x000000
40
});
41
//线条模型对象
42
var line = new THREE.Line(geometry, material);
43
scene.add(line); //线条对象添加到场景中
44
      
45
      
46
    /**
47
     * 光源设置
48
     */