...
This commit is contained in:
@@ -163,6 +163,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
// std::cout << "\n\n\n\n";
|
||||
|
||||
auto as_sgs = [](double v, bool hms = false) { return mcc::MccAngle(v).sexagesimal(hms); };
|
||||
|
||||
using engine_t = mcc::astrom::erfa::MccMountAstromEngineERFA;
|
||||
engine_t::engine_state_t state;
|
||||
state.lon = 41.440732_degs;
|
||||
@@ -171,8 +173,8 @@ int main(int argc, char* argv[])
|
||||
|
||||
state.meteo = {10.0, 0.5, 1010.0};
|
||||
|
||||
std::cout << "LON = " << state.lon.sexagesimal() << "\n";
|
||||
std::cout << "LAT = " << state.lat.sexagesimal() << "\n\n";
|
||||
std::cout << "LON = " << mcc::MccAngle(state.lon).sexagesimal() << "\n";
|
||||
std::cout << "LAT = " << mcc::MccAngle(state.lat).sexagesimal() << "\n\n";
|
||||
|
||||
engine_t erfa(state);
|
||||
engine_t::juldate_t jd{60861.72};
|
||||
@@ -181,38 +183,38 @@ int main(int argc, char* argv[])
|
||||
erfa.greg2jul(now, jd);
|
||||
std::cout << "MJD(" << now << ") = " << jd.mjd << "\n";
|
||||
|
||||
mcc::MccAngle lst;
|
||||
double lst;
|
||||
erfa.apparentSiderTime(jd, lst, true);
|
||||
std::cout << "LST(MJD = " << jd.mjd << ") = " << lst.sexagesimal(true) << "\n\n";
|
||||
std::cout << "LST(MJD = " << jd.mjd << ") = " << mcc::MccAngle(lst).sexagesimal(true) << "\n\n";
|
||||
|
||||
|
||||
// mcc::MccAngle ra1{"10:00:00", mcc::mcc_hms}, dec1{"68:25:10.43"}, ra_o, dec_o, ha1, az1, alt1;
|
||||
mcc::MccAngle ra1{"5:00:00", mcc::mcc_hms}, dec1{"38:25:10.43"}, ra_o, dec_o, ha1, az1, alt1;
|
||||
mcc::MccAngle eor;
|
||||
mcc::MccAngle ra1{"5:00:00", mcc::mcc_hms}, dec1{"38:25:10.43"};
|
||||
double ra_o, dec_o, ha1, az1, alt1, eor;
|
||||
|
||||
std::cout << "RA = " << ra1.sexagesimal(true) << ", DEC = " << dec1.sexagesimal() << "\n";
|
||||
|
||||
auto res = erfa.icrs2obs(ra1, dec1, jd, ra_o, dec_o, ha1, az1, alt1, eor);
|
||||
std::cout << "eq of origins (from icrs2obs) = " << eor.sexagesimal(true) << "\n";
|
||||
std::cout << "eq of origins (from icrs2obs) = " << mcc::MccAngle(eor).sexagesimal(true) << "\n";
|
||||
|
||||
std::cout << "ret code (icrs2obs) = " << res.message() << "\n";
|
||||
std::cout << "alt = " << alt1.sexagesimal() << "\n";
|
||||
std::cout << "az = " << az1.sexagesimal() << "\n";
|
||||
std::cout << "alt = " << mcc::MccAngle(alt1).sexagesimal() << "\n";
|
||||
std::cout << "az = " << mcc::MccAngle(az1).sexagesimal() << "\n";
|
||||
|
||||
std::cout << "HA_app = " << ha1.sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app = " << ra_o.sexagesimal(true) << "\n";
|
||||
std::cout << "DEC_app = " << dec_o.sexagesimal() << "\n";
|
||||
std::cout << "HA_app = " << mcc::MccAngle(ha1).sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app = " << mcc::MccAngle(ra_o).sexagesimal(true) << "\n";
|
||||
std::cout << "DEC_app = " << mcc::MccAngle(dec_o).sexagesimal() << "\n";
|
||||
|
||||
res = erfa.eqOrigins(jd, eor);
|
||||
|
||||
std::cout << "eq of origins (from eqOrigins) = " << eor.sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app_comp = " << (lst - ha1 + eor).sexagesimal(true) << "\n";
|
||||
std::cout << "eq of origins (from eqOrigins) = " << mcc::MccAngle(eor).sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app_comp = " << mcc::MccAngle(lst - ha1 + eor).sexagesimal(true) << "\n";
|
||||
|
||||
|
||||
std::cout << "\n\n\n\n";
|
||||
|
||||
mcc::MccMinAltPZ minalt_pz(10.0_degs, state.lat);
|
||||
mcc::MccMaxAltPZ maxalt_pz(85.0_degs, state.lat);
|
||||
mcc::MccMinAltPZ minalt_pz(10.0_degs, state.lat, &erfa);
|
||||
mcc::MccMaxAltPZ maxalt_pz(85.0_degs, state.lat, &erfa);
|
||||
|
||||
// tel_data_t tdata{std::chrono::system_clock::now(), ra_o, dec_o, ha1, az1, alt1, 0.0, 0.0, 0.0, 0.0};
|
||||
mcc::MccMountTelemetryData<engine_t> tdata{.time_point = engine_t::timePointNow(),
|
||||
@@ -247,12 +249,12 @@ int main(int argc, char* argv[])
|
||||
dec1 = "40:25:10.43"_dms;
|
||||
res = erfa.icrs2obs(ra1, dec1, jd, ra_o, dec_o, ha1, az1, alt1, eor);
|
||||
std::cout << "ret code (icrs2obs) = " << res.message() << "\n";
|
||||
std::cout << "alt = " << alt1.sexagesimal() << "\n";
|
||||
std::cout << "az = " << az1.sexagesimal() << "\n";
|
||||
std::cout << "alt = " << as_sgs(alt1) << "\n";
|
||||
std::cout << "az = " << as_sgs(az1) << "\n";
|
||||
|
||||
std::cout << "HA_app = " << ha1.sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app = " << ra_o.sexagesimal(true) << "\n";
|
||||
std::cout << "DEC_app = " << dec_o.sexagesimal() << "\n";
|
||||
std::cout << "HA_app = " << as_sgs(ha1, true) << "\n";
|
||||
std::cout << "RA_app = " << as_sgs(ra_o, true) << "\n";
|
||||
std::cout << "DEC_app = " << as_sgs(dec_o) << "\n";
|
||||
|
||||
|
||||
// tdata = {std::chrono::system_clock::now(), ra_o, dec_o, ha1, az1, alt1, 0.0, 0.0, 0.0, 0.0};
|
||||
@@ -265,7 +267,7 @@ int main(int argc, char* argv[])
|
||||
|
||||
jd.mjd += 1.0;
|
||||
res = erfa.icrs2obs(ra1, dec1, jd, ra_o, dec_o, ha1, az1, alt1, eor);
|
||||
std::cout << "RA_app (+24h) = " << ra_o.sexagesimal(true) << "\n";
|
||||
std::cout << "RA_app (+24h) = " << as_sgs(ra_o, true) << "\n";
|
||||
|
||||
tm = maxalt_pz.timeTo(tdata);
|
||||
if (std::isinf(tm.count())) {
|
||||
@@ -285,10 +287,35 @@ int main(int argc, char* argv[])
|
||||
std::cout << "(MAXALT) time from zone: " << std::chrono::hh_mm_ss(tm) << " (" << now1 << ")\n";
|
||||
}
|
||||
|
||||
|
||||
struct cp_t {
|
||||
typedef double coord_t;
|
||||
typedef std::chrono::system_clock::time_point time_point_t;
|
||||
|
||||
mcc::MccCoordPairKind coordPairKind;
|
||||
std::chrono::system_clock::time_point time_point;
|
||||
double x, y;
|
||||
};
|
||||
|
||||
|
||||
cp_t tcp{.coordPairKind = mcc::MccCoordPairKind::COORDS_KIND_RADEC_ICRS,
|
||||
.time_point = engine_t::timePointNow(),
|
||||
.x = "17:00:00"_hms,
|
||||
.y = "40:25:10.43"_dms},
|
||||
icp{.coordPairKind = mcc::MccCoordPairKind::COORDS_KIND_AZALT};
|
||||
|
||||
|
||||
// bool ok = minalt_pz.intersectPoint(tcp, icp);
|
||||
bool ok = maxalt_pz.intersectPoint(tcp, icp);
|
||||
|
||||
std::cout << "\nINTERSECT Az = " << as_sgs(icp.x) << "\n";
|
||||
std::cout << "INTERSECT Alt = " << as_sgs(icp.y) << "\n";
|
||||
|
||||
|
||||
ra_o = 1.0;
|
||||
dec_o = 2.0;
|
||||
ha1 = ra_o * dec_o;
|
||||
std::cout << "mult: " << ha1.degrees() << "\n";
|
||||
std::cout << "mult: " << mcc::MccAngle(ha1).degrees() << "\n";
|
||||
|
||||
return ecode;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user