Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Python_超人
宇宙模拟器
提交
d2f6b61f
宇宙模拟器
项目概览
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看板
提交
d2f6b61f
编写于
8月 02, 2023
作者:
三月三net
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Python超人-宇宙模拟器
上级
f088762e
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
21 addition
and
7 deletion
+21
-7
sim_scenes/tri_bodies/water_drop_01.py
sim_scenes/tri_bodies/water_drop_01.py
+21
-7
未找到文件。
sim_scenes/tri_bodies/water_drop_01.py
浏览文件 @
d2f6b61f
...
@@ -23,6 +23,7 @@ if __name__ == '__main__':
...
@@ -23,6 +23,7 @@ if __name__ == '__main__':
月球对地球的扰动
月球对地球的扰动
"""
"""
OFFSETTING
=
0
OFFSETTING
=
0
WATER_SPEED
=
400
# TODO: 可以抵消月球带动地球的力,保持地球在原地
# TODO: 可以抵消月球带动地球的力,保持地球在原地
# OFFSETTING = 0.01265
# OFFSETTING = 0.01265
# sun = Sun(name="太阳", size_scale=6e1, init_position=[0, 0, -AU]).set_ignore_gravity(True)
# sun = Sun(name="太阳", size_scale=6e1, init_position=[0, 0, -AU]).set_ignore_gravity(True)
...
@@ -30,17 +31,21 @@ if __name__ == '__main__':
...
@@ -30,17 +31,21 @@ if __name__ == '__main__':
earth
=
Earth
(
init_position
=
[
0
,
-
2500000
,
0
],
earth
=
Earth
(
init_position
=
[
0
,
-
2500000
,
0
],
texture
=
"earth_hd.jpg"
,
texture
=
"earth_hd.jpg"
,
# rotate_angle=0,
# rotate_angle=0,
rotation_speed
=
0
,
init_velocity
=
[
OFFSETTING
,
0
,
0
],
size_scale
=
earth_size_scale
).
set_ignore_gravity
(
init_velocity
=
[
OFFSETTING
,
0
,
0
],
size_scale
=
earth_size_scale
).
set_ignore_gravity
(
True
)
# 地球放大 5 倍,距离保持不变
True
)
# 地球放大 5 倍,距离保持不变
# 创建云层(texture纹理图使用了透明云层的图片,云层的 size_scale 要稍微比地球大一点)
# 创建云层(texture纹理图使用了透明云层的图片,云层的 size_scale 要稍微比地球大一点)
clouds
=
Earth
(
name
=
"地球云层"
,
texture
=
"transparent_clouds.png"
,
clouds
=
Earth
(
name
=
"地球云层"
,
texture
=
"transparent_clouds.png"
,
# rotate_angle=0,
# rotate_angle=0,
rotation_speed
=
0
,
init_position
=
[
0
,
-
2500000
,
0
],
init_position
=
[
0
,
-
2500000
,
0
],
size_scale
=
earth_size_scale
*
1.01
,
parent
=
earth
).
set_ignore_gravity
(
True
)
size_scale
=
earth_size_scale
*
1.01
,
parent
=
earth
).
set_ignore_gravity
(
True
)
water_drop
=
WaterDrop
(
init_position
=
[
AU
/
100
,
0
,
AU
/
40
],
water_drop
=
WaterDrop
(
init_position
=
[
AU
/
300
,
0
,
AU
/
100
],
init_velocity
=
[
-
1
,
0
,
0
],
texture
=
"drops_bright.png"
,
size_scale
=
5e4
).
set_ignore_gravity
(
True
)
# trail_color=[200, 200, 255],
init_velocity
=
[
-
WATER_SPEED
,
0
,
0
],
size_scale
=
4e4
).
set_ignore_gravity
(
True
)
# moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km
# moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km
# init_velocity=[-1.03, 0, 0], size_scale=2e1) # 月球放大 10 倍,距离保持不变
# init_velocity=[-1.03, 0, 0], size_scale=2e1) # 月球放大 10 倍,距离保持不变
# moon.set_light_disable(True)
# moon.set_light_disable(True)
...
@@ -72,15 +77,24 @@ if __name__ == '__main__':
...
@@ -72,15 +77,24 @@ if __name__ == '__main__':
bodies
=
[
earth
,
clouds
,
water_drop
]
+
ship_list
bodies
=
[
earth
,
clouds
,
water_drop
]
+
ship_list
WATER_RANGE
=
2e6
def
on_timer_changed
(
time_data
:
TimeData
):
def
on_timer_changed
(
time_data
:
TimeData
):
if
time_data
.
total_days
>
27.5
:
if
time_data
.
total_days
>
27.5
:
exit
(
0
)
exit
(
0
)
if
water_drop
.
position
[
0
]
<
-
WATER_RANGE
:
water_drop
.
planet
.
rotation_z
=
-
90
water_drop
.
velocity
=
[
WATER_SPEED
,
0
,
0
]
elif
water_drop
.
position
[
0
]
>
WATER_RANGE
:
water_drop
.
planet
.
rotation_z
=
90
water_drop
.
velocity
=
[
-
WATER_SPEED
,
0
,
0
]
# camera_look_at(water_drop, rotation_z=0)
# camera_look_at(water_drop, rotation_z=0)
def
on_ready
():
def
on_ready
():
UrsinaConfig
.
trail_type
=
'line'
UrsinaConfig
.
trail_length
=
10
for
body
in
bodies
:
for
body
in
bodies
:
if
isinstance
(
body
,
CoreValagaClas
):
if
isinstance
(
body
,
CoreValagaClas
):
body
.
planet
.
rotation_x
=
0
# -10
body
.
planet
.
rotation_x
=
0
# -10
...
@@ -105,11 +119,11 @@ if __name__ == '__main__':
...
@@ -105,11 +119,11 @@ if __name__ == '__main__':
position
=
(
0
,
0
,
-
220000
),
position
=
(
0
,
0
,
-
220000
),
show_grid
=
False
,
show_grid
=
False
,
cosmic_bg
=
""
,
cosmic_bg
=
""
,
gravity_works
=
False
,
#
gravity_works=False,
# save_cube_map=True,
# save_cube_map=True,
timer_enabled
=
True
,
timer_enabled
=
True
,
show_camera_info
=
False
,
show_camera_info
=
False
,
show_control_info
=
False
,
show_control_info
=
False
,
view_closely
=
True
view_closely
=
True
,
#
show_trail=True
show_trail
=
True
)
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录