Closed hasanelfalakiy closed 3 months ago
In VSOP2013, there is only a body called Earth moon body(EMB), represent mass center of earth and moon. No moon body or earth body. vsop87 also don't have moon body. I think some repo add elp82 solution for moon
really?, I am used to calculating the position of the sun with VSOP87D and to calculate the position of the moon using ELPMPP02
Sun's coordinate in 87D and 2013 is always (0,0,0), check your version ELPMPP02 is a improvement of ELP82
This code segment is original vsop87 solution version-body relationship
public static List<VSOPBody> ListAvailableBody(VSOPVersion ver) => ver switch
{
VSOPVersion.VSOP87 => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
VSOPBody.EMB }),
VSOPVersion.VSOP87A => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.EARTH,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
VSOPBody.EMB }),
VSOPVersion.VSOP87B => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.EARTH,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
}),
VSOPVersion.VSOP87C => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.EARTH,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
}),
VSOPVersion.VSOP87D => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.EARTH,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
}),
VSOPVersion.VSOP87E => new List<VSOPBody>(new VSOPBody[] {
VSOPBody.SUN,
VSOPBody.MERCURY,
VSOPBody.VENUS,
VSOPBody.EARTH,
VSOPBody.MARS,
VSOPBody.JUPITER,
VSOPBody.SATURN,
VSOPBody.URANUS,
VSOPBody.NEPTUNE,
}),
_ => new List<VSOPBody>()
};
VSOP2013 contains these body :
public enum VSOPBody
{
MERCURY = 0,
VENUS = 1,
EMB = 2,
MARS = 3,
JUPITER = 4,
SATURN = 5,
URANUS = 6,
NEPTUNE = 7,
PLUTO = 8
}
Sun's coordinate in 87D and 2013 is always (0,0,0), check your version ELPMPP02 is a improvement of ELP82
This code segment is original vsop87 solution version-body relationship
public static List<VSOPBody> ListAvailableBody(VSOPVersion ver) => ver switch { VSOPVersion.VSOP87 => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87A => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87B => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87C => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87D => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87E => new List<VSOPBody>(new VSOPBody[] { VSOPBody.SUN, VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), _ => new List<VSOPBody>() };
VSOP2013 contains these body :
public enum VSOPBody { MERCURY = 0, VENUS = 1, EMB = 2, MARS = 3, JUPITER = 4, SATURN = 5, URANUS = 6, NEPTUNE = 7, PLUTO = 8 }
I think I should learn .NET language first, okay, how can I test and run your software?
Sun's coordinate in 87D and 2013 is always (0,0,0), check your version ELPMPP02 is a improvement of ELP82
This code segment is original vsop87 solution version-body relationship
public static List<VSOPBody> ListAvailableBody(VSOPVersion ver) => ver switch { VSOPVersion.VSOP87 => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87A => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87B => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87C => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87D => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87E => new List<VSOPBody>(new VSOPBody[] { VSOPBody.SUN, VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), _ => new List<VSOPBody>() };
VSOP2013 contains these body :
public enum VSOPBody { MERCURY = 0, VENUS = 1, EMB = 2, MARS = 3, JUPITER = 4, SATURN = 5, URANUS = 6, NEPTUNE = 7, PLUTO = 8 }
I usually use kotlin
Sun's coordinate in 87D and 2013 is always (0,0,0), check your version ELPMPP02 is a improvement of ELP82
This code segment is original vsop87 solution version-body relationship
public static List<VSOPBody> ListAvailableBody(VSOPVersion ver) => ver switch { VSOPVersion.VSOP87 => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87A => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, VSOPBody.EMB }), VSOPVersion.VSOP87B => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87C => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87D => new List<VSOPBody>(new VSOPBody[] { VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), VSOPVersion.VSOP87E => new List<VSOPBody>(new VSOPBody[] { VSOPBody.SUN, VSOPBody.MERCURY, VSOPBody.VENUS, VSOPBody.EARTH, VSOPBody.MARS, VSOPBody.JUPITER, VSOPBody.SATURN, VSOPBody.URANUS, VSOPBody.NEPTUNE, }), _ => new List<VSOPBody>() };
VSOP2013 contains these body :
public enum VSOPBody { MERCURY = 0, VENUS = 1, EMB = 2, MARS = 3, JUPITER = 4, SATURN = 5, URANUS = 6, NEPTUNE = 7, PLUTO = 8 }
I usually use kotlin, VSOP87D & ELPMPP02 inside it
All you need is install visual studio 2022. Then clone repo and open it. https://kingsznhone.gitbook.io/vsop2013.net/vsop2013.net/quick-start
All you need is install visual studio 2022. Then clone repo and open it. https://kingsznhone.gitbook.io/vsop2013.net/vsop2013.net/quick-start
ok, thanks,,
Are the positions of the sun and moon also using vsop2013? Because I saw that other repos still use vsop87 for the sun and moon, while for the planets and stars using vsop2013