问题标签 [orbital-mechanics]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 无法让 RK4 在 Python 中求解轨道体的位置
我正在尝试使用更大质量的物体不会移动的理想化来解决围绕更大质量物体运行的物体的位置。我正在尝试使用python中的四阶龙格库塔来解决笛卡尔坐标中的位置。
这是我的代码:
最初,无论我以哪种方式调整代码,我的 for 循环都会出错,要么是“'float' 类型的对象没有 len()”(我不明白 float python 可能指的是什么),或“使用序列设置数组元素”(我也不明白它的意思是什么)。我设法摆脱了错误,但我的结果是错误的。我得到 10s 的 vx 和 vy 数组,从 10. 到 109. 的整数 x 数组,以及从 0. 到 99. 的整数数组。
我怀疑 fx(x,y,t) 和 fy(x,y,t) 或者我将 runge-kutta 函数编码为与 fx 和 fy 一起使用的方式存在问题,因为我使用了相同的 runge -kutta 代码用于其他功能,它工作正常。
我非常感谢任何帮助找出我的代码为什么不起作用的帮助。谢谢你。
c# - 如何围绕椭圆轨道路径移动锝体并改变路径
我一直在寻找答案,但还没有找到。我有一个椭圆轨道路径,我想在 3D 空间中围绕路径移动轨道体。目前的尝试没有奏效。(物体在近点处减慢并在远点处加速,或者只是中断,具有 NaN 值)
可用值有:半主要、半次要、速度、近点、远点、当前轨道天体位置(以度或弧度为单位),以及质量 + 距离。
c# - 计算卫星视震级
我正在尝试制作一个计算国际空间站天桥的应用程序。
我想出了如何真正获得天桥,但我正在努力弄清楚如何计算这些天桥期间空间站的视震级。我看过有没有办法计算卫星(ISS)的视觉大小?计算太阳/国际空间站与地球上的观察者之间的相位角。
我想出了如何计算太阳相位角,但我不知道如何获得由Is there any way to calculate the vision of a satellites (ISS)? 提供的公式?工作。我有以度为单位的相位角和以公里为单位的卫星距离。这是公式:
对于国际空间站,我使用 -1.8 作为 std.mag。 https://stackoverflow.com/users/2949204/liam-kennedy提供了这个公式,似乎知道如何让它工作,但我不能为我的生活。
注意:我在 C# 中执行此操作并且知道我的相位角是正确的,但即使使用 Python 和 pyephem 执行此操作,我也没有得到任何接近Heavens-Above 的结果。将 B 设置为 113,std.mag 设置为 -1.8,范围设置为 485 给我 11.25,但在 Heavens-Above 上,他们得到的数据完全相同 -3.0。
这是我正在使用的代码
编辑:我在这里解决了这个问题:https ://astronomy.stackexchange.com/questions/28744/calculating-the-apparent-magnitude-of-a-satellite/28765#28765
请版主将此标记为已解决。
python - 两体问题中的 Python Euler 方法实现不起作用
我目前正在尝试解决两体问题,然后我可以升级到更多行星,但它不起作用。它正在输出我不可能的位置。有谁知道是什么原因造成的?
这是我使用的代码:
它应该输出类似于此处的坐标,但也输出 az 坐标:
coordinate 1 (41.147123353981485, -2812171.2728945166)
coordinate 2 (150013715707.77917, 2374319765.821534)
但它输出以下内容:
太阳 0.0, 0.0, 0.0
地球 149600000000.0, 0.0, 0.0
注意:问题可能出在 for 循环或数组总和的舍入中,但我不确定。
c - 随机太阳系模拟碰撞检测问题
所以我开发了一个相当稳定的太阳系模拟,其中包含随机行星,使用基本的运动方程和牛顿力学,并使用带有 C 的 OpenGL。
当行星相互碰撞或太阳碰撞时,我也有一些碰撞检测。
我的问题是,检测到我当前的代码碰撞并相应地移除行星,但是,当查看模拟行星时,在碰撞之前,行星可以重叠/碰撞其半径的大约一半(只是基于我所看到的猜测)'检测到”。
我有理由确定我的碰撞检测方法是足够的,但如果我错了,请纠正我。
我能想到的唯一另一个问题是世界坐标、眼睛坐标等的“单位”之间存在一些差异。
非常感谢任何和所有的帮助和/或建议。
代码:
matlab - Matlab - 在开普勒轨道上绘制卫星的速度矢量
我必须绘制围绕中心体运行的物体的速度矢量。这是开普勒语境。物体的轨迹由经典公式 (r = p/(1+e*cos(theta)) 推导出来,其中 e=偏心率。
我设法绘制了椭圆轨道,但现在,我想为这个轨道的每个点绘制物体的速度。
为了计算速度矢量,我从经典公式(到极坐标)开始,低于 2 个分量:
v_r = dr/dt 和 v_theta = rd(theta)/dt
为了采取时间步长 dt,我提取了与时间成正比的平均异常。
最后,我计算这个速度向量的归一化。
不幸的是,一旦情节执行,我似乎得到了一个糟糕的速度向量。例如这里的30th
元素vrNorm
和vthetaNorm
数组:
如您所见,向量的方向错误(如果我假设从右轴取 0 表示 theta 和正变化,如三角函数)。
如果有人能看到我的错误在哪里,那就太好了。
更新 1:这个表示椭圆轨道上的速度的向量是否与椭圆曲线永久相切?
我想以正确的焦点为原点来代表它。
更新 2:
使用@MadPhysicist 的解决方案,我修改了:
我得到以下结果:
在轨道的某些部分,我得到错误的方向,我不明白为什么......
python - Python动画,连接两个移动点并在静止线交叉点停止的线
我正在制作一个程序来模拟从地球上可见的火星的逆行运动。所以这是地球和火星绕太阳运行的平面图 还有一条从地球到火星的线。但是,我需要它与火星相交并继续前进,直到它与线 x = 15 相交
另一个用户向我发送了此代码
我之前的代码
另一个用户代码
所以目标是有一条线从“地球”(最里面的移动物体)到线 x=15 以及中间的另一个移动物体。
我还认为这条线应该只在这条线到达 x=15 时出现,所以只在轨道周期的第一个和最后一个季度
python - 行星倾角,用python沿着轨道跟踪旋转轴
我正在尝试对一个被月球环绕的行星进行简单的模拟。到目前为止,我有一个解决行星和月球轨道的 2 体问题。现在我想给行星添加一个固定的旋转轴,看看它是如何受到月球的影响的。知道如何通过使用 python 来完成吗?
可以使用以下代码运行两个主体问题:
c# - 行星轨道的数值逼近
新的一天新的问题...
我按照 Eric 所说的方式进行了操作,并为加速创建了一个方法!
它看起来像这样:
我看到它的方式是,我的称为 AccelerationOfTheMoon 的方法接收带有位置的 Vector 2。现在我想使用这个向量,所以我创建了另一个方法,它应该将我的 Magnitude 作为标量(双精度)返回。为此,我创建了一个方法来计算向量的大小并将其平方。当我在 ForceAsVector-Method 中调用 MagnitudeOfForce-Method 时,我试图将负单位向量与标量相乘并将其作为 Vector2 返回。
也许我在这里做得非常糟糕,但我正在努力理解 Eric 所做的一切,仍然需要你的帮助!
谢谢。