Esempio n. 1
0
    def __init__(self, seed):
        self.seed = seed
        random.seed(seed)  # Setter et seed for numpy.random klassen

        self.Var = DFK(["pi", "G", "u", "k", "M_sol", "R_sol"
                        ])  # Definering av forskjellige fysiske konstanter
        Mission = SpaceMission(
            self.seed)  # Gjør det mulig å hente konstanter fra ast2000 klassen
        self.M_p = Mission.system.masses[
            0] * self.Var.M_sol  # [kg] Massen til hjemplaneten
        self.R_p = Mission.system.radii[
            0] * 10**3  # [m] Radien til hjemplaneten

        self.L = 10**-6  # [m] Lengde og bredde på boksen
        self.T = 10**4  # [K] Temperatur i boksen
        self.m_H = 2 * 1.00794 * self.Var.u  # [kg] Masse til et hydrogenmolekyl
        self.n = 10**5  # Antall partikler i boksen
        self.Dt = 10**-9  # [s] Total tid for simulasjonen
        self.N = 10**3  # Antall steg i simulasjonen
        self.dt = self.Dt / self.N  # [s] Endring i tid for et steg
        self.n_fri = 0  # Antall molekyler som unnslipper boksen
        self.p = 0  # Totale mengden bevegelsesmengde som boksen får

        self.M = 1000  # [kg] Vekta til raketten
'''
We are going on a trip in our favorite rocket ship
'''
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import scipy.interpolate as interpolate
import ast2000tools.constants as const
import ast2000tools.utils as utils
from ast2000tools.space_mission import SpaceMission
from ast2000tools.solar_system import SolarSystem
from ast2000tools.shortcuts import SpaceMissionShortcuts
from programkode_del4_klasse import did_you_just_assume_my_orientation, launching_sequence

seed = utils.get_seed('alinerb')
mission = SpaceMission(seed)
launch = launching_sequence(mission)
orient = did_you_just_assume_my_orientation(mission)
Ms = mission.system.star_mass
M_planet = mission.system.masses
G = const.G_sol

planet_positions = np.load('planet_positions.npy')
planet_velocities = np.load('planet_velocities.npy')
timesteps = np.load('times.npy')
plan_v_rocket = np.load('optimal_rakett_hastighet.npy')
plan_r_rocket = np.load('optimal_rakett_posisjon.npy')
plan_t_rocket = np.load('optimal_rakett_tid.npy')

pos_planet = interpolate.interp1d(timesteps,
                                  planet_positions,
from PIL import Image
import numpy as np
from ast2000tools.space_mission import SpaceMission
from sympy import geometry

myseed = 82947
mission = SpaceMission(myseed)
img = Image.open("sample0000.png")
pixels = np.array(img)
sky = np.load("himmelkule.npy")
fov = [70, 70]
xmm = [
    -2 * np.sin(fov[1] / 2) / (1 + np.cos(fov[1] / 2)),
    2 * np.sin(fov[1] / 2) / (1 + np.cos(fov[1] / 2)),
]
ymm = [
    -2 * np.sin(fov[1] / 2) / (1 + np.cos(fov[0] / 2)),
    2 * np.sin(fov[1] / 2) / (1 + np.cos(fov[0] / 2)),
]
x = np.linspace(xmm[0], xmm[1], len(pixels[0, :]))
y = np.linspace(xmm[0], xmm[1], len(pixels[:, 0]))
X, Y = np.meshgrid(x, y)
XY = np.zeros((480, 640, 2))
XY[:, :, 0] = X
XY[:, :, 1] = Y
proj = np.zeros((360, 480, 640, 3), dtype=np.uint8)
for j in range(359):
    phi0 = j * np.pi / 180
    rho = np.sqrt(X**2 + Y**2)
    c = 2 * np.arctan(rho / 2)
    theta = np.pi / 2 - np.arcsin(