{ "cells": [ { "cell_type": "markdown", "id": "811e2b6c", "metadata": {}, "source": [ "# Create an array with a hole at the center" ] }, { "cell_type": "code", "execution_count": 1, "id": "5ec9566d", "metadata": {}, "outputs": [], "source": [ "from wolfhece.wolf_array import header_wolf, WolfArray\n", "from wolfhece.PyVertexvectors import vector, wolfvertex\n", "\n", "import numpy as np\n", "from math import pi, sin, cos\n", "\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "e9f40720", "metadata": {}, "source": [ "## Array part" ] }, { "cell_type": "code", "execution_count": 2, "id": "95bcbee8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Shape : 201 x 101 \n", "Resolution : 0.5 x 0.5 \n", "Spatial extent : \n", " - Origin : (10.0 ; 20.0) \n", " - End : (110.5 ; 70.5) \n", " - Width x Height : 100.5 x 50.5 \n", " - Translation : (0.0 ; 0.0)\n", "Null value : 0.0\n", "\n", "\n", "([10.0, 110.5], [20.0, 70.5])\n", "The center of the array is at {60.25} {45.25}\n" ] } ], "source": [ "h = header_wolf()\n", "h.set_origin(10.,20.) # to be non-zero\n", "h.set_resolution(.5, .5)\n", "h.shape = 201, 101\n", "\n", "wa = WolfArray(srcheader=h)\n", "print(wa)\n", "\n", "bounds = wa.get_bounds()\n", "print(bounds)\n", "print(f'The center of the array is at', {(bounds[0][0]+bounds[0][1])/2.}, {(bounds[1][0]+bounds[1][1])/2.})" ] }, { "cell_type": "code", "execution_count": 3, "id": "5dccffdf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "center = 60.25, 45.25\n" ] } ], "source": [ "x_center, y_center = wa.ij2xy(101, 51, aswolf=True) # 11, 6 is the center of the array as the array is 201x101\n", "\n", "print(f\"center = {x_center}, {y_center}\")" ] }, { "cell_type": "markdown", "id": "9d23dab5", "metadata": {}, "source": [ "## Vectorial part" ] }, { "cell_type": "code", "execution_count": 4, "id": "67d04a7f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "21\n" ] } ], "source": [ "center_circle = wolfvertex(x_center, y_center)\n", "radius = 5.0\n", "\n", "circle = vector(name='circle')\n", "circle.add_vertex([center_circle] *3) # add 3 times the center circle to make a \"triangle\"\n", "circle.buffer(radius, 5) # create a buffer (-> a cricle) with radius 2.0 and a resolution of 5, 5 segments in a quarter of circle (see https://shapely.readthedocs.io/en/stable/reference/shapely.buffer.html for details)\n", "circle.reset_linestring()\n", "\n", "print(circle.nbvertices)" ] }, { "cell_type": "markdown", "id": "c55b4f00", "metadata": {}, "source": [ "Plot just to be sure..." ] }, { "cell_type": "code", "execution_count": 5, "id": "a90b9cc5", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "circle.plot_matplotlib(ax)\n", "ax.set_aspect('equal', adjustable='box')" ] }, { "cell_type": "markdown", "id": "f245ff0c", "metadata": {}, "source": [ "## Combine array and vector" ] }, { "cell_type": "code", "execution_count": 6, "id": "5f736ab9", "metadata": {}, "outputs": [], "source": [ "wa.mask_insidepoly(circle, method='shapely_strict') # mask inside the circle with value 1\n", "wa.nullify_border(1) # nullify 1 cells around the array" ] }, { "cell_type": "markdown", "id": "0b810dcb", "metadata": {}, "source": [ "Plot just to be sure..." ] }, { "cell_type": "code", "execution_count": 7, "id": "838264d5", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAGuCAYAAACdq+lZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAHyBJREFUeJzt3X901fV9+PFXMCFSMTeGQQKTcGjnDFbZQeiBiNt6NC31eHrsiN3qoRutnHmqgfKjW9tss45tNWpPi3MbWD0eup3KOOUcsYUd56Fo42ELFFPdpNbIVk+TCQk9tclFKoGZz/74Hu+XICo3AfJOeDzO+ZyTfD6f+8n79rx7uE/f93NvSZZlWQAAACRq3EgPAAAA4N2IFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICklY70AE42MDAQBw4ciIsvvjhKSkpGejgAAMBZkmVZHD58OKZNmxbjxr3LekpWhBkzZmQR8bbtjjvuyLIsy954443sjjvuyKqqqrKLLrooW7x4cdbd3V3Mn8i6urpO+TdsNpvNZrPZbDbb2Ny6urretRFKsizL4jT9/Oc/jzfffLPw+759++IjH/lIPP300/HhD384br/99viXf/mX+Na3vhW5XC6WL18e48aNi3/7t3873T8RfX19UVlZGV1dXVFRUXHajwMAAEaXfD4f06dPj97e3sjlcu94XlHRcrJVq1bF9u3bY//+/ZHP52Py5MmxadOmuPnmmyMi4qWXXopZs2ZFW1tbLFiw4LQHnsvloq+vT7QAAMAYdrqv/Yd8I/6xY8fi29/+dtx6661RUlIS7e3tcfz48WhoaCicU1dXF7W1tdHW1vaO1+nv7498Pj9oAwAAeMuQb8R//PHHo7e3Nz7zmc9ERER3d3eMHz8+KisrB51XXV0d3d3d73idlpaWWLt27bv+rXc/CgAAjBZ3DeExQ15peeSRR+KGG26IadOmDfUSERHR3NwcfX19ha2rq2tY1wMAAMaWIa20/OxnP4vvf//78dhjjxX21dTUxLFjx6K3t3fQaktPT0/U1NS847XKy8ujvLx8KMMAAADOA0Naadm4cWNMmTIlbrzxxsK+uXPnRllZWezcubOwr6OjIzo7O6O+vn74IwUAAM5LRa+0DAwMxMaNG2Pp0qVRWvr/H57L5WLZsmWxZs2aqKqqioqKilixYkXU19ef9ieHAQAAnKzoaPn+978fnZ2dceutt77t2Lp162LcuHHR2NgY/f39sWjRoli/fv0ZGSgAAHB+Gtb3tJwNp/qsZp8eBgAAY8OJnx521r+nBQAA4FwQLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASSs6Wl599dX49Kc/HZMmTYoJEybEVVddFc8++2zheJZl8ZWvfCWmTp0aEyZMiIaGhti/f/8ZHTQAAHD+KCpafvnLX8bChQujrKwsnnjiiXjxxRfj61//elxyySWFc+6777544IEH4sEHH4w9e/bERRddFIsWLYqjR4+e8cEDAABjX2kxJ997770xffr02LhxY2HfzJkzCz9nWRb3339//MVf/EXcdNNNERHxT//0T1FdXR2PP/54fOpTnzpDwwYAAM4XRa20fO9734t58+bFJz/5yZgyZUrMmTMnHn744cLxV155Jbq7u6OhoaGwL5fLxfz586Otre2U1+zv7498Pj9oAwAAeEtR0fLTn/40NmzYEJdddlk8+eSTcfvtt8fnP//5+Md//MeIiOju7o6IiOrq6kGPq66uLhw7WUtLS+RyucI2ffr0oTwPAABgjCoqWgYGBuLqq6+Ou+++O+bMmRO33XZb/PEf/3E8+OCDQx5Ac3Nz9PX1Fbaurq4hXwsAABh7ioqWqVOnxhVXXDFo36xZs6KzszMiImpqaiIioqenZ9A5PT09hWMnKy8vj4qKikEb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jY3R09NzxgcNAACcP4qKlksvvTTuueeeaG9vj2effTauu+66uOmmm+LHP/5xRESsXr06tm3bFlu2bInW1tY4cOBALF68+KwMHAAAOD+UZFmWDecCVVVV8bWvfS1uvvnmmDx5cmzatCluvvnmiIh46aWXYtasWdHW1hYLFiw4revl8/nI5XLR19cXFRUVERGxdjgDBAAAknHXCT+f6rX/qQz5npY333wzNm/eHEeOHIn6+vpob2+P48ePR0NDQ+Gcurq6qK2tjba2tne8Tn9/f+Tz+UEbAADAW4qOlhdeeCEmTpwY5eXl8bnPfS62bt0aV1xxRXR3d8f48eOjsrJy0PnV1dXR3d39jtdraWmJXC5X2KZPn170kwAAAMauoqPl8ssvj+effz727NkTt99+eyxdujRefPHFIQ+gubk5+vr6CltXV9eQrwUAAIw9pcU+YPz48fEbv/EbERExd+7c2Lt3b/zt3/5t/MEf/EEcO3Ysent7B6229PT0RE1NzTter7y8PMrLy4sfOQAAcF4Y9ve0DAwMRH9/f8ydOzfKyspi586dhWMdHR3R2dkZ9fX1w/0zAADAeaqolZbm5ua44YYbora2Ng4fPhybNm2KH/zgB/Hkk09GLpeLZcuWxZo1a6KqqioqKipixYoVUV9ff9qfHAYAAHCyoqLl0KFD8Ud/9Edx8ODByOVyMXv27HjyySfjIx/5SERErFu3LsaNGxeNjY3R398fixYtivXr15+VgQMAAOeHYX9Py5nme1oAAGDsOqff0wIAAHAuiBYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = wa.plot_matplotlib()\n", "fig.set_size_inches(10, 5)\n" ] }, { "cell_type": "code", "execution_count": 8, "id": "88e412e2", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAGuCAYAAACdq+lZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAKnxJREFUeJzt3XuUVgW9//HP4MCIyAyCOCMqhpeYUbS8lE52O0Z5PJ5WHdFOLitKuykqYqVhGqImasdDcUzN8ofdyLKfWloel6FhFpqSdrwweMmElEFNZwYvDMTs3x9H5+coGgPIs4d5vdbaaw1772fP91lrt5x3+9n7qSqKoggAAEBJDaj0AAAAAK9HtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASq260gO8UldXVx5//PEMHTo0VVVVlR4HAAB4gxRFkeXLl2fUqFEZMOB1rqcUvbDjjjsWSV61HHvssUVRFMULL7xQHHvsscXw4cOLIUOGFIceemjR2tram19RLFmyZI2/w2KxWCwWi8VisWyay5IlS163EaqKoiiylp588smsXr26+9/33ntv3v/+9+fmm2/Oe9/73hxzzDH55S9/mcsvvzx1dXU57rjjMmDAgPzud79b21+R9vb2DBs2LEuWLEltbe1avw4AAOhbOjo6ssMOO6StrS11dXWvuV+vouWVTjzxxFx33XV58MEH09HRkZEjR2bOnDk57LDDkiQtLS1pamrK/Pnzs//++6/14HV1dWlvbxctAACwCVvbv/3X+Ub8lStX5oc//GGOOuqoVFVVZcGCBVm1alXGjx/fvU9jY2NGjx6d+fPnv+ZxOjs709HR0WMBAAB4yTrfiH/NNdekra0tn/zkJ5Mkra2tGTRoUIYNG9Zjv/r6+rS2tr7mcWbMmJHp06e/7u96/a0AAEBfMW0dXrPOV1ouu+yyHHzwwRk1atS6HiJJMnXq1LS3t3cvS5YsWa/jAQAAm5Z1utLy6KOP5te//nWuuuqq7nUNDQ1ZuXJl2traelxtWbZsWRoaGl7zWDU1NampqVmXMQAAgH5gna60zJ49O9tss00OOeSQ7nX77LNPBg4cmLlz53avW7RoURYvXpzm5ub1nxQAAOiXen2lpaurK7Nnz87EiRNTXf3/X15XV5ejjz46J510UoYPH57a2tocf/zxaW5uXusnhwEAALxSr6Pl17/+dRYvXpyjjjrqVdtmzpyZAQMGZMKECens7MxBBx2Uiy66aIMMCgAA9E/r9T0tb4Q1PavZ08MAAGDT8PKnh73h39MCAACwMYgWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKn1Oloee+yxfOxjH8uIESMyePDg7LHHHrnzzju7txdFka9+9avZdtttM3jw4IwfPz4PPvjgBh0aAADoP3oVLc8880wOOOCADBw4MNdff33uv//+XHDBBdlqq6269zn//PMza9asXHLJJbn99tszZMiQHHTQQVmxYsUGHx4AANj0Vfdm5/POOy877LBDZs+e3b1uzJgx3T8XRZFvfOMbOe200/KhD30oSfL9738/9fX1ueaaa/LRj350A40NAAD0F7260vKLX/wi++67bw4//PBss8022WuvvfKd73yne/sjjzyS1tbWjB8/vntdXV1d9ttvv8yfP3+Nx+zs7ExHR0ePBQAA4CW9ipY///nPufjii7PrrrvmhhtuyDHHHJMTTjgh3/ve95Ikra2tSZL6+voer6uvr+/e9kozZsxIXV1d97LDDjusy/sAAAA2Ub2Klq6uruy9994555xzstdee+Wzn/1sPvOZz+SSSy5Z5wGmTp2a9vb27mXJkiXrfCwAAGDT06to2XbbbbPbbrv1WNfU1JTFixcnSRoaGpIky5Yt67HPsmXLure9Uk1NTWpra3ssAAAAL+lVtBxwwAFZtGhRj3UPPPBAdtxxxyT/e1N+Q0ND5s6d2729o6Mjt99+e5qbmzfAuAAAQH/Tq6eHTZkyJe94xztyzjnn5CMf+Uj+8Ic/5NJLL82ll16aJKmqqsqJJ56Ys88+O7vuumvGjBmT008/PaNGjcqHP/zhN2J+AABgE9eraHnb296Wq6++OlOnTs2ZZ56ZMWPG5Bvf+EaOPPLI7n1OPvnkPPfcc/nsZz+btra2vPOd78x///d/Z/PNN9/gwwMAAJu+qqIoikoP8XIdHR2pq6tLe3t79/0t0ys8EwAAsGFMe9nPa/rbf016dU8LAADAxiZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKXWq2g544wzUlVV1WNpbGzs3r5ixYpMmjQpI0aMyJZbbpkJEyZk2bJlG3xoAACg/+j1lZbdd989S5cu7V5uvfXW7m1TpkzJtddemyuvvDLz5s3L448/nkMPPXSDDgzApqlr9epKjwBASVX3+gXV1WloaHjV+vb29lx22WWZM2dODjzwwCTJ7Nmz09TUlNtuuy3777//+k8LQJ9WFEWWP/54nly4ME+1tOSphQu7f3526dLUjR6drRsbs3VTU0Y2NXX/PGTkyFRVVVV6fAAqpNfR8uCDD2bUqFHZfPPN09zcnBkzZmT06NFZsGBBVq1alfHjx3fv29jYmNGjR2f+/PmiBaCfeeYvf0nr3XfnqRej5KU4Wbl8eZJks0GDMnzXXTOyqSl7H310arffPs888kieamnJQ9dfnz9ceGGKF6++bL7VVv8bMS+GzMimpmy7994Zuu22lXyLAGwkvYqW/fbbL5dffnnGjh2bpUuXZvr06XnXu96Ve++9N62trRk0aFCGDRvW4zX19fVpbW19zWN2dnams7Oz+98dHR29ewcAVNy0l/1833335YwzzsjPfvazJEldXV2amppy0LhxaTzssDQ1NaWxsTFjxoxJdfVr/2do5cqVeeihh9LS0pKFCxempaUlLX/6U+b/5Cd59tlnU11dnU9+8pM57bTTsuOOO3a/bvob9SYBqJheRcvBBx/c/fOee+6Z/fbbLzvuuGN++tOfZvDgwes0wIwZMzJ9uv/EAPR1ixYtyvTp03PFFVdkxx13zHe/+90ccsghqa+vX6ePdg0aNCi77bZbdttttx7ri6LIY489lp/+9Kc599xz873vfS+f/vSnc+qpp2b77bffUG8HgBJZr0ceDxs2LG9+85vz0EMPpaGhIStXrkxbW1uPfZYtW7bGe2BeMnXq1LS3t3cvS5YsWZ+RANjInn744UycODG77bZbfvvb3+biiy/OokWLcvTRR6ehoWGD34tSVVWV7bffPieddFIeeeSRnHXWWfnJT36SXXbZJZMnT87ypUs36O8DoPLWK1qeffbZPPzww9l2222zzz77ZODAgZk7d2739kWLFmXx4sVpbm5+zWPU1NSktra2xwJA+T3zl7/k55/+dP5r7NjceOON+eY3v5mHHnoon/vc5zJo0KCNMsOQIUNyyimn5JFHHslpp52W73//+/nmzjvnhi9+Mc8+8cRGmQGAN15VURTF2u78xS9+MR/84Aez44475vHHH8+0adNy99135/7778/IkSNzzDHH5Fe/+lUuv/zy1NbW5vjjj0+S/P73v1/rgTo6OlJXV5f29vbugPHhMYDyaF+yJL8955z86bLLstVWW+XLX/5yPv/5z6/zx4Q3pLa2tsycOTMzZ87M6tWrs9fxx+eAL30pW4wYUenRAHjRy++DXNPf/mvSqystf/3rX3PEEUdk7Nix+chHPpIRI0bktttuy8iRI5MkM2fOzL/+679mwoQJefe7352GhoZcddVV6/RmACiXoijy2xkzMmuXXXLflVfm7LPPzp///OdMmTKlFMGS/O/HlqdPn56//OUvmTx5cv5w4YX5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CwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKn1Klouvvji7LnnnqmtrU1tbW2am5tz/fXXd29fsWJFJk2alBEjRmTLLbfMhAkTsmzZsg0+NAAA0H/0Klq23377nHvuuVmwYEHuvPPOHHjggfnQhz6U++67L0kyZcqUXHvttbnyyiszb968PP744zn00EPfkMEBAID+oaooimJ9DjB8+PB8/etfz2GHHZaRI0dmzpw5Oeyww5IkLS0taWpqyvz587P//vuv1fE6OjpSV1eX9vb21NbWJkmmr8+AAABAaUx72c9r+tt/Tdb5npbVq1fniiuuyHPPPZfm5uYsWLAgq1atyvjx47v3aWxszOjRozN//vzXPE5nZ2c6Ojp6LAAAAC/pdbTcc8892XLLLVNTU5PPf/7zufrqq7PbbrultbU1gwYNyrBhw3rsX19fn9bW1tc83owZM1JXV9e97LDDDr1+EwAAwKar19EyduzY3H333bn99ttzzDHHZOLEibn//vvXeYCpU6emvb29e1myZMk6HwsAANj0VPf2BYMGDcouu+ySJNlnn31yxx135Jvf/Gb+/d//PStXrkxbW1uPqy3Lli1LQ0PDax6vpqYmNTU1vZ8cAADoF9b7e1q6urrS2dmZffbZJwMHDszcuXO7ty1atCiLFy9Oc3Pz+v4aAACgn+rVlZapU6fm4IMPzujRo7N8+fLMmTMnv/nNb3LDDTekrq4uRx99dE466aQMHz48tbW1Of7449Pc3LzWTw4DAAB4pV5FyxNPPJFPfOITWbp0aerq6rLnnnvmhhtuyPvf//4kycyZMzNgwIBMmDAhnZ2dOeigg3LRRRe9IYMDAAD9w3p/T8uG5ntaAABg07VRv6cFAABgYxAtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUhMtAABAqYkWAACg1EQLAABQaqIFAAAoNdECAACUmmgBAABKTbQAAAClJloAAIBSEy0AAECpiRYAAKDURAsAAFBqogUAACg10QIAAJSaaAEAAEpNtAAAAKUmWgAAgFKr7s3OM2bMyFVXXZWWlpYMHjw473jHO3Leeedl7Nix3fusWLEiX/jCF3LFFVeks7MzBx10UC666KLU19ev85DT1vmVAABAX9erKy3z5s3LpEmTctttt+XGG2/MqlWr8oEPfCDPPfdc9z5TpkzJtddemyuvvDLz5s3L448/nkMPPXSDDw4AAPQPVUVRFOv64ieffDLbbLNN5s2bl3e/+91pb2/PyJEjM2fOnBx22GFJkpaWljQ1NWX+/PnZf//9/+ExOzo6UldXl/b29tTW1q7raAAAQMmt7d/+vfp42Cu1t7cnSYYPH54kWbBgQVatWpXx48d379PY2JjRo0e/ZrR0dnams7PzVcfs6OhYn9EAAICSe+lv/n90HWWdo6WrqysnnnhiDjjggIwbNy5J0tramkGDBmXYsGE99q2vr09ra+sajzNjxoxMnz79Vet32GGHdR0NAADoQ5YvX566urrX3L7O0TJp0qTce++9ufXWW9f1EEmSqVOn5qSTTur+d1dXV55++umMGDEiVVVV63Xs/qKjoyM77LBDlixZ4iN1bHDOL95ozjHeSM4v3kjOr/VXFEWWL1+eUaNGve5+6xQtxx13XK677rrccsst2X777bvXNzQ0ZOXKlWlra+txtWXZsmVpaGhY47FqampSU1PTY90rr9Swdmpra/0PhjeM84s3mnOMN5LzizeS82v9vN4Vlpf06ulhRVHkuOOOy9VXX52bbropY8aM6bF9n332ycCBAzN37tzudYsWLcrixYvT3Nzcm18FAACQpJdXWiZNmpQ5c+bk5z//eYYOHdp9n0pdXV0GDx6curq6HH300TnppJMyfPjw1NbW5vjjj09zc/NaPTkMAADglXoVLRdffHGS5L3vfW+P9bNnz84nP/nJJMnMmTMzYMCATJgwoceXS/LGqampybRp0171MTvYEJxfvNGcY7yRnF+8kZxfG896fU8LAADAG61X97QAAABsbKIFAAAoNdECAACUmmgBAABKTbT0ETNmzMjb3va2DB06NNtss00+/OEPZ9GiRT32WbFiRSZNmpQRI0Zkyy23zIQJE7Js2bIKTUxfdu6556aqqionnnhi9zrnF+vrsccey8c+9rGMGDEigwcPzh577JE777yze3tRFPnqV7+abbfdNoMHD8748ePz4IMPVnBi+orVq1fn9NNPz5gxYzJ48ODsvPPOOeuss/LyZw05v+iNW265JR/84AczatSoVFVV5ZprrumxfW3Op6effjpHHnlkamtrM2zYsBx99NF59tlnN+K72LSIlj5i3rx5mTRpUm677bbceOONWbVqVT7wgQ/kueee695nypQpufbaa3PllVdm3rx5efzxx3PooYdWcGr6ojvuuCPf/va3s+eee/ZY7/xifTzzzDM54IADMnDgwFx//fW5//77c8EFF2Srrbbq3uf888/PrFmzcskll+T222/PkCFDctBBB2XFihUVnJy+4LzzzsvFF1+cCy+8MAsXLsx5552X888/P//1X//VvY/zi9547rnn8pa3vCXf+ta31rh9bc6nI488Mvfdd19uvPHGXHfddbnlllvy2c9+dmO9hU1PQZ/0xBNPFEmKefPmFUVRFG1tbcXAgQOLK6+8snufhQsXFkmK+fPnV2pM+pjly5cXu+66a3HjjTcW73nPe4rJkycXReH8Yv2dcsopxTvf+c7X3N7V1VU0NDQUX//617vXtbW1FTU1NcWPf/zjjTEifdghhxxSHHXUUT3WHXroocWRRx5ZFIXzi/WTpLj66qu7/70259P9999fJCnuuOOO7n2uv/76oqqqqnjsscc22uybElda+qj29vYkyfDhw5MkCxYsyKpVqzJ+/PjufRobGzN69OjMnz+/IjPS90yaNCmHHHJIj/MocX6x/n7xi19k3333zeGHH55tttkme+21V77zne90b3/kkUfS2tra4xyrq6vLfvvt5xzjH3rHO96RuXPn5oEHHkiS/OlPf8qtt96agw8+OInziw1rbc6n+fPnZ9iwYdl333279xk/fnwGDBiQ22+/faPPvCmorvQA9F5XV1dOPPHEHHDAARk3blySpLW1NYMGDcqwYcN67FtfX5/W1tYKTElfc8UVV+SPf/xj7rjjjldtc36xvv785z/n4osvzkknnZRTTz01d9xxR0444YQMGjQoEydO7D6P6uvre7zOOcba+PKXv5yOjo40NjZms802y+rVq/O1r30tRx55ZJI4v9ig1uZ8am1tzTbbbNNje3V1dYYPH+6cW0eipQ+aNGlS7r333tx6662VHoVNxJIlSzJ58uTceOON2XzzzSs9Dpugrq6u7LvvvjnnnHOSJHvttVfuvffeXHLJJZk4cWKFp6Ov++lPf5of/ehHmTNnTnbffffcfffdOfHEEzNq1CjnF2wifDysjznuuONy3XXX5eabb87222/fvb6hoSErV65MW1tbj/2XLVuWhoaGjTwlfc2CBQvyxBNPZO+99051dXWqq6szb968zJo1K9XV1amvr3d+sV623Xbb7Lbbbj3WNTU1ZfHixUnSfR698ol0zjHWxpe+9KV8+ctfzkc/+tHsscce+fjHP54pU6ZkxowZSZxfbFhrcz41NDTkiSee6LH973//e55++mnn3DoSLX1EURQ57rjjcvXVV+emm27KmDFjemzfZ599MnDgwMydO7d73aJFi7J48eI0Nzdv7HHpY973vvflnnvuyd1339297LvvvjnyyCO7f3Z+sT4OOOCAVz2m/YEHHsiOO+6YJBkzZkwaGhp6nGMdHR25/fbbnWP8Q88//3wGDOj5J81mm22Wrq6uJM4vNqy1OZ+am5vT1taWBQsWdO9z0003paurK/vtt99Gn3mTUOknAbB2jjnmmKKurq74zW9+UyxdurR7ef7557v3+fznP1+MHj26uOmmm4o777yzaG5uLpqbmys4NX3Zy58eVhTOL9bPH/7wh6K6urr42te+Vjz44IPFj370o2KLLbYofvjDH3bvc+655xbDhg0rfv7znxf/8z//U3zoQx8qxowZU7zwwgsVnJy+YOLEicV2221XXHfddcUjjzxSXHXVVcXWW29dnHzyyd37OL/ojeXLlxd33XVXcddddxVJiv/8z/8s7rrrruLRRx8timLtzqd//ud/Lvbaa6/i9ttvL2699dZi1113LY444ohKvaU+T7T0EUnWuMyePbt7nxdeeKE49thji6222qrYYostin/7t38rli5dWrmh6dNeGS3OL9bXtddeW4wbN66oqakpGhsbi0svvbTH9q6uruL0008v6uvri5qamuJ973tfsWjRogpNS1/S0dFRTJ48uRg9enSx+eabFzvttFPxla98pejs7Ozex/lFb9x8881r/Ltr4sSJRVGs3fn0t7/9rTjiiCOKLbfcsqitrS0+9alPFcuXL6/Au9k0VBXFy74uFgAAoGTc0wIAAJSaaAEAAEpNtAAAAKUmWgAAgFITLQAAQKmJFgAAoNRECwAAUGqiBQAAKDXRAgAAlJpoAQAASk20AAAApSZaAACAUvt/0z3pMvtXhhgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = wa.plot_matplotlib()\n", "fig.set_size_inches(10, 5)\n", "circle.plot_matplotlib(ax) # plot the circle in red" ] }, { "cell_type": "markdown", "id": "3e3cf1da", "metadata": {}, "source": [ "## Get the external contour" ] }, { "cell_type": "code", "execution_count": 9, "id": "1c8985e3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "There is an interior masked part in the array\n" ] } ], "source": [ "sux, suy, contour, interior = wa.suxsuy_contour()\n", "\n", "if interior:\n", " print('There is an interior masked part in the array') # the circle is inside the array" ] }, { "cell_type": "markdown", "id": "862fb3c8", "metadata": {}, "source": [ "If we plot the contour, the inner part is linked to the outer one." ] }, { "cell_type": "code", "execution_count": 55, "id": "abe77304", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAy0AAAGuCAYAAACdq+lZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJPJJREFUeJzt3Qu0lXWd8PEfCByUqyAXTeD1Dor2qrgUL+VSlDFyNNDUMdNiao0iCUxl1GhpKupkmPdyEToZw0QrMXU5jqHiaCiCVpqKWL6CF5BJD6ByZ7/reV7PfjkIeu77v/f+fNZ6PHs/zz7n/I/rAc53/59Lu0KhUAgAAIBEtS/1AAAAAD6OaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABIWodIzObNm+PNN9+Mbt26Rbt27Uo9HAAAoJUUCoVYvXp17LbbbtG+/cfMpxQaYdCgQYXsU7ZeLrjggnz7mjVr8se9evUqdOnSpTB69OjCsmXLGvMtCkuXLt3m97BYLBaLxWKxWCxRkUvWAB+nXfafhpbQihUrYtOmTcXnzz//fJxwwgnxyCOPxLHHHhvnn39+3H///XHHHXdEjx494sILL8yL6Yknnmhwba1cuTJ69uwZS5cuje7duzf48wAAgPKyatWqGDBgQNTW1ub9sD2NipatTZgwIe67775YvHhx/g379OkTM2bMiNNOOy3f/tJLL8WQIUNi3rx5ccQRRzR44NmAs3gRLQAAULka+rt/k89pWb9+fdx1110xadKk/NyThQsXxoYNG2LEiBHF1wwePDgGDhz4sdGybt26fNly4Ft69tln49Zbb82PdwMAAMpXhw4d4lvf+lbsueeejfu8pn7D2bNn59M45513Xv582bJl0alTp/zQri3169cv37Y9U6ZMicsuu2y722fOnBk/v/PO6P+//3dThwoAACTgjfnzY+jQoTFu3Li2iZZp06bFSSedlJ/p3xyTJ0/OZ2u2Pq5tSz0GDoyvPfVUs74PAABQWj+sqWnS5zUpWl577bX43e9+F7/5zW+K6/r3758fMpbNvmw527J8+fJ82/bU1NTkCwAAQIvdXHL69OnRt2/fGDVqVHHdoYceGh07dow5c+YU1y1atCiWLFkSw4cPb8q3AQAAaPxMS3bzxyxazj333PxEmjrZWf9jx47ND/Xq1atXfvb/+PHj82Bp6JXDAAAAmh0t2WFh2ezJV7/61Y9smzp1an5fljFjxuRXBBs5cmTccsstjf0WAAAATY+WE088cbuXH+7cuXPcfPPN+QIAAFCyc1oAAADaimgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAKisaHnjjTfiS1/6UvTu3Tt23HHHOPDAA2PBggXF7YVCIS699NLYdddd8+0jRoyIxYsXt/S4AQCAKtGoaHn33XfjqKOOio4dO8YDDzwQL7zwQlx33XWx8847F19z7bXXxg033BC33XZbPPXUU9GlS5cYOXJkrF27tjXGDwAAVLgOjXnxNddcEwMGDIjp06cX1+2xxx71Zlmuv/76+Jd/+Zc45ZRT8nX/9m//Fv369YvZs2fHmWee2ZJjBwAAqkCjZlp++9vfxrBhw+L000+Pvn37xsEHHxy33357cfurr74ay5Ytyw8Jq9OjR484/PDDY968edv8muvWrYtVq1bVWwAAAJoULX/961/j1ltvjX322ScefPDBOP/88+Mb3/hG3Hnnnfn2LFgy2czKlrLnddu2NmXKlDxs6pZsJgcAAKBJ0bJ58+Y45JBD4qqrrspnWb7+9a/H1772tfz8laaaPHlyrFy5srgsXbq0yV8LAACo8mjJrgi2//7711s3ZMiQWLJkSf64f//++cfly5fXe032vG7b1mpqaqJ79+71FgAAgCZFS3blsEWLFtVb9/LLL8egQYOKJ+VncTJnzpzi9uwclewqYsOHD2/MtwIAAGj81cMmTpwYRx55ZH542Be/+MWYP39+/OxnP8uXTLt27WLChAlxxRVX5Oe9ZBFzySWXxG677RannnpqY74VAABA46PlsMMOi7vvvjs/D+Xyyy/PoyS7xPHZZ59dfM23v/3teP/99/PzXWpra+Poo4+O//zP/4zOnTs35lsBAAA0Ployn//85/Nle7LZlixosgUAAKBNz2kBAABoa6IFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAkiZaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAAKByouUHP/hBtGvXrt4yePDg4va1a9fGuHHjonfv3tG1a9cYM2ZMLF++vDXGDQAAVIlGz7QccMAB8dZbbxWXxx9/vLht4sSJce+998asWbNi7ty58eabb8bo0aNbeswAAEAV6dDoT+jQIfr37/+R9StXroxp06bFjBkz4rjjjsvXTZ8+PYYMGRJPPvlkHHHEES0zYgAAoKo0OloWL14cu+22W3Tu3DmGDx8eU6ZMiYEDB8bChQtjw4YNMWLEiOJrs0PHsm3z5s0TLQAVqlAoxKrXX4/NGzeWeijRoXPn6LbrrqUeBgCljJbDDz887rjjjthvv/3yQ8Muu+yyOOaYY+L555+PZcuWRadOnaJnz571Pqdfv375tu1Zt25dvtRZtWpVU34OAErkz7Nmxa/POCNSMfb3v48Bw4eXehgAlCpaTjrppOLjgw46KI+YQYMGxa9+9avYcccdmzSAbKYmix8AytOad96J9u3bx0MPPVTScfzP//xPnHHGGbHm3XdLOg4AEjg8bEvZrMq+++4br7zySpxwwgmxfv36qK2trTfbkl09bFvnwNSZPHlyTJo0qd5My4ABA5ozLADaWBYtdeczlkp28RcAKlOzouW9996Lv/zlL3HOOefEoYceGh07dow5c+bklzrOLFq0KJYsWZKf+7I9NTU1+QJAedi8eXP89Xe/iw3vv58/X/bss5GSpb//fWz68LDjnXbZJQYdc0yphwRAW0bLN7/5zTj55JPzQ8Kyd7S+//3vxw477BBnnXVW9OjRI8aOHZvPmvTq1Su6d+8e48ePz4PFSfgAlWP5H/8Yd40cWW9dCjPk3bp1iy5dusR/X3llvfXfWrEiuuyyS8nGBUAbR8vrr7+eB8rf/va36NOnTxx99NH55Yyzx5mpU6fmhwhkMy3ZyfUjR46MW265pQWGCUAqNn44i5Hdpyu7rH0mi4UUomXFihWxZs2a/Hl2js2ZZ54Zm9avL/XQAGjLaJk5c+bHbs8ug3zzzTfnCwCVLZthz2bWU5JdFKbuwjBZxABQGZp1TgsA1eGZadNi5ZIl+ePsnizl5Pc/+lHUfBgwfQ88MA447bRSDwmARhItAHzi4WC//cd/zGdV6g4DO+CAA/IbDads7733jn322Sfe+PWv8+crV66MTZ07ixaAMtS+1AMAIP073md+8pOf5FeEzJbspsKpHRq2teyS/C+//HJxzBdffHHxZwGgvIgWAAAgaQ4PA+Ajfn/ddfF/5s7NHxc2bYpKsba2Nmb8/d8Xnx9w+unx6XPOKemYAPhkogWAj1h4++3RY8OG/NyV2GGHOGjMmDjyyCOjnJ144okxf/78/OaYmQULFsQf164VLQBlQLQAsE1f+MIX4kc/+lFUimHDhsXs2bOLz7/4xS/Gwtrako4JgIZxTgsAAJA0My0AxLzrr495P/5x8fnqN9+Mdu3aRSXLfr7XHnssfjxwYPH5CddeG0PPOKPUQwNgK6IFgHjjqaei1w47xDkfnt+R/QJ/9tlnRyX75je/Gfvtt1/x+U033RRvPfOMaAFIkGgBILfXXnvF5ZdfHtXisMMOy5c6M2fOLOl4ANg+0QJQpdbU1kbhwytpZXe9J2LDmjXxwTvv5I/bd+gQnbt3L/WQABAtANXpD3feGbPPO6/euj0/97moZjU1NTH/xhvzpc6X58yJPY87rqTjAkC0AFSl95Yti65du8add95ZXHfIIYdENfuP//iPeOmll/LH69ati3/4h3+I95cvL/WwABAtANU9szB69OhSDyMZ+++/f75kPvjgg1IPB4AtuE8LAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEkTLQAAQNJECwAAkDTRAgAAJE20AAAASRMtAABA0kQLAACQNNECAAAkTbQAAABJEy0AAEDSRAsAAJA00QIAACRNtAAAAEnrUOoBANC2Vr7+evzuO9/JHx9zzDHF9WeccUZceOGFUa0uvfTSeOSRR/LHmzZtKvVwANiCaAGooli5cZ99YuPatcV1q/faK//42ty5UTN7dlVHy8yZM6O2U6fYbdiw/PkhQ4fGoM9+ttTDAkC0AFRnrHxt/vz41GGHFZ//+qyzIlasiGq376hRccI115R6GABsRbQAVHGsAEA5cCI+QAXGyhU77hhTBwwoBksWKz8oFLYbLO122CEefuSR6NS1a77UdOsW06ZNi0p2+eWXF3/ebFm8eHH+/wGA9JhpAagQzZlZ+cz3vlc8lyPz31ddFS+++GJUsueffz66f+pTMez88/Pn7dq1iyGjR5d6WABsg2gBKHMtcRhYnyFD8qXOgttui2rQY9CgGD5hQqmHAcAnEC0AZaq1z1l5991345VXXskfd+zYMQYOHJjPRpSrQqEQr776amzevDl/vnr16lIPCYAGEi0AZaYtTrDvuNNO8fOf/zxf6tx3330xatSoKFe33XZbXHDBBfXW7XfKKSUbDwANJ1oAykRbXg3srHvuiXf+8pf88ab16+OukSPzmZdylo2/pkePOHP27OK6vgccUNIxAdAwogUgcaW4dHGPAQPyJbNhi+9b7nbo1Cn2OPbYUg8DgEYSLQCJSu0+K/Pnz4/OnTvnj7t37x4nnHBC0ue4bNiwIR588MFY++H/v+xqYQCUJ9ECkJjUYqV9hw6x0y67xI033pgvdV5++eXYZ599IlVz586Nk08+ud66fp/+dMnGA0DTiRaARKQWK3V26NAhJr3+emxYsyZ//ubTT8cvTjwx1q1bFylbv359/nHcCy9E1113zR936tKlxKMCoClEC0CJpRorW+pQU5MvmU7dukU5yU6+37Fnz1IPA4BmEC0AJVIOsfJxbrjhhujbt2/+eO+9947zzjuv5Pdhyca0YsWK/HndPWYAKH+iBaCNlXus9Bw0KPoccED86r/+K3++fvXq2Lh6dcmjZdmyZTFhwoTYqU+f/D4zmd2GDYsde/Uq6bgAaD7RAtBGyj1W6nTbddcYt8WVuJ6+7bZ4cPz4KLVspiVz6h13xL6f+1yphwNACxItAK2sUmIFAEpFtAC0kmqKlY0bN8bnP//5ko6h7n4sAFSeZkXL1VdfHZMnT46LLroorr/++uI/Gv/8z/8cM2fOzC+HOXLkyLjllluiX79+LTVmgKRVU6xk/texx8b+p50Wf9m4sbQD6dgxhp55Zux6yCGlHQcA6UTL008/HT/96U/joIMOqrd+4sSJcf/998esWbOiR48eceGFF8bo0aPjiSeeaInxAiSr2mKlTp/Bg+OLs2aVehgAVLAmRct7770XZ599dtx+++1xxRVXFNevXLkypk2bFjNmzIjjjjsuXzd9+vQYMmRIPPnkk3HEEUe03MgBElGtsQIAbaV9Uz5p3LhxMWrUqBgxYkS99QsXLowNGzbUWz948OAYOHBgzJs3b5tfKzuEbNWqVfUWgHKJlSt23DGmDhhQDJYsVn5QKAgWACjlTEt2rsozzzyTHx62rWvkd+rUKXpudefh7HyWbNu2TJkyJS677LLGDgOgZMysAEDC0bJ06dL8pPuHHnooOnfu3CIDyE7knzRpUvF5NtMyYMCAFvnaAC1JrABAGURLdvjX22+/HYdscWWWTZs2xWOPPRY33XRTPPjgg7F+/fqora2tN9uyfPny6N+//za/Zk1NTb4ApEqsAEAZRcvxxx8fzz33XL11X/nKV/LzVi6++OJ8hqRjx44xZ86cGDNmTL590aJFsWTJkhg+fHjLjhyglYkVACjDaOnWrVsMHTq03rouXbpE7969i+vHjh2bH+7Vq1ev6N69e4wfPz4PFlcOA8qFWAGACrq55LZMnTo12rdvn8+0bHlzSYDUiRUAqNBoefTRR+s9z07Qv/nmm/MFoByIFQCospkWgHIhVgCgPIgWoOqIFQAoL6IFqBpiBQDKk2gBKp5YAYDyJlqAiiVWAKAyiBag4ogVAKgsogWoGGIFACqTaAHKnlgBgMomWoCyJVYAoDqIFqDsiBUAqC6iBSgbYgUAqpNoAZInVgCguokWIFliBQDIiBYgOWIFANiSaAGSIVYAgG0RLUDJiRUA4OOIFqBkxAoA0BCiBWhzYgUAaAzRArQZsQIANIVoAVqdWAEAmkO0AK1GrAAALUG0AC1OrAAALUm0AC1GrAAArUG0AM0mVgCA1iRagCYTKwBAWxAtQKOJFQCgLYkWoMHECgBQCqIF+ERiBQAoJdECbJdYAQBSIFqAjxArAEBKRAtQJFYAgBSJFkCsAABJEy1QxcQKAFAORAtUIbECAJQT0QJVRKwAAOVItEAVECsAQDkTLVDBxAoAUAlEC1QgsQIAVBLRAhVErAAAlUi0QAUQKwBAJRMtUMbECgBQDUQLlCGxAgBUE9ECZUSsAADVSLRAGRArAEA1Ey2QMLECACBaIEliBQDg/xMtkBCxAgDwUaIFEiBWAAC2T7RACYkVAIBPJlqgBMQKAEDDiRZoQ2IFAKDxRAu0AbECANB0ogVakVgBAGg+0QKtQKwAALQc0QItSKwAALQ80QItFSv77hsb16wprhMrAAAtQ7RAM4gVAIDWJ1qgCcQKAEDbES3QCGIFAKDtiRZoALECAFA6ogU+hlgBACg90QLbIFYAANIhWmALYgUAID2iBcQKAEDSRAtVTawAAKSvfWNefOutt8ZBBx0U3bt3z5fhw4fHAw88UNy+du3aGDduXPTu3Tu6du0aY8aMieXLl7fGuKHZsXLFTjvF1AEDisGSxcoPCgXBAgBQztGy++67x9VXXx0LFy6MBQsWxHHHHRennHJK/PnPf863T5w4Me69996YNWtWzJ07N958880YPXp0a40dGk2sAABU+OFhJ598cr3nV155ZT778uSTT+ZBM23atJgxY0YeM5np06fHkCFD8u1HHHFEy44cGsFhYAAAVXhOy6ZNm/IZlffffz8/TCybfdmwYUOMGDGi+JrBgwfHwIEDY968eduNlnXr1uVLnVWrVjV1SPARYgUAoAqj5bnnnssjJTt/JTtv5e677479998//vCHP0SnTp2iZ8+e9V7fr1+/WLZs2Xa/3pQpU+Kyyy5r2uhhO8QKAEAVR8t+++2XB8rKlSvj17/+dZx77rn5+StNNXny5Jg0aVK9mZYBAwY0+etR3cQKAEDlaXS0ZLMpe++9d/740EMPjaeffjp+8pOfxBlnnBHr16+P2traerMt2dXD+vfvv92vV1NTky/QHGIFAKByNfs+LZs3b87PSckCpmPHjjFnzpz8UseZRYsWxZIlS/LDyaA1iBUAgMrXobGHcp100kn5yfWrV6/OrxT26KOPxoMPPhg9evSIsWPH5od69erVK7+Py/jx4/NgceUwWppYAQCoHo2Klrfffju+/OUvx1tvvZVHSnajySxYTjjhhHz71KlTo3379vlMSzb7MnLkyLjllltaa+xUIbECAFB9GhUt2X1YPk7nzp3j5ptvzhdoSWIFAKB6NfucFmhNYgUAANFCksQKAAB1RAtJESsAAGxNtJAEsQIAwPaIFkpKrAAA8ElECyUhVgAAaCjRQpsSKwAANJZooU2IFQAAmkq00KrECgAAzSVaaBViBQCAliJaaFFiBQCAliZaaBFiBQCA1iJaaBaxAgBAaxMtNIlYAQCgrYgWGkWsAADQ1kQLDSJWAAAoFdHCxxIrAACUmmhhm8QKAACpEC3UI1YAAEiNaCEnVgAASJVoqXJiBQCA1ImWKiVWAAAoF6KlyogVAADKjWipEmIFAIByJVoqnFgBAKDciZYKJVYAAKgUoqXCiBUAACqNaKkQYgUAgEolWsqcWAEAoNKJljIlVgAAqBaipcyIFQAAqo1oKRNiBQCAaiVaEidWAACodqIlUWIFAAD+H9GSGLECAAD1iZZEiBUAANg20VJiYgUAAD6eaCkRsQIAAA0jWtqYWAEAgMYRLW1ErAAAQNOIllYmVgAAoHlESysRKwAA0DJESwsTKwAA0LJESwsRKwAA0DpESzOJFQAAaF2ipYnECgAAtA3R0khiBQAA2pZoaSCxAgAApSFaPoFYAQCA0hIt2yFWAAAgDaJlK2IFAADSIlo+JFYAACBNVR8tYgUAANJWtdEiVgAAoDxUXbSIFQAAKC9VEy1iBQAAylPFR4tYAQCA8lax0SJWAACgMlRctIgVAACoLBUTLWIFAAAqU9lHi1gBAIDKVrbRIlYAAKA6lF20iBUAAKguZRMtYgUAAKpT8tHypz/9Kd555ZWYOmBAcd3IqVPzWNm0fn0seeKJko4PAABomMLmzU38xEa46qqrCsOGDSt07dq10KdPn8Ipp5xSeOmll+q9Zs2aNYULLrig0KtXr0KXLl0Ko0ePLixbtqzB32PlypWFbFjZx0z22GKxWCwWi8VisURFLL/4xS+2+7v/9jRqpmXu3Lkxbty4OOyww2Ljxo3x3e9+N0488cR44YUXokuXLvlrJk6cGPfff3/MmjUrevToERdeeGGMHj06nmjijMjChQtj6dKlse+++zbp8wEAgDR06NAh9t5770Z/XrsPZzOaZMWKFdG3b988Zj7zmc/EypUro0+fPjFjxow47bTT8te89NJLMWTIkJg3b14cccQRn/g1V61alcdO9rW6d+/e1KEBAACJa+jv/s06pyX74plevXoVZ0U2bNgQI0aMKL5m8ODBMXDgwO1Gy7p16/Jl66+Z/QAAAEDlqvud/5PmUZocLZs3b44JEybEUUcdFUOHDs3XLVu2LDp16hQ9e/as99p+/frl27ZlypQpcdlll31k/YAtTrwHAAAq1+rVq/MZlxaPluzclueffz4ef/zxaI7JkyfHpEmT6sXQO++8E71794527do162tXU6FmkZed++OQOlqa/YvWZh+jNdm/aE32r+bLZliyYNltt90+9nVNipbs5Pr77rsvHnvssdh9992L6/v37x/r16+P2traerMty5cvz7dtS01NTb5saeuZGhom+8PiDwytxf5Fa7OP0ZrsX7Qm+1fzfNwMS532jS2hLFjuvvvuePjhh2OPPfaot/3QQw+Njh07xpw5c4rrFi1aFEuWLInhw4c35lsBAAA0fqYlOyQsuzLYPffcE926dSuep5LV0Y477ph/HDt2bH64V3Zyflac48ePz4OlIVcOAwAAaFa03HrrrfnHY489tt766dOnx3nnnZc/njp1arRv3z7GjBmTXxVs5MiRccsttzTm29BI2eF13//+9z9ymB20BPsXrc0+Rmuyf9Ga7F9tp1n3aQEAAGhtjTqnBQAAoK2JFgAAIGmiBQAASJpoAQAAkiZaysSUKVPisMMOyy813bdv3zj11FPze+Bsae3atfllqXv37h1du3bNr+CW3dgTGuvqq6+Odu3axYQJE4rr7F801xtvvBFf+tKX8n0ou0z+gQceGAsWLChuz64Lc+mll8auu+6abx8xYkQsXry4pGOmPGzatCkuueSS/P5x2b6z1157xQ9/+MN8n6pj/6Ixshuon3zyyfld2rN/D2fPnl1ve0P2p3feeSfOPvvs/BYg2Y3Ts9uCvPfee238k1QO0VIm5s6dm//C+OSTT8ZDDz0UGzZsiBNPPDHef//94msmTpwY9957b8yaNSt//ZtvvhmjR48u6bgpP08//XT89Kc/jYMOOqjeevsXzfHuu+/GUUcdld+A+IEHHogXXnghrrvuuth5552Lr7n22mvjhhtuiNtuuy2eeuqp6NKlS37Z/CyY4eNcc801+W0ZbrrppnjxxRfz59n+dOONNxZfY/+iMbLfrz796U/HzTffvM3tDdmfsmD585//nP/edt999+Uh9PWvf70Nf4oKk13ymPLz9ttvZ28fFebOnZs/r62tLXTs2LEwa9as4mtefPHF/DXz5s0r4UgpJ6tXry7ss88+hYceeqjw2c9+tnDRRRfl6+1fNNfFF19cOProo7e7ffPmzYX+/fsX/vVf/7W4LtvvampqCv/+7//eRqOkXI0aNarw1a9+td660aNHF84+++z8sf2L5sj+rbv77ruLzxuyP73wwgv55z399NPF1zzwwAOFdu3aFd544402/gkqg5mWMrVy5cr8Y69evfKPCxcuzGdfsunJOoMHD46BAwfGvHnzSjZOyks2mzdq1Kh6+1HG/kVz/fa3v41hw4bF6aefnh/ievDBB8ftt99e3P7qq6/GsmXL6u1jPXr0iMMPP9w+xic68sgjY86cOfHyyy/nz//4xz/G448/HieddFL+3P5FS2rI/pR9zA4Jy/7eq5O9PrsBezYzQ+N1aMLnUGKbN2/OzzXIDrUYOnRovi77w9OpU6f8D8iW+vXrl2+DTzJz5sx45pln8sPDtmb/orn++te/5ofvTJo0Kb773e/m+9k3vvGNfL8699xzi/tRtk9tyT5GQ3znO9+JVatW5W+m7LDDDvk5LldeeWV+eE7G/kVLasj+lH3M3qDZUocOHfI3m+1zTSNayvTd8Oeffz5/FwlawtKlS+Oiiy7Kj7vt3LlzqYdDhb7Zkr3jeNVVV+XPs5mW7O+x7HjwLFqgOX71q1/FL3/5y5gxY0YccMAB8Yc//CF/cy87idr+BZXB4WFl5sILL8xP5nrkkUdi9913L67v379/rF+/Pmpra+u9Pru6U7YNPk52+Nfbb78dhxxySP5OULZkJ9tnJxlmj7N3j+xfNEd2hZ3999+/3rohQ4bEkiVL8sd1+9HWV6Szj9EQ3/rWt/LZljPPPDO/Kt0555yTXzwku/Jmxv5FS2rI/pR9zP5d3dLGjRvzK4rZ55pGtJSJ7DywLFjuvvvuePjhh/PLOm7p0EMPza/Kkx3TWye7JHL2C8Hw4cNLMGLKyfHHHx/PPfdc/u5k3ZK9K54dWlH32P5Fc2SHs259mfbs/INBgwblj7O/07J/yLfcx7LDfbJjv+1jfJIPPvggP1dgS9lhYtkMX8b+RUtqyP6Ufcze6MveFKyT/f6W7ZPZuS80QamvBEDDnH/++YUePXoUHn300cJbb71VXD744IPia/7pn/6pMHDgwMLDDz9cWLBgQWH48OH5Ak2x5dXDMvYvmmP+/PmFDh06FK688srC4sWLC7/85S8LO+20U+Guu+4qvubqq68u9OzZs3DPPfcU/vSnPxVOOeWUwh577FFYs2ZNScdO+s4999zCpz71qcJ9991XePXVVwu/+c1vCrvsskvh29/+dvE19i8aezXNZ599Nl+yX5d//OMf549fe+21Bu9Pf/d3f1c4+OCDC0899VTh8ccfz6/OedZZZ5XwpypvoqVMZH9gtrVMnz69+JrsD8oFF1xQ2HnnnfNfBr7whS/kYQMtES32L5rr3nvvLQwdOjS/LOjgwYMLP/vZz+ptzy4jeskllxT69euXv+b4448vLFq0qGTjpXysWrUq//sqe2Olc+fOhT333LPwve99r7Bu3bria+xfNMYjjzyyzd+7skBu6P70t7/9LY+Url27Frp37174yle+kscQTdMu+09TZmgAAADagnNaAACApIkWAAAgaaIFAABImmgBAACSJloAAICkiRYAACBpogUAAEiaaAEAAJImWgAAgKSJFgAAIGmiBQAASJpoAQAAImX/FxUejCvk7XmnAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = wa.plot_matplotlib()\n", "fig.set_size_inches(10, 5)\n", "contour.plot_matplotlib(ax) # plot the circle in red" ] }, { "cell_type": "code", "execution_count": 10, "id": "52845eac", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of vertices : 675\n", "Number of segments not used : 2\n" ] } ], "source": [ "print('Number of vertices : ', contour.nbvertices) # Number of vertices in the contour\n", "\n", "notused = [curvert for curvert in contour.myvertices if not curvert.in_use]\n", "\n", "print('Number of segments not used : ', len(notused)) # Number of vertices/segments not used -- During the meshing process, some segments are not used (links from the external to the internal parts).\n", "# This is normal and helps avoid numerical problems during the process.\n", "#\n", "# Note: An intersection between two segments is not necessarily on these segments... ;-)" ] } ], "metadata": { "kernelspec": { "display_name": "python3.10", "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.10.11" } }, "nbformat": 4, "nbformat_minor": 5 }