本文へ移動

Uchusen Rockets宇宙船

出典つきの寸法から描いたロケットです。ページに置いて、分解して、回して見られる線画と彩色した3Dビューに加え、ロケットが本当に組み合わさるかを確かめる、型付きのデータモデルを備えています。

Uchusen は、宇宙を飛ぶ乗り物を意味する日本語「宇宙船」(うちゅうせん)から取った名前です。 名前について(英語)

目次

リファレンス · ジャーニーモード:ホーマン遷移・打ち上げ窓・フリップ&バーンの旅

Trip型

リファレンスの説明と例は英語です。見出しと目次は日本語です。

A trip, planned: when it leaves, its phases, its verdict, its distances, its speed changes and what is true of the craft at the peak. Plain data, with no function in it.

インポート

import type { Trip } from "@johnmorrisdotca/uchusen-rockets/journey";

定義

interface Trip {
    from: string;
    to: string;
    craftId: string;
    drive: "ballistic" | "continuous";
    frame: "sun" | "earth";
    departMs: number;
    liftoffBeforeS: number;
    phases: Phase[];
    totalS: number;
    verdict: Verdict;
    estimated: string[];
    straightKm: number;
    pathKm: number;
    dv: {
        departure: number;
        arrival: number;
        total: number;
    };
    peakG: number;
    peakSpeed: number;
    peakGamma: number;
    shipS: number;
    frameS: number;
    propellantUsedT?: number;
    propellantCarriedT?: number;
    fuel: {
        usedT: number | null;
        carriedT: number | null;
        note: string;
    };
    massRatio: number | null;
    escape?: {
        surfaceKmS: number;
        parkingKmS: number;
    };
    assist?: {
        by: "jupiter";
        savedMs: number;
        radii: number;
    };
    payload: {
        kg: number | null;
        atLeast: boolean;
        note: string;
    };
    ballistic?: {
        mu: number;
        r1: number;
        r2: number;
        theta0: number;
        transitS: number;
        parkKm: number;
        parkSpeed: number;
        burnEndSpeed: number;
        captureKm: number;
        captureSpeedIn: number;
        captureSpeedOut: number;
        burnS: number;
        brakeS: number;
        flipS: number;
        ascentS: number;
        vInfDeparture: number;
        vInfArrival: number;
        arc: number[];
        c3: number;
        conic?: Conic;
        fromOrbit?: boolean;
        entry?: boolean;
        swing?: Swing;
    };
    continuous?: {
        from: Vec3;
        to: Vec3;
        a: number;
        burnS: number;
        flipS: number;
        peakRapidity: number;
        blockedBySun: boolean;
    };
}

メンバー

名前型説明
fromstring
tostring
craftIdstring
drive"ballistic" | "continuous"
frame"sun" | "earth"

What the positions are measured from: the Sun, or the Earth for a trip to the Moon.

departMsnumber

When the departure burn (or the first burn of a ship that burns all the way) begins, milliseconds since 1970.

liftoffBeforeSnumber

When lift-off is, seconds before departMs (0 for a ship that starts in orbit).

phasesPhase[]
totalSnumber
verdictVerdict
estimatedstring[]

Names of the figures in this plan that are estimates, not sources.

straightKmnumber

The straight line from the start to the end at departure, km.

pathKmnumber

The length of the path flown, km.

dv{ departure: number; arrival: number; total: number; }

Speed changes, m/s.

peakGnumber

The greatest acceleration felt, g.

peakSpeednumber

The greatest speed, m/s, and the Lorentz factor then.

peakGammanumber
shipSnumber

Time on board and in the frame of the two ends, seconds, from lift-off.

frameSnumber
propellantUsedT (省略可)number | undefined

The propellant a ship that burns all the way uses, tonnes, and carries.

propellantCarriedT (省略可)number | undefined
fuel{ usedT: number | null; carriedT: number | null; note: string; }

The propellant of the trip: tonnes used (and carried, where it is known), or null with the reason no figure can be given.

massRationumber | null

Initial mass over mass after the burns the rocket equation was applied to. Null when no exhaust speed is known, so no propellant figure is invented.

escape (省略可){ surfaceKmS: number; parkingKmS: number; } | undefined

Escape speed from the surface and from the parking orbit of the body the rocket leaves, kilometres a second. Absent for a ship that burns all the way.

assist (省略可){ by: "jupiter"; savedMs: number; radii: number; } | undefined

A swing past Jupiter on the way out, and how much speed change it saves against the direct Hohmann between the same distances.

payload{ kg: number | null; atLeast: boolean; note: string; }

What the craft carries to the end of this trip: kilograms (at least, where only a harder trip is rated), or null with the reason.

ballistic (省略可){ mu: number; r1: number; r2: number; theta0: number; transitS: number; parkKm: number; parkSpeed: number; burnEndSpeed: number; captureKm: number; captureSpeedIn: number; captureSpeedOut: number; burnS: number; brakeS: number; flipS: number; ascentS: number; vInfDeparture: number; vInfArrival: number; arc: number[]; c3: number; conic?: Conic; fromOrbit?: boolean; entry?: boolean; swing?: Swing; } | undefined
continuous (省略可){ from: Vec3; to: Vec3; a: number; burnS: number; flipS: number; peakRapidity: number; blockedBySun: boolean; } | undefined

例

import type { Trip } from "@johnmorrisdotca/uchusen-rockets/journey";

const describe = (trip: Trip) => `${trip.from} to ${trip.to}: ${trip.verdict.line}`;
console.log(typeof describe);
function

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/uchusen-rockets 0.14.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。