orbital-mechanics相关内容

用Python创建三体问题的越级算法存在的问题

我正在尝试用LeapFrog算法编写三体问题的代码。我正在使用Piet Hut和Jun Makino的《Moving Stars Anover》作为指南。 本指南中的代码是用C编写的,但在尝试之前,我正在尝试使用Python作为起点来遵循确切的工作流程。 以下是我尝试遵循section 5.1中的代码。 import numpy as np N = 3 #numbe ..
发布时间:2022-04-06 22:37:19 Python

两体问题中的 Python 欧拉方法实现不起作用

我目前正在尝试解决两体问题,然后我可以升级到更多行星,但它不起作用.它正在输出我不可能的位置.有谁知道是什么原因造成的? 这是我使用的代码: 天 = 60*60*24# 常量G = 6.67408e-11dt = 0.1*天au = 1.496e11t = 0类 CelBody:def __init__(self, id, name, x0, y0, z0, vx0, vy0, vz0, ..

ThreeJS 轨道控制设定目标,无需观察

我正在尝试制作用于构建模型的 3D 查看器.我们已经加载了模型并试图与模型进行某种交互.因此,我们使用 OrbiControls 来旋转、平移和缩放模型. 我们希望在查看器中具有这样一种行为,即当用户单击并拖动(从而旋转)时,旋转中心位于用户单击的建筑物的位置. 我认为这样更改 OrbitControl 的目标是明智的: control.target.set(newX, newY, ..

控制绕球体运行的物体

我想让用户控制在静态球体表面上移动的对象.使用两个按钮顺时针和逆时针旋转物体的方向,因为它像小行星一样不断向前移动. 在场景套件中,SCNNode 有三种不同的方向属性,我真的不知道从哪里开始.我了解如何执行除围绕球体旋转之外的所有内容. 解决方案 您正在寻找球体表面的参数化.您可以在网上找到它(但如果您不知道要为搜索输入的魔法词,这可能会很棘手).查看 MathWorld 上的条目 ..
发布时间:2021-07-16 19:06:33 移动开发

Python中非线性二阶常微分方程的Rk4积分器

我在我大学的一个项目中,我必须使用 Python 实现 Runge-Kutta 4 阶积分器.我知道我可以使用例如 Sympy,但这里的目标是实现该方法,代码已准备好用 Fortran 语言编写,所以基本上我有一个包含正确解决方案值的数据库,我必须在我的代码中获得类似的解决方案.但是,我们有一些问题;我使用线性方程(一阶和二阶)做了几次相同的事情,但这是牛顿万有引力定律中的二阶非线性方程.代码没有 ..
发布时间:2021-06-12 18:45:35 Python

绘制椭圆轨道

我正在尝试编写一个代码,使用椭圆r = a(1-e ^ 2)/(1 + e * cos(theta))的方程式绘制对象的椭圆路径.我也希望将这些数据放入数组以供其他使用. from numpy import *#Imports Python 数学函数库导入matplotlib.pyplot作为plt#导入绘图库从 pylab 导入 *一 = 5e = 0.3θ= 0而 theta 代码会给出 ..
发布时间:2021-06-01 19:02:58 Python

N体问题的Python实现

我目前正在尝试使用欧拉方法求解微分方程来实现N体问题.但是,图形输出似乎不正确,并且我不确定经过一段时间的测试后代码中的问题在哪里.我目前正在使用半人马座A和B的近似值进行测试.这是我的代码: 将numpy导入为np导入matplotlib.pyplot作为plt从数学导入层#引力常数G = 6.67430e-11#天文单位au = 1.496e11sec_in_day = 60 * 60 * ..

模拟轨道

因此,我正在尝试模拟绕太阳行进的地球,其中地球的速度由其与原点和水平面的夹角确定.我通过创建对三角形O_correction(x,y)使用tanh(相对/相邻)规则的函数来做到这一点.问题是它不是圆形轨道而是螺旋形上升,我不确定为什么. scene = canvas() scene.background = color.white O = 0 ball = sphere(pos=vect ..
发布时间:2020-07-14 00:54:14 其他开发

Python 2.7 Runge Kutta Orbit GUI

我正在尝试使用Tkinter在Python中创建GUI,以使用Runge-Kutta方法绘制质量轨道的轨迹.我的GUI工作正常,但是我的问题是,无论我向GUI输入什么值,它都只能绘制一条直线. 我希望有人能向我展示GUI中我的功能出了什么问题,以便它实际上能正确绘制出轨迹. def calcPath(self): M = float(self.entM.get()) m = ..
发布时间:2020-07-06 04:17:53 其他开发

Python Matplotlib动画帧重叠

我正在研究我的轨道程序,目前我仅以-1023的向下(-y)速度对月球进行动画处理。动画有效,但是下一帧出现时每一帧都停留在图形上: 这是我的代码: 将numpy导入为np as plt导入matplotlib.pyplot 导入数学 import matplotlib.animation作为动画 er = 6378100 * 10#m#地球半径 mr = 1737400 ..
发布时间:2020-06-08 18:37:43 Python

Keplerian元素的Python OrbitalPy追溯误差笛卡尔状态向量的位置和速度

我正在尝试获取我轨道上每个传播步骤的笛卡尔位置和速度矢量。我正在使用OrbitalPy http://pythonhosted.org/OrbitalPy/ 生成具有经典Keplerian元素的轨道。 根据文档,我应该能够从 class orbital.utilities.StateVector ,但出现类型错误: new ()恰好接受3个参数(给定2个) 这是代码: 从scip ..
发布时间:2020-06-07 19:20:31 Python

计算给定速度下的轨道截距.

背景: 尝试编写一款游戏,其中"FTL"旅行不受重力影响,并且加速度是即时的. 给定行星的开普勒轨道以及船舶的当前位置及其最大FTL速度,如何计算行星的位置. (以米/秒为单位) 我可以在给定的DateTime上获取行星的位置,但是我在努力寻找如何计算行星的位置以及将飞船送往何处而又不追随行星在轨道上的位置. 解决方案 我会迭代... 计算行星与船舶当前位置之间的距离 ..
发布时间:2020-05-06 11:33:40 其他开发