Skip to content

Instantly share code, notes, and snippets.

@neizod
Created March 2, 2020 00:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neizod/fa4ecfed4c6bbfb82f148338a649bd21 to your computer and use it in GitHub Desktop.
Save neizod/fa4ecfed4c6bbfb82f148338a649bd21 to your computer and use it in GitHub Desktop.
Umbra-Penambra-Antumbra and Shadow Densities.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import matplotlib as mpl\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from collections import namedtuple\n",
"\n",
"Point = namedtuple('Point', 'x y z')\n",
"Line = namedtuple('Line', 'p q')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"class Eclipse(object):\n",
" def __init__(self, sun_radius, sun_distance, moon_radius, moon_distance):\n",
" self.sun_radius = sun_radius\n",
" self.sun_distance = sun_distance\n",
" self.moon_radius = moon_radius\n",
" self.moon_distance = moon_distance\n",
" self.light_sources = self.make_circle_light_source()\n",
"\n",
" @staticmethod\n",
" def z_location(line, distance):\n",
" diff_x = line.p.x - line.q.x\n",
" diff_y = line.p.y - line.q.y\n",
" diff_z = line.p.z - line.q.z\n",
" rate = (distance - line.p.z) / diff_z\n",
" return Point(line.p.x + rate*diff_x, line.p.y + rate*diff_y, distance)\n",
"\n",
" @staticmethod\n",
" def circle_iterator(radius):\n",
" for x in range(-radius, radius+1):\n",
" for y in range(-radius, radius+1):\n",
" if (x**2 + y**2) <= radius**2:\n",
" yield x, y\n",
"\n",
" def make_circle_light_source(self):\n",
" return [Point(x, y, self.sun_distance) for x, y in self.circle_iterator(self.sun_radius)]\n",
"\n",
" def is_eclipsed(self, point, sun_point):\n",
" moon_point = self.z_location(Line(point, sun_point), self.moon_distance)\n",
" return (moon_point.x**2 + moon_point.y**2) <= self.moon_radius**2\n",
"\n",
" def visible_density(self, point, light_sources):\n",
" if point.z >= self.moon_distance:\n",
" return 1.0\n",
" count = 0\n",
" for source in self.light_sources:\n",
" count += not self.is_eclipsed(point, source)\n",
" return count / len(self.light_sources)\n",
"\n",
" def run(self, size):\n",
" precision = 2*size + 1\n",
" densities = np.zeros(3*precision**2).reshape(precision, -1)\n",
" for i, yp in enumerate(np.linspace(size, -size-2*precision, 3*precision)):\n",
" for j, xp in enumerate(np.linspace(-size, size, precision)):\n",
" densities[j][i] = self.visible_density(Point(xp, 0, yp), self.light_sources)\n",
" return densities"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"SUN_RADIUS = 25\n",
"SUN_DISTANCE = 125\n",
"\n",
"MOON_RADIUS = 5\n",
"MOON_DISTANCE = 25\n",
"\n",
"SIZE = 25\n",
"\n",
"densities = Eclipse(SUN_RADIUS, SUN_DISTANCE, MOON_RADIUS, MOON_DISTANCE).run(SIZE)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fef1058da20>"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x3240 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(15, 45))\n",
"plt.imshow(densities, origin='lower', cmap=plt.get_cmap('Greys_r'))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fef0e4f7470>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x3240 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"my_cmap = mpl.colors.ListedColormap([\n",
" 'midnightblue', 'blueviolet', 'magenta',\n",
" 'crimson', 'red', 'orangered',\n",
" 'gold', 'greenyellow', 'lime',\n",
" 'turquoise', 'aqua', 'skyblue',\n",
" 'lavender', 'ghostwhite', 'white'\n",
"])\n",
"\n",
"plt.figure(figsize=(15, 45))\n",
"plt.imshow(densities, origin='lower', cmap=my_cmap)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7fef0e475198>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1080x3240 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.figure(figsize=(15, 45))\n",
"plt.plot([0, 25, 150], [30, 25, 0], color='red')\n",
"plt.plot([0, 25, 150], [20, 25, 50], color='red')\n",
"plt.plot([0, 100], [30, 60], color='blue')\n",
"plt.plot([0, 100], [20, -10], color='blue')\n",
"for i in [2, 4, 7, 10, 15, 22, 34, 56]:\n",
" plt.plot([0, 25+i, 25+i, 0], [20, 25-0.2*i, 25+0.2*i, 30], '--')\n",
"plt.imshow(densities, origin='lower', cmap=plt.get_cmap('Greys_r'))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.9"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment