Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
9af6f299
宇宙模拟器
项目概览
Python_超人
/
宇宙模拟器
通知
19
Star
2
Fork
0
代码
文件
提交
分支
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看板
提交
9af6f299
编写于
4月 05, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
4cc9d074
变更
3
显示空白变更内容
内联
并排
Showing
3 changed file
with
23 addition
and
13 deletion
+23
-13
sim_scenes/interest/text_bodies.py
sim_scenes/interest/text_bodies.py
+9
-7
sim_scenes/interest/the_eye_of_god.py
sim_scenes/interest/the_eye_of_god.py
+7
-5
simulators/ursina_simulator.py
simulators/ursina_simulator.py
+7
-1
未找到文件。
sim_scenes/interest/text_bodies.py
浏览文件 @
9af6f299
...
...
@@ -16,16 +16,18 @@ from sim_scenes.interest.utils.body_utils import gen_bodies_from_image
def
show_text_bodies
():
"""
显示文本的星球群
显示
图片
文本的星球群
"""
D
=
6000
# camera_pos = 左-右+、上+下-、前+后-
D
=
6000
# 基本距离单位:km(随意赋值)
# 观看摄像机的位置
# camera_pos = (左-右+, 上+下-, 前+后-)
camera_pos
=
(
D
,
D
,
-
7000
*
D
)
bodies
:
list
=
gen_bodies_from_image
(
pixel_image
=
"./images/python.png"
,
texture
=
"color_body.png"
,
# 根据 pixel_image 指定图片(图片的像素不要太多)
bodies
=
gen_bodies_from_image
(
pixel_image
=
"./images/python.png"
,
texture
=
"color_body.png"
,
params
=
{
"camera_pos"
:
camera_pos
})
# 放一个恒星作为背景
bg
=
FixedStar
(
name
=
"
bg
"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
bg
=
FixedStar
(
name
=
"
背景恒星
"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
init_position
=
[
-
450
*
D
,
100
*
D
,
6000
*
D
],
# [ 左-右+, 上+下-, 远+近- ]
ignore_mass
=
True
)
...
...
@@ -33,7 +35,7 @@ def show_text_bodies():
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position =
左-右+、上+下-、前+后-
# position =
camera_pos = (左-右+, 上+下-, 前+后-)
ursina_run
(
bodies
,
SECONDS_PER_WEEK
*
2
,
position
=
camera_pos
,
view_closely
=
True
)
...
...
sim_scenes/interest/the_eye_of_god.py
浏览文件 @
9af6f299
...
...
@@ -17,21 +17,23 @@ def show_eye_of_god():
"""
上帝之眼
"""
D
=
6000
# camera_pos = 左-右+、上+下-、前+后-
D
=
6000
# 基本距离单位:km(随意赋值)
# 观看摄像机的位置
# camera_pos = (左-右+, 上+下-, 前+后-)
camera_pos
=
(
D
,
D
,
-
7000
*
D
)
bodies
:
list
=
gen_bodies_from_image
(
pixel_image
=
"./images/eye.png"
,
texture
=
"color_body.jpg"
,
bodies
:
list
=
gen_bodies_from_image
(
pixel_image
=
"./images/eye.png"
,
texture
=
"color_body.jpg"
,
params
=
{
"camera_pos"
:
camera_pos
})
# 放一个恒星作为背景
bg
=
FixedStar
(
name
=
"
bg
"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
bg
=
FixedStar
(
name
=
"
背景恒星
"
,
texture
=
"fixed_star.png"
,
mass
=
2e32
,
color
=
(
0xff
,
0xf8
,
0xd4
),
init_position
=
[
-
400
*
D
,
100
*
D
,
6000
*
D
],
# [ 左-右+, 上+下-, 远+近- ]
ignore_mass
=
True
)
bodies
.
append
(
bg
)
# 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position =
左-右+、上+下-、前+后-
# position =
camera_pos = (左-右+, 上+下-, 前+后-)
ursina_run
(
bodies
,
SECONDS_PER_WEEK
*
2
,
position
=
camera_pos
,
view_closely
=
True
)
...
...
simulators/ursina_simulator.py
浏览文件 @
9af6f299
...
...
@@ -208,11 +208,17 @@ class UrsinaSimulator(Simulator):
if
view_closely
<
0.001
:
view_closely
=
0.001
camera
.
clip_plane_near
=
view_closely
if
view_closely
<
0.01
:
# camera.fov = 60-0.01/view_closely
# camera.fov = 40
pass
else
:
# 设置 camera 的裁剪面和位置
camera
.
clip_plane_near
=
0.01
camera
.
fov
=
60
# UrsinaConfig.SCALE_FACTOR = UrsinaConfig.SCALE_FACTOR * math.ceil(0.01 / pow(camera.clip_plane_near,2))
# interval_fator 能让更新天体运行状态(位置、速度)更精确
# 设定时间间隔为0.01秒
self
.
interval_fator
=
0.01
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录