コード例 #1
0
ファイル: Ship.php プロジェクト: JordanRL/eden
 /**
  * This method returns the time, in days, to get to a target using conventional thrust. Possible units:
  *
  * - AU (Astronomical Units)
  * - km (kilometers)
  * - m (meters)
  * - ly (light years)
  *
  * @param $distance
  * @param $unit
  * @return Time
  */
 protected function getTimeToDistance($distance, $unit = 'AU')
 {
     $distance = new Length($distance, $unit);
     $distance->preConvertedSubtract(MathProvider::divide($distance->getValue(), 2, 2));
     $acceleration = $this->getAcceleration();
     $time = PhysicsProvider::timeFromConstantAccel($distance, $acceleration);
     $time->preConvertedAdd($time->getValue());
     return $time->to('d');
 }
コード例 #2
0
ファイル: PhysicsProvider.php プロジェクト: JordanRL/eden
 /**
  * @param Length       $distance
  * @param Acceleration $acceleration
  *
  * @return Time
  */
 public static function timeFromConstantAccel(Length $distance, Acceleration $acceleration)
 {
     $distance->toNative();
     $acceleration->toNative();
     return new Time(MathProvider::squareRoot(MathProvider::multipleMultiply(2, $distance->getValue(), $acceleration->getValue())));
 }