Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
0b6d6022
宇宙模拟器
项目概览
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看板
提交
0b6d6022
编写于
4月 02, 2024
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
b1a0aa58
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
25 deletion
+27
-25
sim_scenes/featured/center_point_moving_sun_to_earth.py
sim_scenes/featured/center_point_moving_sun_to_earth.py
+27
-25
未找到文件。
sim_scenes/featured/center_point_moving_sun_to_earth.py
浏览文件 @
0b6d6022
...
...
@@ -131,11 +131,6 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
delattr
(
self
,
days_counter_init_val_key
)
return
True
return
False
# if days is None:
# return self.days_counter
# else:
# self.days_counter = days
# self.days_counter_init_val = time_data.total_days
def
get_center_pos
(
self
,
dt
,
time_data
):
ec
=
UrsinaSimulator
.
EditorCamera
...
...
@@ -208,12 +203,18 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
window
.
borderless
=
True
window
.
exit_button
=
False
# window.fullscreen = True
# window.position = (1920, 0)
# # 设置窗口的宽度和高度
# window.size = (2340, 1079)
# self.window_size()
self
.
orbit_lines
=
self
.
create_orbit_lines
()
# def window_size(self):
# # window.fullscreen = True
# # window.position = (1920, 0)
# # self.set_window_size()
# # # # 设置窗口的宽度和高度
# # window.size = (2340, 1079)
# # window.position = (0, 0)
# self.set_window_size((2376, 1080),fullscreen=True)
def
hide_orbit_lines
(
self
):
for
orbit_line
in
self
.
orbit_lines
:
destroy
(
orbit_line
)
...
...
@@ -225,29 +226,33 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
self
.
set_bodies_position
(
time_data
)
self
.
show_clock
(
dt
)
_dt
=
(
time_data
.
dt
/
28788
)
print
(
"total_days:"
,
time_data
.
total_days
)
if
time_data
.
total_days
>
2300
:
exit
()
ec
=
UrsinaSimulator
.
EditorCamera
if
self
.
phase_num
==
1
:
ec
.
world_position
+=
ec
.
up
*
2
*
UrsinaConfig
.
run_speed_factor
# 前进
ec
.
world_position
+=
ec
.
back
*
1
*
UrsinaConfig
.
run_speed_factor
# 下
ec
.
world_position
+=
ec
.
up
*
2
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 前进
ec
.
world_position
+=
ec
.
back
*
1
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 下
elif
self
.
phase_num
==
2
:
self
.
hide_orbit_lines
()
elif
self
.
phase_num
==
3
:
if
self
.
count_days
(
self
.
phase_num
,
time_data
,
370
):
self
.
phase_num
=
4
elif
self
.
phase_num
==
4
:
ec
.
world_position
-=
ec
.
up
*
2
*
UrsinaConfig
.
run_speed_factor
# 后退
ec
.
world_position
-=
ec
.
back
*
1.4
*
UrsinaConfig
.
run_speed_factor
# 下(快一点)
ec
.
world_position
+=
ec
.
right
*
0.8
*
UrsinaConfig
.
run_speed_factor
# 左
ec
.
world_position
-=
ec
.
up
*
2
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 后退
ec
.
world_position
-=
ec
.
back
*
1.4
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 下(快一点)
ec
.
world_position
+=
ec
.
right
*
0.8
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 左
d_sun
=
self
.
get_distance_sun
()
print
(
"d_sun:"
,
d_sun
)
if
d_sun
>
45
:
self
.
phase_num
=
5
elif
self
.
phase_num
==
5
:
ec
.
world_position
-=
ec
.
back
*
1.4
*
UrsinaConfig
.
run_speed_factor
# 下
ec
.
world_position
+=
ec
.
right
*
0.7
*
UrsinaConfig
.
run_speed_factor
# 左
ec
.
world_position
-=
ec
.
back
*
1.4
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 下
ec
.
world_position
+=
ec
.
right
*
0.7
*
_dt
*
UrsinaConfig
.
run_speed_factor
# 左
pos
=
camera
.
world_position
if
pos
[
2
]
>
2000
:
self
.
phase_num
=
6
...
...
@@ -286,16 +291,12 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
return
True
def
show_title
(
self
):
return
aspect_ratio
=
window
.
aspect_ratio
position
,
origin
=
(
-
0.5
*
aspect_ratio
-
0.1
,
0.48
),
(
-
0.05
,
0.1
)
position2
,
origin2
=
(
-
0.5
*
aspect_ratio
-
0.1
,
0.40
),
(
-
0.05
,
0.1
)
# text1 = Text(text="太阳视角:观察日食月食", color=color.white, scale=2.5, position=position, # (-0.98, 0.48),
# font=font)
ext1
=
Text
(
text
=
"太阳视角:2024年重要天象"
,
color
=
color
.
white
,
scale
=
2.5
,
position
=
position
,
# (-0.98, 0.48),
position
,
origin
=
(
-
0.5
*
aspect_ratio
+
0.02
,
0.48
),
(
-
0.05
,
0.1
)
text1
=
Text
(
text
=
"地球为中心的轨道是这样"
,
color
=
color
.
white
,
scale
=
2
,
position
=
position
,
# (-0.98, 0.48),
font
=
self
.
font
)
text2
=
Text
(
text
=
"(地球自转放慢10倍)"
,
color
=
color
.
white
,
scale
=
1.5
,
position
=
position2
,
# (-0.98, 0.48),
font
=
self
.
font
)
# 2024年重要天象
def
show_clock
(
self
,
dt
):
"""
...
...
@@ -306,6 +307,7 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
# if self.clock_position_center:
# position, origin = (0, .25), (0, 0),
# else:
return
from
ursina
import
window
aspect_ratio
=
window
.
aspect_ratio
position
,
origin
=
(
0.
,
0.45
),
(
0.
,
0.
),
...
...
@@ -325,7 +327,7 @@ if __name__ == '__main__':
"""
sim
=
CenterPointMovingSimLive
()
sim
.
run
(
dt
=
SECONDS_PER_DAY
*
20
,
dt
=
SECONDS_PER_DAY
*
5
,
# dt=SECONDS_PER_DAY * 3,
init_position
=
[
0
,
-
60
*
AU
,
30
*
AU
],
show_exit_button
=
False
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录