Space Exploration Beta 的好心人一直在帮助我计算轨道元素,但我一直坚持在 C# 中应用一个公式一段时间,需要一些建议。
该公式适用于偏心矢量,使用:
$$\vec e = \frac{\vec v \times \vec h}{\mu} \ - \frac{\vec r}{||r||} $$
(e = v * h /mu - r / ||r||)
我的公式代码如下;
double V = 7770;
double R = 6771000;
double Mu = 4e+14;
Vector3D velocity = new Vector3D(0, V, 0);
Vector3D Radias = new Vector3D(R, 0, 0);
Vector3D H = Vector3D.CrossProduct(Radias, velocity);//Angular Momentum = r * v
//e = v * h /mu - r / ||r||
Vector3D rh = Vector3D.CrossProduct(velocity, H);
double t = Radias.Length;
Vector3D e = Vector3D.Divide(rh, Mu) - R / t;
现在这提出了
运算符“-”不能应用于“Vector3D”和“double”类型的操作数
现在我现在说不能将向量除以双倍,但我不确定如何解决这个问题,我想铸造但我不知道该怎么做?
这真的是我的数学技能和 C# 数学编程的边缘。
任何帮助将不胜感激。
编辑这是我正在使用的源材料之一,因此您可以正确查看公式。
编辑 2这是工作代码:
Vector3D e = Vector3D.Divide(rh, Mu) - Radias / Radias.Length;
double e1 = e.Length;
Console.WriteLine(e1);
带来的答案不仅与用户通过 Space Exploration beta 提供的答案相匹配,而且与我尝试过的公式的不同版本相匹配。所以代码和公式都很好。感谢你的协助。