mirror of
https://gitlab.com/Anson-Projects/projects.git
synced 2025-06-16 06:56:46 +00:00
78 lines
2.4 KiB
Plaintext
78 lines
2.4 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"---\n",
|
|
"title: \"Moon Cannon: dos\"\n",
|
|
"description: |\n",
|
|
" Can you shoot Earth from the Moon? Simulate lunar ballistic launches with Julia. Explore orbital mechanics, gravity, and drag in a simplified Moon-to-Earth cannon model.\n",
|
|
"date: 2024-09-25\n",
|
|
"categories:\n",
|
|
" - Julia\n",
|
|
" - Astrodynamics\n",
|
|
" - Code\n",
|
|
" - Aerospace\n",
|
|
" - Space\n",
|
|
" - Math\n",
|
|
"draft: false\n",
|
|
"freeze: false\n",
|
|
"image: moon_spirograph.png\n",
|
|
"---"
|
|
],
|
|
"id": "e623b02d"
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"metadata": {},
|
|
"source": [
|
|
"using SPICE\n",
|
|
"\n",
|
|
"const LSK = \"https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/naif0012.tls\"\n",
|
|
"const SPK = \"https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/de440.bsp\"\n",
|
|
"\n",
|
|
"# Download kernels\n",
|
|
"download(LSK, \"naif0012.tls\")\n",
|
|
"download(SPK, \"de440.bsp\")\n",
|
|
"\n",
|
|
"# Load leap seconds kernel\n",
|
|
"furnsh(\"naif0012.tls\")\n",
|
|
"\n",
|
|
"# Load a planetary ephemeris kernel\n",
|
|
"furnsh(\"de440.bsp\")\n",
|
|
"\n",
|
|
"function get_planet_positions(epoch)\n",
|
|
" planets = [\"MERCURY\", \"VENUS\", \"EARTH\", \"MARS\", \n",
|
|
" \"JUPITER\", \"SATURN\", \"URANUS\", \"NEPTUNE\"]\n",
|
|
" positions = Dict()\n",
|
|
"\n",
|
|
" for planet in planets\n",
|
|
" # Get position vector in km relative to Sun\n",
|
|
" pos, _ = spkpos(planet, epoch, \"J2000\", \"NONE\", \"earth\")\n",
|
|
" positions[planet] = pos\n",
|
|
" end\n",
|
|
"\n",
|
|
" return positions\n",
|
|
"end\n",
|
|
"\n",
|
|
"# Example usage (epoch in UTC)\n",
|
|
"epoch = \"1995-12-17T12:00:00\" |> utc2et\n",
|
|
"positions = get_planet_positions(epoch)"
|
|
],
|
|
"id": "72207da4",
|
|
"execution_count": null,
|
|
"outputs": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"name": "julia-1.11",
|
|
"language": "julia",
|
|
"display_name": "Julia 1.11.1",
|
|
"path": "/root/.local/share/jupyter/kernels/julia-1.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
} |