diff --git a/main.cpp b/main.cpp index e6bcb02..dc0579b 100644 --- a/main.cpp +++ b/main.cpp @@ -114,6 +114,7 @@ void RunTle(Tle tle, double start, double end, double inc) { model.FindPosition(eci, val); Vector position = eci.GetPosition(); + Vector velocity = eci.GetVelocity(); std::cout << std::setprecision(8) << std::fixed; std::cout.width(17); @@ -123,7 +124,14 @@ void RunTle(Tle tle, double start, double end, double inc) { std::cout.width(16); std::cout << position.GetY() << " "; std::cout.width(16); - std::cout << position.GetZ() << std::endl; + std::cout << position.GetZ() << " "; + std::cout << std::setprecision(9) << std::fixed; + std::cout.width(14); + std::cout << velocity.GetX() << " "; + std::cout.width(14); + std::cout << velocity.GetY() << " "; + std::cout.width(14); + std::cout << velocity.GetZ() << std::endl; } catch (std::exception* ex) { std::cout << ex->what() << std::endl; @@ -144,8 +152,6 @@ void RunTle(Tle tle, double start, double end, double inc) { void RunTest() { -//#if 0 - /* # ------------------ Verification test cases ---------------------- # # TEME example @@ -177,7 +183,7 @@ void RunTest() { "1 06251U 62025E 06176.82412014 .00008885 00000-0 12808-3 0 3985", "2 06251 58.0579 54.0425 0030035 139.1568 221.1854 15.56387291 6774"), 0.0, 2880.0, 120.0); -//#endif + /* # MOLNIYA 2-14 # 12h resonant ecc in 0.65 to 0.7 range 1 08195U 75081A 06176.33215444 .00000099 00000-0 11873-3 0 813 @@ -187,7 +193,7 @@ void RunTest() { "1 08195U 75081A 06176.33215444 .00000099 00000-0 11873-3 0 813", "2 08195 64.1586 279.0717 6877146 264.7651 20.2257 2.00491383225656"), 0.0, 2880.0, 120.0); - //return; + /* # MOLNIYA 1-36 ## fig 12h resonant ecc in 0.7 to 0.715 range 1 09880U 77021A 06176.56157475 .00000421 00000-0 10000-3 0 9814 @@ -452,9 +458,9 @@ void RunTest() { 1 33333U 05037B 05333.02012661 .25992681 00000-0 24476-3 0 1534 2 33333 96.4736 157.9986 9950000 244.0492 110.6523 4.00004038 10708 0.0 150.0 5.00 */ - //RunTle(Tle("33333", - // "1 33333U 05037B 05333.02012661 .25992681 00000-0 24476-3 0 1534", - // "2 33333 96.4736 157.9986 9950000 244.0492 110.6523 4.00004038 10708"), 0.0, 150.0, 5.0); + RunTle(Tle("33333", + "1 33333U 05037B 05333.02012661 .25992681 00000-0 24476-3 0 1534", + "2 33333 96.4736 157.9986 9950000 244.0492 110.6523 4.00004038 10708"), 0.0, 150.0, 5.0); /* @@ -462,9 +468,9 @@ void RunTest() { 1 33334U 78066F 06174.85818871 .00000620 00000-0 10000-3 0 6809 2 33334 68.4714 236.1303 5602877 123.7484 302.5767 0.00001000 67521 0.0 1440.0 1.00 */ - //RunTle(Tle("33334", - // "1 33334U 78066F 06174.85818871 .00000620 00000-0 10000-3 0 6809", - // "2 33334 68.4714 236.1303 5602877 123.7484 302.5767 0.00001000 67521"), 0.0, 1440.0, 1.0); + RunTle(Tle("33334", + "1 33334U 78066F 06174.85818871 .00000620 00000-0 10000-3 0 6809", + "2 33334 68.4714 236.1303 5602877 123.7484 302.5767 0.00001000 67521"), 0.0, 1440.0, 1.0); /* @@ -472,9 +478,9 @@ void RunTest() { 1 33335U 05008A 06176.46683397 -.00000205 00000-0 10000-3 0 2190 2 33335 0.0019 286.9433 0000004 13.7918 55.6504 1.00270176 4891 0.0 1440.0 20.00 */ - //RunTle(Tle("33335", - // "1 33335U 05008A 06176.46683397 -.00000205 00000-0 10000-3 0 2190", - // "2 33335 0.0019 286.9433 0000004 13.7918 55.6504 1.00270176 4891"), 0.0, 1440.0, 20.0); + RunTle(Tle("33335", + "1 33335U 05008A 06176.46683397 -.00000205 00000-0 10000-3 0 2190", + "2 33335 0.0019 286.9433 0000004 13.7918 55.6504 1.00270176 4891"), 0.0, 1440.0, 20.0); /* @@ -482,9 +488,9 @@ void RunTest() { 1 20413U 83020D 05363.79166667 .00000000 00000-0 00000+0 0 7041 2 33335 0.0019 286.9433 0000004 13.7918 55.6504 1.00270176 4891 0.0 1440.0 20.00 */ - //RunTle(Tle("20413", - // "1 20413U 83020D 05363.79166667 .00000000 00000-0 00000+0 0 7041", - // "2 20413 12.3514 187.4253 7864447 196.3027 356.5478 0.24690082 7978"), 1844000.0, 1845100.0, 5.0); + RunTle(Tle("20413", + "1 20413U 83020D 05363.79166667 .00000000 00000-0 00000+0 0 7041", + "2 20413 12.3514 187.4253 7864447 196.3027 356.5478 0.24690082 7978"), 1844000.0, 1845100.0, 5.0); }