案例:Three 几何体建模5U型组合     状态:可编辑再运行    进入竖版
 运行结果 
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(); //声明一个几何体对象
23
// 绘制一个U型轮廓
24
var R = 80;//圆弧半径
25
var arc = new THREE.ArcCurve(0, 0, R, 0, Math.PI, true);
26
// 半圆弧的一个端点作为直线的一个端点
27
var line1 = new THREE.LineCurve(new THREE.Vector2(R, 200, 0), new THREE.Vector2(R, 0, 0));
28
var line2 = new THREE.LineCurve(new THREE.Vector2(-R, 0, 0), new THREE.Vector2(-R, 200, 0));
29
// 创建组合曲线对象CurvePath
30
var CurvePath = new THREE.CurvePath();
31
// 把多个线条插入到CurvePath中
32
CurvePath.curves.push(line1, arc, line2);
33
//分段数200
34
var points = CurvePath.getPoints(200);
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
    //点光源