111 lines
332 KiB
Plaintext
111 lines
332 KiB
Plaintext
|
{
|
||
|
"cells": [
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 1,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"%matplotlib widget\n",
|
||
|
"from mpl_toolkits.mplot3d import Axes3D\n",
|
||
|
"import matplotlib.pyplot as plt\n",
|
||
|
"import numpy as np\n",
|
||
|
"\n",
|
||
|
"# Mass of planet / kg\n",
|
||
|
"M = 5.974e24\n",
|
||
|
"# Radius of planet / m\n",
|
||
|
"R = 6.378e6\n",
|
||
|
"# Universal gravitational constant\n",
|
||
|
"G = 6.67e-11"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 2,
|
||
|
"metadata": {},
|
||
|
"outputs": [],
|
||
|
"source": [
|
||
|
"x = np.linspace(-4 * R, 4 * R, 1000)\n",
|
||
|
"y = np.linspace(-4 * R, 4 * R, 1000)\n",
|
||
|
"\n",
|
||
|
"X, Y = np.meshgrid(x, y)\n",
|
||
|
"r = np.sqrt(X**2 + Y**2)\n",
|
||
|
"r[r < R] = np.NaN\n",
|
||
|
"V = -G * M / r"
|
||
|
]
|
||
|
},
|
||
|
{
|
||
|
"cell_type": "code",
|
||
|
"execution_count": 3,
|
||
|
"metadata": {},
|
||
|
"outputs": [
|
||
|
{
|
||
|
"data": {
|
||
|
"application/vnd.jupyter.widget-view+json": {
|
||
|
"model_id": "bcd3de785fd043ab9ae1efba1f559a2e",
|
||
|
"version_major": 2,
|
||
|
"version_minor": 0
|
||
|
},
|
||
|
"image/png": "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
|
||
|
"text/html": [
|
||
|
"\n",
|
||
|
" <div style=\"display: inline-block;\">\n",
|
||
|
" <div class=\"jupyter-widgets widget-label\" style=\"text-align: center;\">\n",
|
||
|
" Figure\n",
|
||
|
" </div>\n",
|
||
|
" <img src='data:image/png;base64,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
|
||
|
" </div>\n",
|
||
|
" "
|
||
|
],
|
||
|
"text/plain": [
|
||
|
"Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …"
|
||
|
]
|
||
|
},
|
||
|
"metadata": {},
|
||
|
"output_type": "display_data"
|
||
|
}
|
||
|
],
|
||
|
"source": [
|
||
|
"fig = plt.figure()\n",
|
||
|
"\n",
|
||
|
"ax = Axes3D(fig, auto_add_to_figure=False)\n",
|
||
|
"ax.plot_surface(X, Y, V, cmap=plt.cm.hot)\n",
|
||
|
"ax.set_xlabel(\"x\")\n",
|
||
|
"ax.set_ylabel(\"y\")\n",
|
||
|
"ax.set_zlabel(\"V\")\n",
|
||
|
"ax.set_title(\"Potential Well\")\n",
|
||
|
"\n",
|
||
|
"fig.add_axes(ax)\n",
|
||
|
"plt.show()"
|
||
|
]
|
||
|
}
|
||
|
],
|
||
|
"metadata": {
|
||
|
"kernelspec": {
|
||
|
"display_name": "Python 3.9.2 64-bit",
|
||
|
"language": "python",
|
||
|
"name": "python3"
|
||
|
},
|
||
|
"language_info": {
|
||
|
"codemirror_mode": {
|
||
|
"name": "ipython",
|
||
|
"version": 3
|
||
|
},
|
||
|
"file_extension": ".py",
|
||
|
"mimetype": "text/x-python",
|
||
|
"name": "python",
|
||
|
"nbconvert_exporter": "python",
|
||
|
"pygments_lexer": "ipython3",
|
||
|
"version": "3.9.2 (default, Feb 28 2021, 17:03:44) \n[GCC 10.2.1 20210110]"
|
||
|
},
|
||
|
"orig_nbformat": 4,
|
||
|
"vscode": {
|
||
|
"interpreter": {
|
||
|
"hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6"
|
||
|
}
|
||
|
}
|
||
|
},
|
||
|
"nbformat": 4,
|
||
|
"nbformat_minor": 2
|
||
|
}
|