コード例 #1
0
ファイル: test.py プロジェクト: sesquideus/asmodeus
    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)
コード例 #2
0
ファイル: meteor-test.py プロジェクト: sesquideus/asmodeus
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')
コード例 #3
0
def get_wind(vector):
    return coord.Vector3D(0, 0, 0)
コード例 #4
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),
    )
コード例 #5
0
ファイル: velocity.py プロジェクト: sesquideus/asmodeus
 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
コード例 #6
0
ファイル: meteor.py プロジェクト: sesquideus/asmodeus
 def zero(cls):
     return Diff(coord.Vector3D(0, 0, 0), coord.Vector3D(0, 0, 0), 0)
コード例 #7
0
ファイル: meteor.py プロジェクト: sesquideus/asmodeus
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
コード例 #8
0
ファイル: test.py プロジェクト: sesquideus/asmodeus
 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)
コード例 #9
0
ファイル: test.py プロジェクト: sesquideus/asmodeus
 def testSub(self):
     self.assertEqual(self.a - self.b, coord.Vector3D(43, 5, -1))
コード例 #10
0
ファイル: test.py プロジェクト: sesquideus/asmodeus
 def testAdd(self):
     self.assertEqual(self.a + self.b, coord.Vector3D(71, 71, 99))