Skip to content

Instantly share code, notes, and snippets.

@Jwink3101
Created August 22, 2018 21:37
Show Gist options
  • Save Jwink3101/b98aa670395e244403fc8b79d6d64028 to your computer and use it in GitHub Desktop.
Save Jwink3101/b98aa670395e244403fc8b79d6d64028 to your computer and use it in GitHub Desktop.
Qhull as boundary
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pylab as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In Matlab:\n",
"\n",
"```matlab\n",
">> x = gallery('uniformdata',30,1,1);\n",
">> y = gallery('uniformdata',30,1,10);\n",
">> xy = [x,y];\n",
">> save xy.txt xy -ascii -double\n",
"```"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11d749dd8>]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"xy = np.loadtxt('xy.txt')\n",
"x,y = xy.T\n",
"plt.plot(x,y,'o')"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"import scipy.spatial"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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jGAwyNy5c6ms9MUJiIh0c8ePH6eoqIhLL73U0zoiCfv9wLBGXw8FDjT6ujdwHvBnM9sDXAysae0irXNuqXNuinNuSm5ubuer7qSsrCyWLl3Kjh07+PGPfxz31xeR5PPWW29x+vRpT/v1EFnYbwQKzGy4maUDNwJrwt90zh11zuU454LOuSDwNjDLObcpJhV30Re/+EVuvvlmnnjiCd59912vyxGRbi4UChEIBLj44os9raPdsHfO1QB3AmuBbcAq59xWM3vEzGbFusBYePLJJ8nNzeXmm2+murra63JEpBsrLCzk/PPPJysry9M6Ihpn75x7zTk30jk3wjn3WP1jDznn1rSy7WV+PaoP69evH8899xzFxcUsWrTI63JEpJuqrKxkw4YNnrdwoBvfG6c91157LbNnz+aRRx5h27ZtXpcjIt3Qxo0bqaqq8vziLCRx2AM888wzZGVlMXfuXGpra9v/ARGRDgiFQgC+GOqd1GE/aNAgnn76adavX8+zz2qylURmdVEJ0xa+wfD5r+rW2dKmUCjEeeedR//+/b0uJbnDHuCrX/0qV199NQ888AAffvih1+WIz2npQYlUTU0Nb731li/69aCwx8x4/vnnCQQCzJs3D+dc+z8kSUtLD0qk3nvvPU6cOKGw95Nhw4axaNEiXn/9dZYvX+51OeJjWnpQIlVYWAjgi4uzoLBvMG/ePGbMmMG9997LgQMH2v8BSUpaelAivWYTCoUYMWIEQ4YMiXOFrVPY10tJSWHZsmWcOnWK22+/Xe0caZWWHkxukV6zcc5RWFjom6N6UNg3UVBQwKOPPspvf/tbVq1a5XU54kONb51t4MlaouKdSK/ZbNu2jcOHD/umXw/deFnCzrr77rt5+eWXueuuu7j88svJycnxuiTxGS09mLwivWYTHl/vp7DXkX0zqampLF++nLKyMu6++26vyxERH4n0mk1hYSFnnXUW55xzTjzKiojCvhXjx4/ngQce4L//+7959dVXvS5HRHwikms2zjlCoRAzZszArLXlQLyhsD+DBx54gHHjxvHtb3+bY8eOeV2OiPhAJNds9u7dy/79+311cRbUsz+j9PR0li9fztSpU/n+97/P888/73VJIuID7V2z8WO/HnRk36YLL7yQu+++myVLlvDnP//Z63JEJAGEQiH69evHuHHjvC6lCYV9Ox599FFGjBjB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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hull = scipy.spatial.ConvexHull(xy)\n",
"plt.plot(x,y,'o')\n",
"for simplex in hull.simplices:\n",
" plt.plot(x[simplex],y[simplex], 'k-')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"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.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment