def setUp(self): self.a = coord.Vector3D(57, 38, 49) self.b = coord.Vector3D(14, 33, 50) self.meteor_local = -coord.Vector3D.from_spherical(42, 130, 50000) self.meteor_down = -coord.Vector3D.from_spherical(90, 0, 50000) self.meteor_to_north = -coord.Vector3D.from_spherical(0, 0, 20000) self.meteor_arbitrary = -coord.Vector3D.from_spherical( 15.2645, 231.8453, 36256) self.modra = coord.Vector3D.from_geodetic(48.352, 17.313, 531) self.null_island = coord.Vector3D.from_geodetic(0, 0, 0) self.north_pole = coord.Vector3D.from_geodetic(90, 0, 0) self.south_pole = coord.Vector3D.from_geodetic(-90, 0, 0) self.modra_meteor_ECEF = (-self.meteor_local).altaz_to_dxdydz_at( self.modra)
def main(): position = coord.Vector3D.from_WGS84(48.746, 21.083, 180000) #position = coord.Vector3D.from_WGS84(90, 0, 100000) meteor = Meteor( mass=1, density=3370, position=position, velocity=coord.Vector3D(0, 0, 0), timestamp=datetime.datetime.now(tz=pytz.utc), ) meteor.fly_constant(fps=1, spf=1, method='RK4')
def get_wind(vector): return coord.Vector3D(0, 0, 0)
import datetime import pytz import logging import copy from matplotlib import pyplot from models import Meteor from physics import atmosphere, coord, constants def get_wind(vector): return coord.Vector3D(0, 0, 0) GRAVITY_VECTOR = coord.Vector3D(0, 0, -constants.EARTH_GRAVITY) def main(): position = coord.Vector3D.from_WGS84(48.746, 21.083, 180000) #position = coord.Vector3D.from_WGS84(89, 0, 0.01) meteor = Meteor( mass=0.0000228602, # mass=0.000002, density=3370, position=position, velocity=position.altaz_to_dxdydz( coord.Vector3D.from_spherical(-30.2, 72.6, 58000)), #velocity=position.altaz_to_dxdydz(coord.Vector3D.from_spherical(45, 0, 500)), timestamp=datetime.datetime.now(tz=pytz.utc), )
def shower(cls, *, ra, dec, speed): return lambda: -coord.Vector3D( math.cos(math.radians(dec)) * math.cos(math.radians(ra)), math.cos(math.radians(dec)) * math.sin(math.radians(ra)), math.sin(math.radians(dec))) * speed
def zero(cls): return Diff(coord.Vector3D(0, 0, 0), coord.Vector3D(0, 0, 0), 0)
import io import os import numpy as np import pickle import models.frame from physics import atmosphere, coord, radiometry, constants log = logging.getLogger('root') class L(): def debug(self, p): pass log = L() EARTH_ROTATION = coord.Vector3D(0, 0, constants.EARTH_ANGULAR_SPEED) DP_A21 = 1/5 DP_A31 = 3/40 DP_A32 = 9/40 DP_A41 = 44/45 DP_A42 = -56/15 DP_A43 = 32/9 DP_A51 = 19372/6561 DP_A52 = -25360/2187 DP_A53 = 64448/6561 DP_A54 = -212/729
def setUp(self): self.el = coord.EarthLocation.from_geodetic(48.313525, 17.315423, 531) self.pure1 = coord.Vector3D(10, 20, 30) self.pure2 = coord.Vector3D(10, 20, 30)
def testSub(self): self.assertEqual(self.a - self.b, coord.Vector3D(43, 5, -1))
def testAdd(self): self.assertEqual(self.a + self.b, coord.Vector3D(71, 71, 99))