Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
0305aab8
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
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,发现更多精彩内容 >>
提交
0305aab8
编写于
11月 25, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'origin/dev' into dev
上级
2fbf7982
5d4f368a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
4 deletion
+15
-4
src/extras/geometries/TubeGeometry.js
src/extras/geometries/TubeGeometry.js
+15
-4
未找到文件。
src/extras/geometries/TubeGeometry.js
浏览文件 @
0305aab8
...
...
@@ -2,6 +2,7 @@
* @author WestLangley / https://github.com/WestLangley
* @author zz85 / https://github.com/zz85
* @author miningold / https://github.com/miningold
* @author jonobr1 / https://github.com/jonobr1
*
* Modified from the TorusKnotGeometry by @oosmoxiecode
*
...
...
@@ -11,7 +12,7 @@
* http://www.cs.indiana.edu/pub/techreports/TR425.pdf
*/
THREE
.
TubeGeometry
=
function
(
path
,
segments
,
radius
,
radialSegments
,
closed
)
{
THREE
.
TubeGeometry
=
function
(
path
,
segments
,
radius
,
radialSegments
,
closed
,
taper
)
{
THREE
.
Geometry
.
call
(
this
);
...
...
@@ -29,6 +30,7 @@ THREE.TubeGeometry = function ( path, segments, radius, radialSegments, closed )
radius
=
radius
||
1
;
radialSegments
=
radialSegments
||
8
;
closed
=
closed
||
false
;
taper
=
taper
||
THREE
.
TubeGeometry
.
NoTaper
;
var
grid
=
[];
...
...
@@ -42,7 +44,7 @@ THREE.TubeGeometry = function ( path, segments, radius, radialSegments, closed )
x
,
y
,
z
,
tx
,
ty
,
tz
,
u
,
v
,
u
,
v
,
r
,
cx
,
cy
,
pos
,
pos2
=
new
THREE
.
Vector3
(),
...
...
@@ -81,12 +83,14 @@ THREE.TubeGeometry = function ( path, segments, radius, radialSegments, closed )
normal
=
normals
[
i
];
binormal
=
binormals
[
i
];
r
=
radius
*
taper
(
u
);
for
(
j
=
0
;
j
<
radialSegments
;
j
++
)
{
v
=
j
/
radialSegments
*
2
*
Math
.
PI
;
cx
=
-
r
adius
*
Math
.
cos
(
v
);
// TODO: Hack: Negating it so it faces outside.
cy
=
r
adius
*
Math
.
sin
(
v
);
cx
=
-
r
*
Math
.
cos
(
v
);
// TODO: Hack: Negating it so it faces outside.
cy
=
r
*
Math
.
sin
(
v
);
pos2
.
copy
(
pos
);
pos2
.
x
+=
cx
*
normal
.
x
+
cy
*
binormal
.
x
;
...
...
@@ -135,6 +139,13 @@ THREE.TubeGeometry = function ( path, segments, radius, radialSegments, closed )
THREE
.
TubeGeometry
.
prototype
=
Object
.
create
(
THREE
.
Geometry
.
prototype
);
THREE
.
TubeGeometry
.
prototype
.
constructor
=
THREE
.
TubeGeometry
;
THREE
.
TubeGeometry
.
NoTaper
=
function
(
u
)
{
return
u
;
};
THREE
.
TubeGeometry
.
SinusoidalTaper
=
function
(
u
)
{
return
Math
.
sin
(
Math
.
PI
*
u
);
};
// For computing of Frenet frames, exposing the tangents, normals and binormals the spline
THREE
.
TubeGeometry
.
FrenetFrames
=
function
(
path
,
segments
,
closed
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录