案例:Three 几何体建模3曲线     状态:可编辑再运行    进入竖版
 运行结果 
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
// 三维样条曲线  Catmull-Rom算法
24
var curve = new THREE.CatmullRomCurve3([
25
  new THREE.Vector3(-50, 20, 90),
26
  new THREE.Vector3(-10, 40, 40),
27
  new THREE.Vector3(0, 0, 0),
28
  new THREE.Vector3(60, -60, 0),
29
  new THREE.Vector3(70, 0, 80)
30
]);
31
//getPoints是基类Curve的方法,返回一个vector3对象作为元素组成的数组
32
var points = curve.getPoints(100); //分段数100,返回101个顶点
33
// setFromPoints方法从points中提取数据改变几何体的顶点属性vertices
34
geometry.setFromPoints(points);
35
//材质对象
36
var material = new THREE.LineBasicMaterial({
37
  color: 0x000000
38
});
39
//线条模型对象
40
var line = new THREE.Line(geometry, material);
41
scene.add(line); //线条对象添加到场景中
42
      
43
      
44
    /**
45
     * 光源设置
46
     */
47
    //点光源
48
    var point = new THREE.PointLight(0xffffff);