/** * @covers Marando\AstroCoord\Cartesian::subtract */ public function testSubtract() { // Frame & epoch $frame = Frame::ICRF(); $epoch = AstroDate::parse('2015-Mar-20 00:00:00')->toEpoch(); // Position / velocity $x = Distance::au(+1.18); $y = Distance::au(-3.65); $z = Distance::au(-2.12); $vx = Velocity::aud(2.05); $vy = Velocity::aud(2.82); $vz = Velocity::aud(1.14); $a = new Cartesian($frame, $epoch, $x, $y, $z, $vx, $vy, $vz); $x = Distance::au(+9.32); $y = Distance::au(-5.25); $z = Distance::au(-6.89); $vx = Velocity::aud(5.33); $vy = Velocity::aud(2.09); $vz = Velocity::aud(0.6899999999999999); $b = new Cartesian($frame, $epoch, $x, $y, $z, $vx, $vy, $vz); $c = $a->subtract($b); $this->assertEquals(-8.140000000000001, $c->x->au); $this->assertEquals(1.6, $c->y->au); $this->assertEquals(4.77, $c->z->au); $this->assertEquals(-3.28, $c->vx->aud); $this->assertEquals(0.73, $c->vy->aud); $this->assertEquals(0.45, $c->vz->aud); }
public function test() { return; $frame = Frame::ICRF(); $epoch = Epoch::J(2000); echo $epoch->toDate()->toTDB(); echo "\n"; echo "\n"; exit; $ra = \Marando\Units\Time::hms(11, 16, 46.6); $dec = \Marando\Units\Angle::dms(5, 45, 32.5); $dist = Distance::au(5.8); echo "\n" . ($eq = new Equat($frame, $epoch, $ra, $dec, $dist)); echo "\n" . ($eq = (new Equat($frame, $epoch, $ra, $dec, $dist))->apparent()); echo "\n"; return; $frame = Frame::ICRF(); $epoch = AstroDate::jd(2457335.472615741)->toEpoch(); $ra = \Marando\Units\Time::hms(11, 16, 46.6); $dec = \Marando\Units\Angle::dms(5, 45, 32.5); $dist = Distance::au(5.8); echo "\n" . ($eq = new Equat($frame, $epoch, $ra, $dec, $dist)); echo "\n" . ($eq = (new Equat($frame, $epoch, $ra, $dec, $dist))->apparent()); $eq = new Equat($frame, $epoch, $ra, $dec, $dist); $eq->topo = Geo::deg(27, -82); echo "\n" . $eq->toHoriz(); echo "\n" . $eq->apparent(); echo "\n" . ($h = $eq->toHoriz()); echo "\n" . $h->az->deg . "\t" . $h->alt->deg; echo "\n" . $eq->apparent(\Marando\Units\Pressure::mbar(100), \Marando\Units\Temperature::F(90), 0.85); echo "\n" . $eq->toHoriz(); return; $ra = \Marando\Units\Time::hours(14.424354); $dec = \Marando\Units\Angle::deg(33.54366); $dist = Distance::au(1.5); $geo = Geo::deg(27, -82); $e = new Equat(Frame::ICRF(), Epoch::jd(2455586), $ra, $dec, $dist); $e->topo = $geo; echo "\n\n" . $e; echo "\n" . $e->apparent(); $e = new Equat(Frame::ICRF(), Epoch::jd(2455586), $ra, $dec, $dist); $e->topo = $geo; echo "\n" . $e->apparent(); $e = new Equat(Frame::ICRF(), Epoch::jd(2455586), $ra, $dec, $dist); $e->topo = $geo; echo "\n" . $e->toHoriz(); return; $e = new Equat(Frame::ICRF(), Epoch::jd(2455586), $ra, $dec, $dist); echo "\n\n" . $e; echo "\n" . $e->apparent($geo); echo "\n" . $e->apparent()->toHoriz($geo); $e = new Equat(Frame::ICRF(), Epoch::jd(2455586), $ra, $dec, $dist); echo "\n\n" . $e; echo "\n" . $e->apparent(); echo "\n" . $e->apparent()->toHoriz(); $e = new Equat(Frame::ICRF(), Epoch::jd(2451586), $ra, $dec, $dist); $e->topo = $geo; echo "\n\n" . $e; echo "\n" . $e->apparent(); echo "\n" . $e->apparent()->toHoriz(); return; // Position of Mercury $x = Distance::au(+1.18052679326447); $y = Distance::au(-0.3650485652522116); $z = Distance::au(-0.2123422968928603); // Velocity of Mercury $vx = Velocity::aud(0.02052320553396918); $vy = Velocity::aud(0.02828864020900079); $vz = Velocity::aud(0.01145246106968459); // Frame & epoch $frame = Frame::ICRF(); $epoch = AstroDate::parse('2015-Mar-20')->toEpoch(); $c = new Cartesian($frame, $epoch, $x, $y, $z, $vx, $vy, $vz); echo "\n\n"; echo $c; echo "\n\n"; echo $c->setUnit('km km/d'); echo "\n\n"; echo $c->setUnit('km km/s'); echo "\n\n"; echo $c->toEquat(); echo "\n\n"; echo $c->toEquat()->apparent(); echo "\n\n"; echo $c->toEquat()->apparent(Geo::deg(27, 278)); echo "\n\n"; echo $c->toEquat()->toHoriz(Geo::deg(27, 278)); echo "\n\n"; }
public function test_aud() { $v = Velocity::aud(1); $this->assertEquals(149597870.7, $v->kmd); }