Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
太阳系三体模拟器
提交
74d56431
太阳系三体模拟器
项目概览
Python_超人
/
太阳系三体模拟器
通知
1468
Star
137
Fork
134
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
太阳系三体模拟器
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
74d56431
编写于
3月 15, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
太阳系三体模拟器
上级
0415d20f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
4 addition
and
48 deletion
+4
-48
simulators/views/ursina_mesh.py
simulators/views/ursina_mesh.py
+4
-48
未找到文件。
simulators/views/ursina_mesh.py
浏览文件 @
74d56431
...
...
@@ -118,11 +118,6 @@ def create_torus(inner_radius, outer_radius, subdivisions):
tris
=
[]
uvs
=
[]
# verts.append((inner_x, inner_y, 0))
# uvs.append((u, 0))
# verts.append((outer_x, outer_y, 0))
# uvs.append((u, 1))
for
i
in
range
(
subdivisions
):
angle
=
i
*
(
360
/
subdivisions
)
x
=
np
.
cos
(
angle
*
np
.
pi
/
180
)
...
...
@@ -132,21 +127,16 @@ def create_torus(inner_radius, outer_radius, subdivisions):
inner_x
=
x
*
inner_radius
inner_y
=
y
*
inner_radius
verts
.
append
((
inner_x
,
inner_y
,
0
))
u
=
angle
/
360
uvs
.
append
((
u
,
0.0
))
if
angle
==
0.0
:
verts
.
append
((
inner_x
,
inner_y
,
0
))
u
=
angle
/
360
uvs
.
append
((
1.0
,
0.0
))
# create vertices for outer radius
outer_x
=
x
*
outer_radius
outer_y
=
y
*
outer_radius
verts
.
append
((
outer_x
,
outer_y
,
0
))
# create uvs
u
=
angle
/
360
uvs
.
append
((
u
,
0.0
))
uvs
.
append
((
u
,
1.0
))
if
angle
==
0.0
:
verts
.
append
((
outer_x
,
outer_y
,
0
))
uvs
.
append
((
1.0
,
1.0
))
# create triangles
first_index
=
i
*
2
...
...
@@ -157,40 +147,6 @@ def create_torus(inner_radius, outer_radius, subdivisions):
tris
.
append
((
first_index
,
second_index
,
third_index
))
tris
.
append
((
third_index
,
second_index
,
fourth_index
))
# create uvs
# uvs = []
# for i in range(len(verts)):
# # 计算纹理坐标
# angle = i * (360 / (subdivisions * 2))
# u = angle / 360
# v = -(outer_radius - inner_radius) * math.cos(angle)/ outer_radius * 0.5
# uvs.append((u, v))
# uvs = []
# for i in range(len(verts)):
# angle = i * (360 / (subdivisions * 2))
# u = angle / 360
# phi = u * 2 * math.pi
# v = phi / (2 * math.pi)
# uvs.append((u, v))
# for i in range(len(verts)):
# angle = i * (360 / (subdivisions * 2))
# u = (outer_radius + inner_radius * math.cos(angle)) / (2 * outer_radius)
# v = i / len(verts)
# uvs.append((u, v))
# for i in range(len(verts)):
# for j in range(len(verts)):
# u = i / (2 * math.pi * (outer_radius - inner_radius))
# v = j / subdivisions
# uvs.append(( v,1-u))
# uvs = []
# for i in range(len(verts)):
# angle = i * (360 / (subdivisions * 2))
# u = (outer_radius + inner_radius * math.cos(angle)) / (2 * outer_radius)
# v = i / len(verts)
# uvs.append((v, 1 - u))
# create normals
normals
=
[]
for
i
in
range
(
len
(
verts
)):
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录