Published
Edited
Jun 13, 2022
Importers
Insert cell
Insert cell
kerbin = {
const mass = 5.2915158 * Math.pow(10,22);

return makePlanet({
mass,
mu: mass*G,

radius: 600000,
})
}
Insert cell
mun = {
const mass = 9.7599066 * Math.pow(10,20);

return makePlanet({
mass,
mu: 6.5138398* Math.pow(10,10), //mass*G,

radius: 200000,
orbit_radius: 12000000,
})
}
Insert cell
makePlanet = (data) => {
data.alt2r = (alt) => {
const flip = (alt < 0) ? -1 : 1;
const r = (Math.abs(alt) + data.radius)*flip;

return r;
};

data.r2alt = (r) => {
const flip = (r < 0) ? -1 : 1;
const alt = (Math.abs(r) - data.radius)*flip;

return alt;
}


data.altFormatter = (r) => {
if (Math.abs(r) < data.radius) {
return "";
}
const flip = (r < 0) ? -1 : 1;
const alt = data.r2alt(r);
return (alt/1000).toLocaleString()
}

return data;
}
Insert cell
G = 6.674*Math.pow(10,-11)
Insert cell
planets = {
return {kerbin, mun, G}
}

Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more