Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
fktz008
three.js
提交
776d6181
T
three.js
项目概览
fktz008
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
776d6181
编写于
2月 25, 2012
作者:
A
alteredq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added THREE.Math.sign
上级
c2c6080e
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
11 addition
and
5 deletion
+11
-5
build/Three.js
build/Three.js
+1
-1
build/custom/ThreeCanvas.js
build/custom/ThreeCanvas.js
+1
-1
build/custom/ThreeDOM.js
build/custom/ThreeDOM.js
+1
-1
build/custom/ThreeSVG.js
build/custom/ThreeSVG.js
+1
-1
build/custom/ThreeWebGL.js
build/custom/ThreeWebGL.js
+1
-1
src/core/Math.js
src/core/Math.js
+6
-0
未找到文件。
build/Three.js
浏览文件 @
776d6181
...
...
@@ -29,7 +29,7 @@ THREE.Face4&&(g=E.multiplyVector3(g.copy(u[b.a].position)),e=E.multiplyVector3(e
THREE
.
Rectangle
=
function
(){
function
a
(){
g
=
d
-
b
;
e
=
f
-
c
}
var
b
,
c
,
d
,
f
,
g
,
e
,
h
=!
0
;
this
.
getX
=
function
(){
return
b
};
this
.
getY
=
function
(){
return
c
};
this
.
getWidth
=
function
(){
return
g
};
this
.
getHeight
=
function
(){
return
e
};
this
.
getLeft
=
function
(){
return
b
};
this
.
getTop
=
function
(){
return
c
};
this
.
getRight
=
function
(){
return
d
};
this
.
getBottom
=
function
(){
return
f
};
this
.
set
=
function
(
g
,
e
,
k
,
q
){
h
=!
1
;
b
=
g
;
c
=
e
;
d
=
k
;
f
=
q
;
a
()};
this
.
addPoint
=
function
(
g
,
e
){
h
?(
h
=!
1
,
b
=
g
,
c
=
e
,
d
=
g
,
f
=
e
):(
b
=
b
<
g
?
b
:
g
,
c
=
c
<
e
?
c
:
e
,
d
=
d
>
g
?
d
:
g
,
f
=
f
>
e
?
f
:
e
);
a
()};
this
.
add3Points
=
function
(
g
,
e
,
k
,
q
,
m
,
o
){
h
?(
h
=!
1
,
b
=
g
<
k
?
g
<
m
?
g
:
m
:
k
<
m
?
k
:
m
,
c
=
e
<
q
?
e
<
o
?
e
:
o
:
q
<
o
?
q
:
o
,
d
=
g
>
k
?
g
>
m
?
g
:
m
:
k
>
m
?
k
:
m
,
f
=
e
>
q
?
e
>
o
?
e
:
o
:
q
>
o
?
q
:
o
):(
b
=
g
<
k
?
g
<
m
?
g
<
b
?
g
:
b
:
m
<
b
?
m
:
b
:
k
<
m
?
k
<
b
?
k
:
b
:
m
<
b
?
m
:
b
,
c
=
e
<
q
?
e
<
o
?
e
<
c
?
e
:
c
:
o
<
c
?
o
:
c
:
q
<
o
?
q
<
c
?
q
:
c
:
o
<
c
?
o
:
c
,
d
=
g
>
k
?
g
>
m
?
g
>
d
?
g
:
d
:
m
>
d
?
m
:
d
:
k
>
m
?
k
>
d
?
k
:
d
:
m
>
d
?
m
:
d
,
f
=
e
>
q
?
e
>
o
?
e
>
f
?
e
:
f
:
o
>
f
?
o
:
f
:
q
>
o
?
q
>
f
?
q
:
f
:
o
>
f
?
o
:
f
);
a
()};
this
.
addRectangle
=
function
(
g
){
h
?(
h
=!
1
,
b
=
g
.
getLeft
(),
c
=
g
.
getTop
(),
d
=
g
.
getRight
(),
f
=
g
.
getBottom
()):(
b
=
b
<
g
.
getLeft
()?
b
:
g
.
getLeft
(),
c
=
c
<
g
.
getTop
()?
c
:
g
.
getTop
(),
d
=
d
>
g
.
getRight
()?
d
:
g
.
getRight
(),
f
=
f
>
g
.
getBottom
()?
f
:
g
.
getBottom
());
a
()};
this
.
inflate
=
function
(
g
){
b
-=
g
;
c
-=
g
;
d
+=
g
;
f
+=
g
;
a
()};
this
.
minSelf
=
function
(
g
){
b
=
b
>
g
.
getLeft
()?
b
:
g
.
getLeft
();
c
=
c
>
g
.
getTop
()?
c
:
g
.
getTop
();
d
=
d
<
g
.
getRight
()?
d
:
g
.
getRight
();
f
=
f
<
g
.
getBottom
()?
f
:
g
.
getBottom
();
a
()};
this
.
intersects
=
function
(
a
){
return
d
<
a
.
getLeft
()
||
b
>
a
.
getRight
()
||
f
<
a
.
getTop
()
||
c
>
a
.
getBottom
()?
!
1
:
!
0
};
this
.
empty
=
function
(){
h
=!
0
;
f
=
d
=
c
=
b
=
0
;
a
()};
this
.
isEmpty
=
function
(){
return
h
}};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
f
){
return
d
+
(
a
-
b
)
*
(
f
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
f
){
return
d
+
(
a
-
b
)
*
(
f
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}
,
sign
:
function
(
a
){
return
0
>
a
?
-
1
:
0
<
a
?
1
:
0
}
};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Matrix3
.
prototype
=
{
constructor
:
THREE
.
Matrix3
,
transpose
:
function
(){
var
a
,
b
=
this
.
m
;
a
=
b
[
1
];
b
[
1
]
=
b
[
3
];
b
[
3
]
=
a
;
a
=
b
[
2
];
b
[
2
]
=
b
[
6
];
b
[
6
]
=
a
;
a
=
b
[
5
];
b
[
5
]
=
b
[
7
];
b
[
7
]
=
a
;
return
this
},
transposeIntoArray
:
function
(
a
){
var
b
=
this
.
m
;
a
[
0
]
=
b
[
0
];
a
[
1
]
=
b
[
3
];
a
[
2
]
=
b
[
6
];
a
[
3
]
=
b
[
1
];
a
[
4
]
=
b
[
4
];
a
[
5
]
=
b
[
7
];
a
[
6
]
=
b
[
2
];
a
[
7
]
=
b
[
5
];
a
[
8
]
=
b
[
8
];
return
this
}};
THREE
.
Matrix4
=
function
(
a
,
b
,
c
,
d
,
f
,
g
,
e
,
h
,
i
,
j
,
k
,
q
,
m
,
o
,
p
,
n
){
this
.
set
(
void
0
!==
a
?
a
:
1
,
b
||
0
,
c
||
0
,
d
||
0
,
f
||
0
,
void
0
!==
g
?
g
:
1
,
e
||
0
,
h
||
0
,
i
||
0
,
j
||
0
,
void
0
!==
k
?
k
:
1
,
q
||
0
,
m
||
0
,
o
||
0
,
p
||
0
,
void
0
!==
n
?
n
:
1
);
this
.
flat
=
Array
(
16
);
this
.
m33
=
new
THREE
.
Matrix3
};
THREE
.
Matrix4
.
prototype
=
{
constructor
:
THREE
.
Matrix4
,
set
:
function
(
a
,
b
,
c
,
d
,
f
,
g
,
e
,
h
,
i
,
j
,
k
,
q
,
m
,
o
,
p
,
n
){
this
.
n11
=
a
;
this
.
n12
=
b
;
this
.
n13
=
c
;
this
.
n14
=
d
;
this
.
n21
=
f
;
this
.
n22
=
g
;
this
.
n23
=
e
;
this
.
n24
=
h
;
this
.
n31
=
i
;
this
.
n32
=
j
;
this
.
n33
=
k
;
this
.
n34
=
q
;
this
.
n41
=
m
;
this
.
n42
=
o
;
this
.
n43
=
p
;
this
.
n44
=
n
;
return
this
},
identity
:
function
(){
this
.
set
(
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
);
return
this
},
copy
:
function
(
a
){
this
.
set
(
a
.
n11
,
a
.
n12
,
a
.
n13
,
a
.
n14
,
a
.
n21
,
a
.
n22
,
a
.
n23
,
a
.
n24
,
a
.
n31
,
a
.
n32
,
a
.
n33
,
a
.
n34
,
a
.
n41
,
a
.
n42
,
a
.
n43
,
a
.
n44
);
return
this
},
lookAt
:
function
(
a
,
...
...
build/custom/ThreeCanvas.js
浏览文件 @
776d6181
...
...
@@ -28,7 +28,7 @@ THREE.Face4&&(f=u.multiplyVector3(f.copy(E[b.a].position)),g=u.multiplyVector3(g
THREE
.
Rectangle
=
function
(){
function
a
(){
f
=
d
-
b
;
g
=
e
-
c
}
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=!
0
;
this
.
getX
=
function
(){
return
b
};
this
.
getY
=
function
(){
return
c
};
this
.
getWidth
=
function
(){
return
f
};
this
.
getHeight
=
function
(){
return
g
};
this
.
getLeft
=
function
(){
return
b
};
this
.
getTop
=
function
(){
return
c
};
this
.
getRight
=
function
(){
return
d
};
this
.
getBottom
=
function
(){
return
e
};
this
.
set
=
function
(
f
,
g
,
i
,
o
){
h
=!
1
;
b
=
f
;
c
=
g
;
d
=
i
;
e
=
o
;
a
()};
this
.
addPoint
=
function
(
f
,
g
){
h
?(
h
=!
1
,
b
=
f
,
c
=
g
,
d
=
f
,
e
=
g
):(
b
=
b
<
f
?
b
:
f
,
c
=
c
<
g
?
c
:
g
,
d
=
d
>
f
?
d
:
f
,
e
=
e
>
g
?
e
:
g
);
a
()};
this
.
add3Points
=
function
(
f
,
g
,
i
,
o
,
m
,
n
){
h
?(
h
=!
1
,
b
=
f
<
i
?
f
<
m
?
f
:
m
:
i
<
m
?
i
:
m
,
c
=
g
<
o
?
g
<
n
?
g
:
n
:
o
<
n
?
o
:
n
,
d
=
f
>
i
?
f
>
m
?
f
:
m
:
i
>
m
?
i
:
m
,
e
=
g
>
o
?
g
>
n
?
g
:
n
:
o
>
n
?
o
:
n
):(
b
=
f
<
i
?
f
<
m
?
f
<
b
?
f
:
b
:
m
<
b
?
m
:
b
:
i
<
m
?
i
<
b
?
i
:
b
:
m
<
b
?
m
:
b
,
c
=
g
<
o
?
g
<
n
?
g
<
c
?
g
:
c
:
n
<
c
?
n
:
c
:
o
<
n
?
o
<
c
?
o
:
c
:
n
<
c
?
n
:
c
,
d
=
f
>
i
?
f
>
m
?
f
>
d
?
f
:
d
:
m
>
d
?
m
:
d
:
i
>
m
?
i
>
d
?
i
:
d
:
m
>
d
?
m
:
d
,
e
=
g
>
o
?
g
>
n
?
g
>
e
?
g
:
e
:
n
>
e
?
n
:
e
:
o
>
n
?
o
>
e
?
o
:
e
:
n
>
e
?
n
:
e
);
a
()};
this
.
addRectangle
=
function
(
f
){
h
?(
h
=!
1
,
b
=
f
.
getLeft
(),
c
=
f
.
getTop
(),
d
=
f
.
getRight
(),
e
=
f
.
getBottom
()):(
b
=
b
<
f
.
getLeft
()?
b
:
f
.
getLeft
(),
c
=
c
<
f
.
getTop
()?
c
:
f
.
getTop
(),
d
=
d
>
f
.
getRight
()?
d
:
f
.
getRight
(),
e
=
e
>
f
.
getBottom
()?
e
:
f
.
getBottom
());
a
()};
this
.
inflate
=
function
(
f
){
b
-=
f
;
c
-=
f
;
d
+=
f
;
e
+=
f
;
a
()};
this
.
minSelf
=
function
(
f
){
b
=
b
>
f
.
getLeft
()?
b
:
f
.
getLeft
();
c
=
c
>
f
.
getTop
()?
c
:
f
.
getTop
();
d
=
d
<
f
.
getRight
()?
d
:
f
.
getRight
();
e
=
e
<
f
.
getBottom
()?
e
:
f
.
getBottom
();
a
()};
this
.
intersects
=
function
(
a
){
return
d
<
a
.
getLeft
()
||
b
>
a
.
getRight
()
||
e
<
a
.
getTop
()
||
c
>
a
.
getBottom
()?
!
1
:
!
0
};
this
.
empty
=
function
(){
h
=!
0
;
e
=
d
=
c
=
b
=
0
;
a
()};
this
.
isEmpty
=
function
(){
return
h
}};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}
,
sign
:
function
(
a
){
return
0
>
a
?
-
1
:
0
<
a
?
1
:
0
}
};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Matrix3
.
prototype
=
{
constructor
:
THREE
.
Matrix3
,
transpose
:
function
(){
var
a
,
b
=
this
.
m
;
a
=
b
[
1
];
b
[
1
]
=
b
[
3
];
b
[
3
]
=
a
;
a
=
b
[
2
];
b
[
2
]
=
b
[
6
];
b
[
6
]
=
a
;
a
=
b
[
5
];
b
[
5
]
=
b
[
7
];
b
[
7
]
=
a
;
return
this
},
transposeIntoArray
:
function
(
a
){
var
b
=
this
.
m
;
a
[
0
]
=
b
[
0
];
a
[
1
]
=
b
[
3
];
a
[
2
]
=
b
[
6
];
a
[
3
]
=
b
[
1
];
a
[
4
]
=
b
[
4
];
a
[
5
]
=
b
[
7
];
a
[
6
]
=
b
[
2
];
a
[
7
]
=
b
[
5
];
a
[
8
]
=
b
[
8
];
return
this
}};
THREE
.
Matrix4
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
l
,
j
,
i
,
o
,
m
,
n
,
p
,
k
){
this
.
set
(
void
0
!==
a
?
a
:
1
,
b
||
0
,
c
||
0
,
d
||
0
,
e
||
0
,
void
0
!==
f
?
f
:
1
,
g
||
0
,
h
||
0
,
l
||
0
,
j
||
0
,
void
0
!==
i
?
i
:
1
,
o
||
0
,
m
||
0
,
n
||
0
,
p
||
0
,
void
0
!==
k
?
k
:
1
);
this
.
flat
=
Array
(
16
);
this
.
m33
=
new
THREE
.
Matrix3
};
THREE
.
Matrix4
.
prototype
=
{
constructor
:
THREE
.
Matrix4
,
set
:
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
l
,
j
,
i
,
o
,
m
,
n
,
p
,
k
){
this
.
n11
=
a
;
this
.
n12
=
b
;
this
.
n13
=
c
;
this
.
n14
=
d
;
this
.
n21
=
e
;
this
.
n22
=
f
;
this
.
n23
=
g
;
this
.
n24
=
h
;
this
.
n31
=
l
;
this
.
n32
=
j
;
this
.
n33
=
i
;
this
.
n34
=
o
;
this
.
n41
=
m
;
this
.
n42
=
n
;
this
.
n43
=
p
;
this
.
n44
=
k
;
return
this
},
identity
:
function
(){
this
.
set
(
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
);
return
this
},
copy
:
function
(
a
){
this
.
set
(
a
.
n11
,
a
.
n12
,
a
.
n13
,
a
.
n14
,
a
.
n21
,
a
.
n22
,
a
.
n23
,
a
.
n24
,
a
.
n31
,
a
.
n32
,
a
.
n33
,
a
.
n34
,
a
.
n41
,
a
.
n42
,
a
.
n43
,
a
.
n44
);
return
this
},
lookAt
:
function
(
a
,
...
...
build/custom/ThreeDOM.js
浏览文件 @
776d6181
...
...
@@ -28,7 +28,7 @@ THREE.Face4&&(f=v.multiplyVector3(f.copy(y[b.a].position)),g=v.multiplyVector3(g
THREE
.
Rectangle
=
function
(){
function
a
(){
f
=
d
-
b
;
g
=
e
-
c
}
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=!
0
;
this
.
getX
=
function
(){
return
b
};
this
.
getY
=
function
(){
return
c
};
this
.
getWidth
=
function
(){
return
f
};
this
.
getHeight
=
function
(){
return
g
};
this
.
getLeft
=
function
(){
return
b
};
this
.
getTop
=
function
(){
return
c
};
this
.
getRight
=
function
(){
return
d
};
this
.
getBottom
=
function
(){
return
e
};
this
.
set
=
function
(
f
,
g
,
j
,
k
){
h
=!
1
;
b
=
f
;
c
=
g
;
d
=
j
;
e
=
k
;
a
()};
this
.
addPoint
=
function
(
f
,
g
){
h
?(
h
=!
1
,
b
=
f
,
c
=
g
,
d
=
f
,
e
=
g
):(
b
=
b
<
f
?
b
:
f
,
c
=
c
<
g
?
c
:
g
,
d
=
d
>
f
?
d
:
f
,
e
=
e
>
g
?
e
:
g
);
a
()};
this
.
add3Points
=
function
(
f
,
g
,
j
,
k
,
n
,
m
){
h
?(
h
=!
1
,
b
=
f
<
j
?
f
<
n
?
f
:
n
:
j
<
n
?
j
:
n
,
c
=
g
<
k
?
g
<
m
?
g
:
m
:
k
<
m
?
k
:
m
,
d
=
f
>
j
?
f
>
n
?
f
:
n
:
j
>
n
?
j
:
n
,
e
=
g
>
k
?
g
>
m
?
g
:
m
:
k
>
m
?
k
:
m
):(
b
=
f
<
j
?
f
<
n
?
f
<
b
?
f
:
b
:
n
<
b
?
n
:
b
:
j
<
n
?
j
<
b
?
j
:
b
:
n
<
b
?
n
:
b
,
c
=
g
<
k
?
g
<
m
?
g
<
c
?
g
:
c
:
m
<
c
?
m
:
c
:
k
<
m
?
k
<
c
?
k
:
c
:
m
<
c
?
m
:
c
,
d
=
f
>
j
?
f
>
n
?
f
>
d
?
f
:
d
:
n
>
d
?
n
:
d
:
j
>
n
?
j
>
d
?
j
:
d
:
n
>
d
?
n
:
d
,
e
=
g
>
k
?
g
>
m
?
g
>
e
?
g
:
e
:
m
>
e
?
m
:
e
:
k
>
m
?
k
>
e
?
k
:
e
:
m
>
e
?
m
:
e
);
a
()};
this
.
addRectangle
=
function
(
f
){
h
?(
h
=!
1
,
b
=
f
.
getLeft
(),
c
=
f
.
getTop
(),
d
=
f
.
getRight
(),
e
=
f
.
getBottom
()):(
b
=
b
<
f
.
getLeft
()?
b
:
f
.
getLeft
(),
c
=
c
<
f
.
getTop
()?
c
:
f
.
getTop
(),
d
=
d
>
f
.
getRight
()?
d
:
f
.
getRight
(),
e
=
e
>
f
.
getBottom
()?
e
:
f
.
getBottom
());
a
()};
this
.
inflate
=
function
(
f
){
b
-=
f
;
c
-=
f
;
d
+=
f
;
e
+=
f
;
a
()};
this
.
minSelf
=
function
(
f
){
b
=
b
>
f
.
getLeft
()?
b
:
f
.
getLeft
();
c
=
c
>
f
.
getTop
()?
c
:
f
.
getTop
();
d
=
d
<
f
.
getRight
()?
d
:
f
.
getRight
();
e
=
e
<
f
.
getBottom
()?
e
:
f
.
getBottom
();
a
()};
this
.
intersects
=
function
(
a
){
return
d
<
a
.
getLeft
()
||
b
>
a
.
getRight
()
||
e
<
a
.
getTop
()
||
c
>
a
.
getBottom
()?
!
1
:
!
0
};
this
.
empty
=
function
(){
h
=!
0
;
e
=
d
=
c
=
b
=
0
;
a
()};
this
.
isEmpty
=
function
(){
return
h
}};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}
,
sign
:
function
(
a
){
return
0
>
a
?
-
1
:
0
<
a
?
1
:
0
}
};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Matrix3
.
prototype
=
{
constructor
:
THREE
.
Matrix3
,
transpose
:
function
(){
var
a
,
b
=
this
.
m
;
a
=
b
[
1
];
b
[
1
]
=
b
[
3
];
b
[
3
]
=
a
;
a
=
b
[
2
];
b
[
2
]
=
b
[
6
];
b
[
6
]
=
a
;
a
=
b
[
5
];
b
[
5
]
=
b
[
7
];
b
[
7
]
=
a
;
return
this
},
transposeIntoArray
:
function
(
a
){
var
b
=
this
.
m
;
a
[
0
]
=
b
[
0
];
a
[
1
]
=
b
[
3
];
a
[
2
]
=
b
[
6
];
a
[
3
]
=
b
[
1
];
a
[
4
]
=
b
[
4
];
a
[
5
]
=
b
[
7
];
a
[
6
]
=
b
[
2
];
a
[
7
]
=
b
[
5
];
a
[
8
]
=
b
[
8
];
return
this
}};
THREE
.
Matrix4
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
l
,
i
,
j
,
k
,
n
,
m
,
q
,
o
){
this
.
set
(
void
0
!==
a
?
a
:
1
,
b
||
0
,
c
||
0
,
d
||
0
,
e
||
0
,
void
0
!==
f
?
f
:
1
,
g
||
0
,
h
||
0
,
l
||
0
,
i
||
0
,
void
0
!==
j
?
j
:
1
,
k
||
0
,
n
||
0
,
m
||
0
,
q
||
0
,
void
0
!==
o
?
o
:
1
);
this
.
flat
=
Array
(
16
);
this
.
m33
=
new
THREE
.
Matrix3
};
THREE
.
Matrix4
.
prototype
=
{
constructor
:
THREE
.
Matrix4
,
set
:
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
l
,
i
,
j
,
k
,
n
,
m
,
q
,
o
){
this
.
n11
=
a
;
this
.
n12
=
b
;
this
.
n13
=
c
;
this
.
n14
=
d
;
this
.
n21
=
e
;
this
.
n22
=
f
;
this
.
n23
=
g
;
this
.
n24
=
h
;
this
.
n31
=
l
;
this
.
n32
=
i
;
this
.
n33
=
j
;
this
.
n34
=
k
;
this
.
n41
=
n
;
this
.
n42
=
m
;
this
.
n43
=
q
;
this
.
n44
=
o
;
return
this
},
identity
:
function
(){
this
.
set
(
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
);
return
this
},
copy
:
function
(
a
){
this
.
set
(
a
.
n11
,
a
.
n12
,
a
.
n13
,
a
.
n14
,
a
.
n21
,
a
.
n22
,
a
.
n23
,
a
.
n24
,
a
.
n31
,
a
.
n32
,
a
.
n33
,
a
.
n34
,
a
.
n41
,
a
.
n42
,
a
.
n43
,
a
.
n44
);
return
this
},
lookAt
:
function
(
a
,
...
...
build/custom/ThreeSVG.js
浏览文件 @
776d6181
...
...
@@ -28,7 +28,7 @@ THREE.Face4&&(f=r.multiplyVector3(f.copy(s[b.a].position)),g=r.multiplyVector3(g
THREE
.
Rectangle
=
function
(){
function
a
(){
f
=
d
-
b
;
g
=
e
-
c
}
var
b
,
c
,
d
,
e
,
f
,
g
,
h
=!
0
;
this
.
getX
=
function
(){
return
b
};
this
.
getY
=
function
(){
return
c
};
this
.
getWidth
=
function
(){
return
f
};
this
.
getHeight
=
function
(){
return
g
};
this
.
getLeft
=
function
(){
return
b
};
this
.
getTop
=
function
(){
return
c
};
this
.
getRight
=
function
(){
return
d
};
this
.
getBottom
=
function
(){
return
e
};
this
.
set
=
function
(
f
,
g
,
j
,
m
){
h
=!
1
;
b
=
f
;
c
=
g
;
d
=
j
;
e
=
m
;
a
()};
this
.
addPoint
=
function
(
f
,
g
){
h
?(
h
=!
1
,
b
=
f
,
c
=
g
,
d
=
f
,
e
=
g
):(
b
=
b
<
f
?
b
:
f
,
c
=
c
<
g
?
c
:
g
,
d
=
d
>
f
?
d
:
f
,
e
=
e
>
g
?
e
:
g
);
a
()};
this
.
add3Points
=
function
(
f
,
g
,
j
,
m
,
n
,
l
){
h
?(
h
=!
1
,
b
=
f
<
j
?
f
<
n
?
f
:
n
:
j
<
n
?
j
:
n
,
c
=
g
<
m
?
g
<
l
?
g
:
l
:
m
<
l
?
m
:
l
,
d
=
f
>
j
?
f
>
n
?
f
:
n
:
j
>
n
?
j
:
n
,
e
=
g
>
m
?
g
>
l
?
g
:
l
:
m
>
l
?
m
:
l
):(
b
=
f
<
j
?
f
<
n
?
f
<
b
?
f
:
b
:
n
<
b
?
n
:
b
:
j
<
n
?
j
<
b
?
j
:
b
:
n
<
b
?
n
:
b
,
c
=
g
<
m
?
g
<
l
?
g
<
c
?
g
:
c
:
l
<
c
?
l
:
c
:
m
<
l
?
m
<
c
?
m
:
c
:
l
<
c
?
l
:
c
,
d
=
f
>
j
?
f
>
n
?
f
>
d
?
f
:
d
:
n
>
d
?
n
:
d
:
j
>
n
?
j
>
d
?
j
:
d
:
n
>
d
?
n
:
d
,
e
=
g
>
m
?
g
>
l
?
g
>
e
?
g
:
e
:
l
>
e
?
l
:
e
:
m
>
l
?
m
>
e
?
m
:
e
:
l
>
e
?
l
:
e
);
a
()};
this
.
addRectangle
=
function
(
f
){
h
?(
h
=!
1
,
b
=
f
.
getLeft
(),
c
=
f
.
getTop
(),
d
=
f
.
getRight
(),
e
=
f
.
getBottom
()):(
b
=
b
<
f
.
getLeft
()?
b
:
f
.
getLeft
(),
c
=
c
<
f
.
getTop
()?
c
:
f
.
getTop
(),
d
=
d
>
f
.
getRight
()?
d
:
f
.
getRight
(),
e
=
e
>
f
.
getBottom
()?
e
:
f
.
getBottom
());
a
()};
this
.
inflate
=
function
(
f
){
b
-=
f
;
c
-=
f
;
d
+=
f
;
e
+=
f
;
a
()};
this
.
minSelf
=
function
(
f
){
b
=
b
>
f
.
getLeft
()?
b
:
f
.
getLeft
();
c
=
c
>
f
.
getTop
()?
c
:
f
.
getTop
();
d
=
d
<
f
.
getRight
()?
d
:
f
.
getRight
();
e
=
e
<
f
.
getBottom
()?
e
:
f
.
getBottom
();
a
()};
this
.
intersects
=
function
(
a
){
return
d
<
a
.
getLeft
()
||
b
>
a
.
getRight
()
||
e
<
a
.
getTop
()
||
c
>
a
.
getBottom
()?
!
1
:
!
0
};
this
.
empty
=
function
(){
h
=!
0
;
e
=
d
=
c
=
b
=
0
;
a
()};
this
.
isEmpty
=
function
(){
return
h
}};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}
,
sign
:
function
(
a
){
return
0
>
a
?
-
1
:
0
<
a
?
1
:
0
}
};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Matrix3
.
prototype
=
{
constructor
:
THREE
.
Matrix3
,
transpose
:
function
(){
var
a
,
b
=
this
.
m
;
a
=
b
[
1
];
b
[
1
]
=
b
[
3
];
b
[
3
]
=
a
;
a
=
b
[
2
];
b
[
2
]
=
b
[
6
];
b
[
6
]
=
a
;
a
=
b
[
5
];
b
[
5
]
=
b
[
7
];
b
[
7
]
=
a
;
return
this
},
transposeIntoArray
:
function
(
a
){
var
b
=
this
.
m
;
a
[
0
]
=
b
[
0
];
a
[
1
]
=
b
[
3
];
a
[
2
]
=
b
[
6
];
a
[
3
]
=
b
[
1
];
a
[
4
]
=
b
[
4
];
a
[
5
]
=
b
[
7
];
a
[
6
]
=
b
[
2
];
a
[
7
]
=
b
[
5
];
a
[
8
]
=
b
[
8
];
return
this
}};
THREE
.
Matrix4
=
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
k
,
i
,
j
,
m
,
n
,
l
,
p
,
o
){
this
.
set
(
void
0
!==
a
?
a
:
1
,
b
||
0
,
c
||
0
,
d
||
0
,
e
||
0
,
void
0
!==
f
?
f
:
1
,
g
||
0
,
h
||
0
,
k
||
0
,
i
||
0
,
void
0
!==
j
?
j
:
1
,
m
||
0
,
n
||
0
,
l
||
0
,
p
||
0
,
void
0
!==
o
?
o
:
1
);
this
.
flat
=
Array
(
16
);
this
.
m33
=
new
THREE
.
Matrix3
};
THREE
.
Matrix4
.
prototype
=
{
constructor
:
THREE
.
Matrix4
,
set
:
function
(
a
,
b
,
c
,
d
,
e
,
f
,
g
,
h
,
k
,
i
,
j
,
m
,
n
,
l
,
p
,
o
){
this
.
n11
=
a
;
this
.
n12
=
b
;
this
.
n13
=
c
;
this
.
n14
=
d
;
this
.
n21
=
e
;
this
.
n22
=
f
;
this
.
n23
=
g
;
this
.
n24
=
h
;
this
.
n31
=
k
;
this
.
n32
=
i
;
this
.
n33
=
j
;
this
.
n34
=
m
;
this
.
n41
=
n
;
this
.
n42
=
l
;
this
.
n43
=
p
;
this
.
n44
=
o
;
return
this
},
identity
:
function
(){
this
.
set
(
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
);
return
this
},
copy
:
function
(
a
){
this
.
set
(
a
.
n11
,
a
.
n12
,
a
.
n13
,
a
.
n14
,
a
.
n21
,
a
.
n22
,
a
.
n23
,
a
.
n24
,
a
.
n31
,
a
.
n32
,
a
.
n33
,
a
.
n34
,
a
.
n41
,
a
.
n42
,
a
.
n43
,
a
.
n44
);
return
this
},
lookAt
:
function
(
a
,
...
...
build/custom/ThreeWebGL.js
浏览文件 @
776d6181
...
...
@@ -28,7 +28,7 @@ THREE.Face4&&(g=A.multiplyVector3(g.copy(x[b.a].position)),h=A.multiplyVector3(h
THREE
.
Rectangle
=
function
(){
function
a
(){
g
=
d
-
b
;
h
=
e
-
c
}
var
b
,
c
,
d
,
e
,
g
,
h
,
i
=!
0
;
this
.
getX
=
function
(){
return
b
};
this
.
getY
=
function
(){
return
c
};
this
.
getWidth
=
function
(){
return
g
};
this
.
getHeight
=
function
(){
return
h
};
this
.
getLeft
=
function
(){
return
b
};
this
.
getTop
=
function
(){
return
c
};
this
.
getRight
=
function
(){
return
d
};
this
.
getBottom
=
function
(){
return
e
};
this
.
set
=
function
(
g
,
h
,
j
,
n
){
i
=!
1
;
b
=
g
;
c
=
h
;
d
=
j
;
e
=
n
;
a
()};
this
.
addPoint
=
function
(
g
,
h
){
i
?(
i
=!
1
,
b
=
g
,
c
=
h
,
d
=
g
,
e
=
h
):(
b
=
b
<
g
?
b
:
g
,
c
=
c
<
h
?
c
:
h
,
d
=
d
>
g
?
d
:
g
,
e
=
e
>
h
?
e
:
h
);
a
()};
this
.
add3Points
=
function
(
g
,
h
,
j
,
n
,
l
,
r
){
i
?(
i
=!
1
,
b
=
g
<
j
?
g
<
l
?
g
:
l
:
j
<
l
?
j
:
l
,
c
=
h
<
n
?
h
<
r
?
h
:
r
:
n
<
r
?
n
:
r
,
d
=
g
>
j
?
g
>
l
?
g
:
l
:
j
>
l
?
j
:
l
,
e
=
h
>
n
?
h
>
r
?
h
:
r
:
n
>
r
?
n
:
r
):(
b
=
g
<
j
?
g
<
l
?
g
<
b
?
g
:
b
:
l
<
b
?
l
:
b
:
j
<
l
?
j
<
b
?
j
:
b
:
l
<
b
?
l
:
b
,
c
=
h
<
n
?
h
<
r
?
h
<
c
?
h
:
c
:
r
<
c
?
r
:
c
:
n
<
r
?
n
<
c
?
n
:
c
:
r
<
c
?
r
:
c
,
d
=
g
>
j
?
g
>
l
?
g
>
d
?
g
:
d
:
l
>
d
?
l
:
d
:
j
>
l
?
j
>
d
?
j
:
d
:
l
>
d
?
l
:
d
,
e
=
h
>
n
?
h
>
r
?
h
>
e
?
h
:
e
:
r
>
e
?
r
:
e
:
n
>
r
?
n
>
e
?
n
:
e
:
r
>
e
?
r
:
e
);
a
()};
this
.
addRectangle
=
function
(
g
){
i
?(
i
=!
1
,
b
=
g
.
getLeft
(),
c
=
g
.
getTop
(),
d
=
g
.
getRight
(),
e
=
g
.
getBottom
()):(
b
=
b
<
g
.
getLeft
()?
b
:
g
.
getLeft
(),
c
=
c
<
g
.
getTop
()?
c
:
g
.
getTop
(),
d
=
d
>
g
.
getRight
()?
d
:
g
.
getRight
(),
e
=
e
>
g
.
getBottom
()?
e
:
g
.
getBottom
());
a
()};
this
.
inflate
=
function
(
g
){
b
-=
g
;
c
-=
g
;
d
+=
g
;
e
+=
g
;
a
()};
this
.
minSelf
=
function
(
g
){
b
=
b
>
g
.
getLeft
()?
b
:
g
.
getLeft
();
c
=
c
>
g
.
getTop
()?
c
:
g
.
getTop
();
d
=
d
<
g
.
getRight
()?
d
:
g
.
getRight
();
e
=
e
<
g
.
getBottom
()?
e
:
g
.
getBottom
();
a
()};
this
.
intersects
=
function
(
a
){
return
d
<
a
.
getLeft
()
||
b
>
a
.
getRight
()
||
e
<
a
.
getTop
()
||
c
>
a
.
getBottom
()?
!
1
:
!
0
};
this
.
empty
=
function
(){
i
=!
0
;
e
=
d
=
c
=
b
=
0
;
a
()};
this
.
isEmpty
=
function
(){
return
i
}};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Math
=
{
clamp
:
function
(
a
,
b
,
c
){
return
a
<
b
?
b
:
a
>
c
?
c
:
a
},
clampBottom
:
function
(
a
,
b
){
return
a
<
b
?
b
:
a
},
mapLinear
:
function
(
a
,
b
,
c
,
d
,
e
){
return
d
+
(
a
-
b
)
*
(
e
-
d
)
/
(
c
-
b
)},
random16
:
function
(){
return
(
65280
*
Math
.
random
()
+
255
*
Math
.
random
())
/
65535
},
randInt
:
function
(
a
,
b
){
return
a
+
Math
.
floor
(
Math
.
random
()
*
(
b
-
a
+
1
))},
randFloat
:
function
(
a
,
b
){
return
a
+
Math
.
random
()
*
(
b
-
a
)},
randFloatSpread
:
function
(
a
){
return
a
*
(
0.5
-
Math
.
random
())}
,
sign
:
function
(
a
){
return
0
>
a
?
-
1
:
0
<
a
?
1
:
0
}
};
THREE
.
Matrix3
=
function
(){
this
.
m
=
[]};
THREE
.
Matrix3
.
prototype
=
{
constructor
:
THREE
.
Matrix3
,
transpose
:
function
(){
var
a
,
b
=
this
.
m
;
a
=
b
[
1
];
b
[
1
]
=
b
[
3
];
b
[
3
]
=
a
;
a
=
b
[
2
];
b
[
2
]
=
b
[
6
];
b
[
6
]
=
a
;
a
=
b
[
5
];
b
[
5
]
=
b
[
7
];
b
[
7
]
=
a
;
return
this
},
transposeIntoArray
:
function
(
a
){
var
b
=
this
.
m
;
a
[
0
]
=
b
[
0
];
a
[
1
]
=
b
[
3
];
a
[
2
]
=
b
[
6
];
a
[
3
]
=
b
[
1
];
a
[
4
]
=
b
[
4
];
a
[
5
]
=
b
[
7
];
a
[
6
]
=
b
[
2
];
a
[
7
]
=
b
[
5
];
a
[
8
]
=
b
[
8
];
return
this
}};
THREE
.
Matrix4
=
function
(
a
,
b
,
c
,
d
,
e
,
g
,
h
,
i
,
m
,
k
,
j
,
n
,
l
,
r
,
o
,
p
){
this
.
set
(
void
0
!==
a
?
a
:
1
,
b
||
0
,
c
||
0
,
d
||
0
,
e
||
0
,
void
0
!==
g
?
g
:
1
,
h
||
0
,
i
||
0
,
m
||
0
,
k
||
0
,
void
0
!==
j
?
j
:
1
,
n
||
0
,
l
||
0
,
r
||
0
,
o
||
0
,
void
0
!==
p
?
p
:
1
);
this
.
flat
=
Array
(
16
);
this
.
m33
=
new
THREE
.
Matrix3
};
THREE
.
Matrix4
.
prototype
=
{
constructor
:
THREE
.
Matrix4
,
set
:
function
(
a
,
b
,
c
,
d
,
e
,
g
,
h
,
i
,
m
,
k
,
j
,
n
,
l
,
r
,
o
,
p
){
this
.
n11
=
a
;
this
.
n12
=
b
;
this
.
n13
=
c
;
this
.
n14
=
d
;
this
.
n21
=
e
;
this
.
n22
=
g
;
this
.
n23
=
h
;
this
.
n24
=
i
;
this
.
n31
=
m
;
this
.
n32
=
k
;
this
.
n33
=
j
;
this
.
n34
=
n
;
this
.
n41
=
l
;
this
.
n42
=
r
;
this
.
n43
=
o
;
this
.
n44
=
p
;
return
this
},
identity
:
function
(){
this
.
set
(
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
,
0
,
0
,
0
,
0
,
1
);
return
this
},
copy
:
function
(
a
){
this
.
set
(
a
.
n11
,
a
.
n12
,
a
.
n13
,
a
.
n14
,
a
.
n21
,
a
.
n22
,
a
.
n23
,
a
.
n24
,
a
.
n31
,
a
.
n32
,
a
.
n33
,
a
.
n34
,
a
.
n41
,
a
.
n42
,
a
.
n43
,
a
.
n44
);
return
this
},
lookAt
:
function
(
a
,
...
...
src/core/Math.js
浏览文件 @
776d6181
...
...
@@ -59,6 +59,12 @@ THREE.Math = {
return
range
*
(
0.5
-
Math
.
random
()
);
},
sign
:
function
(
x
)
{
return
(
x
<
0
)
?
-
1
:
(
(
x
>
0
)
?
1
:
0
);
}
};
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录