{ "cells": [ { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "vQYWaH5LYNqK" }, "source": [ "# ベクトルとは何か? 微分方程式のシミュレーションの観点から" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "3sYMN3FaYNqL" }, "source": [ "## ここまでの復習\n", "ここまでは微分方程式が自然現象のシミュレーションに使えることを紹介し、\n", "実際の微分方程式をいくつか見てきました。\n", "実際のシミュレーションでは本当に微分方程式を厳密に解いているわけではなく、\n", "近似計算をしているのだ、\n", "そして**それは四則演算をやっているだけだ**と紹介してきました。\n", "\n", "近似といってもかなりきちんと計算できることをを見るためにも、\n", "とにかくいくつかの実例を紹介することを優先にしてきました。\n", "我慢強いあなたも「もういい加減きちんと数学の紹介して!」\n", "と思ってらっしゃるはずです。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "pfirbI32YNqL" }, "source": [ "## ベクトルからはじめます\n", "というわけで数学の紹介も簡単にやっていきましょう。\n", "微分方程式なんだからまずは微分ではないのかと思う方もいらっしゃるでしょう。\n", "しかし今回の話の流れでは微分の話をする前にベクトルをやった方がスムーズなので、\n", "ベクトルからいきます。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "RWOHr9oTYNqM" }, "source": [ "## ベクトルは矢印\n", "高校でベクトルは向きと大きさがある矢印のことと言われます。\n", "それはそれで大事な見方ですが、\n", "ここでは始点と終点がある矢印と思ってみてください。\n", "始点と終点をつないだ**たくさんのベクトルで作った折れ線**を曲線、つまり**微分方程式の近似解**とみなすのが今回の話のキモだからです。\n", "\n", "図のように曲線を適当な間隔でわけましょう。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 317 }, "colab_type": "code", "executionInfo": { "elapsed": 1110, "status": "ok", "timestamp": 1588259292733, "user": { "displayName": "Yoshitsugu Sekine", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GimsNckrAflr-jMDGQwV_kIJ56EjAWYV8INkpUv=s64", "userId": "13524401322013959426" }, "user_tz": -540 }, "id": "rreeSVHIYNqM", "outputId": "bfa0ba06-5fc2-4733-8740-130ad4bb5f07" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "execution_count": 1, "metadata": { "tags": [] }, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image(\"https://phasetr.com/members/myfiles/file/mathrefuge0001.png\")" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "Oi9brp81YNqQ" }, "source": [ "わけた点に $A_0、 A_1、 \\dots、 A_n$ と順に名前をつけていきます。\n", "そして $A_0$ と $A_1$、 $A_1$ と $A_2$ というふうに始点と終点を入れかえながら隣の点どうしを結んでいきます。\n", "$A_0$ から $A_1$ に向かって進むんだ、\n", "そういう気持ちを表したいのでそれを $\\overrightarrow{A_0 A_1}$ と書くことにします。\n", "記号の上の右向き矢印で点 $A_0$ から点 $A_1$ に向かっている気分もはっきり書いています。\n", "\n", "ここで何度も始点と終点をつないだ矢印を継ぎ足しています。\n", "この継ぎ足しという図形の操作が**ベクトルの足し算**です。\n", "例を 1 つだけ書いておくと $\\overrightarrow{A_0 A_1} + \\overrightarrow{A_1 A_2} = \\overrightarrow{A_0 A_2}$ です。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "gG25Ym0XrEmj" }, "source": [ "## 微分方程式の近似解法との関係\n", "分点を増やせば折れ線が曲線に近づいていきます。\n", "そしてこれこそが微分方程式の近似解法でやっていることです。これだけで気分的に納得できればそれで十分です。\n", "\n", "しかしまだまだ腹落ちしない人も多いはずです。\n", "あなたもそうかもしれません。\n", "そこで**プログラムを書いて**図示して様子を見てみましょう。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "sAqejxLmYNqQ" }, "source": [ "## 微分方程式のシミュレーションから見たベクトル\n", "高校だとベクトルに関してもっといろいろなことが出てきます。\n", "**定数倍**したり**内積**を取ったり**長さ**を調べたり。\n", "もちろんベクトルそれ自体を勉強するなら議論しておかないと困りますし、\n", "微分方程式をもっときちんと近似して使い倒す観点からも大事です。\n", "\n", "しかしここでのポイントは微分方程式から中高数学を大きく眺めることです。\n", "その範囲ではベクトルは矢印であり、足し算は矢印をつないでいくことだと思っておけばどうにかなります。\n", "さらにその矢印をつないでいった折れ線で曲線が近似できることまで知っておけば、\n", "シミュレーションのためのベクトルは完璧です。\n", "他のことは他のことをやるときに絡めてやってみてください。\n", "\n", "折れ線をつないでいって曲線を近似する様子をもっときちんと見てみましょう。\n", "具体的な曲線としては円を取り、\n", "それを等分して折れ線近似した様子をプログラムで描きます。\n", "最後に近似がよくなっていく様子をアニメーションで見てみましょう。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "QaGh20CaYNqQ" }, "source": [ "# ベクトルでつないだ折れ線で円を近似する\n", "円周上の点を $n$ 分割し折れ線で分点をつなぎます。\n", "まずは個別に図示してみましょう。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 275 }, "colab_type": "code", "executionInfo": { "elapsed": 1868, "status": "ok", "timestamp": 1588344258771, "user": { "displayName": "Yoshitsugu Sekine", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GimsNckrAflr-jMDGQwV_kIJ56EjAWYV8INkpUv=s64", "userId": "13524401322013959426" }, "user_tz": -540 }, "id": "Pr3fRR0qYNqR", "outputId": "5574ecef-e2f7-4acf-8b6c-0520ebeb905c", "scrolled": true }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAECCAYAAACrNUNIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOyddXiUx96G74m7EYUQggd3Le7aFmiL1NtTvrrRc9rTU/f2UKOnLtDSAoUWKU5xdw3uECAhIe6y8/0xmyIlvvJumPu69iKszMy7z77zjP5GSCnRaDQajcZoONm7ABqNRqPRXA9tUBqNRqMxJNqgNBqNRmNItEFpNBqNxpBog9JoNBqNIdEGpdFoNBpDUi0MSggxRQjxlvnv7kKIw/Yuk+ZqtEbGR2tkfG40jaqFQV2JlHKdlLKxLfMUQqwSQiQKIdKFEHuEELfYMn9Hwx4aFSOE6CmEkMU3ueb62Ok+OiWEyBFCZJofy2yZv6Nhr/tICPGUEOKkECJLCHFQCNHIWnm5WCvhG4yngANSykIhRCdguRCikZTygr0LprmMEMIV+BTYYu+yaEpkuJRyub0Lobk+Qoh/AA8CQ4GDQD0gxVr5OWQPSgjRRgixUwiRIYT4FfC44rVeQog489/PCyF+u+aznwohJlmyPFLKvVLKwuL/Aq5AbUvm4WgYTSMzE4BlwCErpO1wGFQjzRUYSSMhhBPwKvCMlPKAVByXUiZbKo9rcTiDEkK4AXOBqUAQMAsYVcLbZwBDhBC+5s86A3cA00pIe4EQIrWEx4IyyrVACJGLap2vBrZX4vKqBUbUSAhRB3gAeKPSF1aNMKJGZn4xD5cvE0K0qsy1VRcMqFGk+dFcCHHWPMz3utm4rIIjDvF1RvVQPpEqkOBvQohnr/dGKeVpIcROYATwE9AHyJZSbi7h/cMqWygp5TDzEFI/oImU0lTZtKoBRtRoEvCylDJTCFHJJKoVRtToTmAnIFDD5kuFEDFSytRKpufoGE2jSPO/A4AWQABqRCIO+LYS6ZWJw/WggJrAOXl1lNvTpbx/GjDW/Pc4SmhRWAIpZYGUcjEwQAhxs7XycQAMpZEQYjjgK6X81ZLpOjiG0ghASrlBSpkjpcyWUr4LpALdLZ2PA2E0jXLM/34gpUyVUp4CvgaGWDifv3BEg7oA1BJXN4OjSnn/LKCXECIS1booUTQhxGJxeQXRtY/FFSijC1C/Au+vbhhNo75AeyFEvBAiHhgNPC2EmFexy6pWGE2j6yFRvakbFaNpdBjIR+lSjHWPw5BSOtQDcAPOoIYAXIGRQAHwlvn1XkDcNZ9ZDPwJ7LJCeWKAwYCnuTx3mUVsa+/vSmv0V9q+QPgVj1+Bj4Ege39XWqO/0o4CbjKXywP4J5AI1LD3d6U1uir9n4AF5nsqErXg6EFrfQcO14OSUuajhLoPSEa1hmeX8bFpqLkhawzvCeA14CLqhnoKGC2l3GmFvBwCo2kkpcyQUsYXP1BDFVnSiquPjI7RNEJVeF+iliyfAwYBg6WUl6yQl0NgQI0AHgcygfPAJnM+P1gpL4TZFTUajUajMRQO14PSaDQazY2BNiiNRqPRGBJtUBqNRqMxJNqgNBqNRmNI7BJJIjg4WEZHR9sja4dhx44dSVLKEHvlrzUqG3trBFqnstAaOQYl6WQXg4qOjmb79hs2VF25EEKUtmPc6miNysbeGoHWqSy0Ro5BSTrpIT6NRqPRGBKLGJQQ4gchxEUhRKwl0tNYHq2R8dEaOQZaJ9thqR7UFNTOb41xmYLWyOhMQWvkCExB62QTLDIHJaVcK4SItkRaNsFUBFmJkJsOeekgJbi4g6sn+IaDu6+9S2hxHE4jKSEnRT3y0olPTickwA9nNw/wCgbvYKhmx2Y4nEYA+dmQnaTupfwscHYBFw91D/lGgLOrvUtocRxOp6JCyLporu8y1H3j4g6uXqq+c/O2dwlLxBHPg6oYRQVwYQ+c3ghxWyHpKCSfgKL8kj/j4Q+BdaFWW6jZFup2h8BomxX5hkNKpcnpjXBmM1w8AJeOQ17aX28Jv/YzLh7gXxsiWiqNojqrf530tKrVyE42a7RJ3VOXjkPG+ZLfL5yUSYXEQK12ENkeorsZukJ0eApy4fxOc323HS4dhZRTYCos+TOeQVCjvrp/arWFuj3BL8JmRS4NmxmUEGI8MB4gKqq0iPEWwFQEJ1bB/jlwcAHkms87C6oHoU2h0UAIiAKPAHD3UzdSYS4UZEP6eUiLg6QjsO832G6OgxjaFBoPgTZ3qnSqITbVCODiQfUdH5gLl46p5zyDlOm0vAOC6rI2roipu1IIDfQnISWdLlHe3NfaG+f0OEg+CWe3Quzv6rPeodBoALQcDdHdq10Pqxib6pSVpO6jA/Pg1HpAgrO70qheL6hRD3zCwcNPGY+pSN1LOanqPko9AwmxyHUTEdJEgXDniHdbGva+C7cWI8HNy7rltxM21agwH44uUzodWQL5mer54MYQ1gya3gL+kaqu8/A3fyZX9XjTz0HqWVXf7ZoKW79Wr9dsAzFDodU48K9l3fKXgsWCxZq7vAuklM3Lem/79u2lVZZd5qarL3nL15B6WgnSeDA0GgR1bgLfsIqlZzKpFsix5XB4MZzeANKkbszOj0LDAVarBIUQO6SU7S2cZjT21shUpL7LLV/BqXWqcRDdDZrcrEwluNFfvaDJG07y+vwDDGwWxmdj2zJl40neWXSIoS0i+HRMa1yczb2ljAQ4uRYOL1Ja5aVDjQbQ4R/Q9l6rVYL21gisqFN8LGz+EvbNgqI8Vdk1vQXq91GVl6tHmUkUmSTbTyWzODaeNbGnqJm5j37Ou+gndlDbKVFVlq3GQpfHIaC25a8B62hkTjcae99LWUmwfTJs+w4y41Xjrslw1QCP6gJeQRVLr6hQjV4c+1Pdo3Hb1P3ZaJDSKPomy1+DmZJ0qhZDfAV5OZi2fof7xg/VnEVUF+j/OjQaXK4bqUScnCCksXp0eUz1rnb9DDt+hGl3qGGLPi+pm1ZTOlLC8RXw56uQEKuG5/q/oVpoPn/fR3mtObm5ODG+hzoD8p1FhwAum5RvGLS8XT0KcmD/XNgxGZa8AOs/hm7PQvsHwMXNppfskCSfgBVvqNa4q5caMWj/oGqJl6MxVlBkYsuJZBbFXmDZ/gSSMvNwc3GiR8MwBjdvRb8mE/jfyiPs3bCYT2rvImLb97Dte2h3L/T4p5oT0ZRKQU46qSs+psbur3AqzCazdk9Sur9HVmSPy3N+6UB6esUTF9HQ8CFo+BCu6acJODgd/0O/4nJ4CFm1upHX498ENe5muYspqziW6EEJIaajDs8KBhKAV6WU35f0fou2KE6sJm3mo/jnnuOkfyfCRryNV3QHy6RdEkUFsHsarP0vpJ2FprfCoPcsOm5r6ZafXTVKi4P5T6uWWUAd6PMyNBuhJtSvw/XM6Uq+WXv8+j2pazm1AVa9A6fXq3mQYZ9AnS6WuSbsrxFYUKfCPFj9Hmz8TFVyXR6HLo+CZ2CZH80rLGLDsSQW74vnz4MJpGYX4OnqTJ+YUAY1D6d3TCg+7pe1zi80MerLjZxJzmbZ/XUJ2/O5Gvlw9YK+r6jGhJNz1a8Jq/Vy7XYvyf1zSf39GQJNySws6sjHhbdxTEZaJO2ScCefu5yX87DLH4SIdJIajyX41nfL9dsoLyXpZJfzoCwiWH4WLP0P7JhMknttnsm4i3WmFoT6uvP8oBhGtKmFk5OV5yAK82DDJGVULu4w/BNoPsoiSVtraKK8WEQjKVXFs+RFNTTa5z/Q4aFSezJlmVMx5TYpKeHIUlj0nGpMdHpE9dws0Juyt0ZgIZ3O74I5D0PiIdWj7fdqmT2ZnPwi1hxJZEnsBVYcvEhGXiG+7i70bRLKoOYR9GwUgqdbySZzMimLoZPW0byWP9Mf6oxzyglY8AycXAO1O8Nt36t5kypSbTTKToaFz8L+OewzRbOr+UuENLFdTwbAqTCLi/NfZ5xpAU7ewYgRX0GDvhZJu3oN8SWfhBl3qvHSLo/zedZI9u9PZs697Xl9/gEmzNrDT5tP8+rwprSNspzL/w0Xd+j5T2g+Ut3gvz2gWu2D3lWv3cgU5Kobavcvam7plv+VuRKyvOYElDzcdy1CQONBap5rxRuw5Us4uwVunwKBdSp7ddWHnVOVTl7BcOdv0LB/iW/NzCtk5aGLLIm9wKpDieQUFBHg5crgFuEMbh5B1wY1cHcpX8+nbrA3b97SnAmz9vD5qmM82bch3DMP9syARf+Er7rBiG/Uopcbnfh9MONOZPp5vnEZx3yfO5h3Wy+crd0Avw6zit5h+O+dmeH7A34/j1LDsr1esFiP91ocz6BObYAZ49Tfd/0ODfpSOFdt6G4TFcjsR7oyd/c53lt8iJFfbGREm1o8PyiGcP8qzEWVRY36cP8iWPG6GiJJOgJjfrm8YuZGIysJfrldLXft+Tz0fKHM5d8VMadiym1SAO4+MOQDZVTzHofv+qoKuWbril1bdcFkgqUvKsOu21MZ9nUm1dOyC1h+MIHFsfGsPZpIfqGJYB93RratxeDmEXSqF4RrSd95GYxsW4t1RxP5ZPkRutavQfvoIGg9Fmp3hJn3qnneoRPVYpcblUML4bcHwTOAmS2+5d0tbswY19Iu5gQwqm0kUze3YljaG6xouQDXtR+onvfIb6s2318CjmVQx5bDjLvUip9xv153ubeTk2Bk20gGNgvny9XH+WbdCZbExvNY7/r8o3s9PFyt4/Q4u8KAtyC8Jcx9BCYPhbtng0+odfIzKukX4Kdb1CrK0b9Ak2FlfqQy5lRMhUwKoOnNaj7q55EwZSiMnQ51e5Q7v2pBUSH88QTsmaaGPAe8ddV84KXMPJYdUKa08VgShSZJhL8Hd3aKYnDzCNrVCbRIBSmE4M1bm7PzTCpPzdjNoie74+/lqhp8Dy5TIxILJ0BmomqlV9NtAyWydxbM+T+o2Zr4IZN59asDDG0RRud6NexWJCcnwavDmzHqy41M8nmaCQObq4bOz8kwbobFgxw4zq7GYytg+li1fPi+RWXuRfJ2d+G5gY1Z8WxPejUOYeKyI/T7aA2L9l3AqvNuLe9Q5pl8HKaOVPtBbhQyL8KUIWpvxV2/W92cihnfoz4vDolh4b4LPDVjN4VFptI/ENJIVYD+tWHaGDi7rcJ5OiwmE8x7VJlTrxfVcLSzCwnpufy06RRjv9lMh7eX8+/Z+ziVlMWD3eoy59GubHi+D68Ob0bHukEWbb37ergyaWwbEtJzeWH23sv3ppsXjP4ZWt8Fa95TqzFvJPbOgtkPQZ2ucM883l2XjJTwwuAYe5eMdnUCubV1Tb5ee4Kzje+HUd+rzdvTx6qhfQviGAZ1YS/MvEftkblv/nWXJZdE7SAvvryrHdMf6oyPuwuP/rKTMd9s5sD5SizBLC8N+sHoqarrO220Wvpc3cnPUkMy6Rfg7jlqKK0MLGFOxVTYpPxqqjkP3zD45Ta1afhGYMXrsPdX6PMSca2e4Lv1Jxn15UY6v7uCV+bt52JGLo/1bsDCJ7ux5p+9+PeQJrSJCrTqgqPWtQN4bmBjFsfGM2Pb2csvOLvAzZ9Bi9tVubdPtloZDMWJNWoUJrob3DmL7RcKmLf7PON71KN2kDE2Nj8/OAZnIXh38UFocRuMMO9r/O0BtdfRQhjfoDIvqorPwx/unFXppY1d6tdg4ZPdeXtEc44kZDDss3W8OGcflzLzLFxgMw36wahv4exmNelbnZESZo9X4W9un6zmEMrAkuZUTIVNyjcM7p6rFrTMGAe5aaW/39HZORU2fEJszdu4eU9nur2/ircWHiQ7v4hn+jXiz2d6sGJCLyYMaEyzmv4IGw6pje9ej24Ngnl9/n6OJmRcfsHJCW79Ehr0Vysxz2y2WZnswqXj8OvdaqRo9M+YnD14ff4Bwv08eKRXfXuX7i8i/D15pFd9Fu2LZ9PxS2rkaPAHcHih2q5gIYxtUCaTWh2Xk6KGzfxqVik5ZyfBnZ3qsPq53tzXtS4zt52l18TVfLfuBPmFZVRmlaHZCOj+nFpqvfMny6dvFLZ+C4cWQP83VeSOMrCGORVTYZMKrAO3/6hC8sx9VJltNeT80V3k/jGB9UXNuOXELQgheGFwDKuf68Xip7rzZN+GNAyzX5BkJyfBR3e0wtvNhSem7yK34IpWuLMrjPpODcnOvFc1WqsjhXnw2/1qru3OmeAZwG8749h3Lo0XBsfg5WasJQPje9SjVoAnbyw4QJFJQsfxakh27Qdqa4cFMLZBbflSRR8Y+A6Et7BYsv5errwyvClLnu5B26hA3lp4kEGfrmXVYSv88Hu/qFZJLX4eUux+uKflSdgPy14yh0N5rMy3W9OciqmwSdXpovZGHVqglsVXNwrz8Z4/ngzpTmzniax9oT/zHu/Gwz3rEx1snMCtoX4eTLy9FYfiM3h30TVDrp4Bak4qN1Xtl6qOrHxTjULc+gUERJGRW8AHSw7TNiqAW1pXrXFuDTxcnXlxSBMOXkjn121nlbEOnajq6nmPqb1bVcS4BpV6Fla+pcIVtX/AKlk0CPXhxwc6Mvm+DiDh/snbuH/yVo4nZlouEydnuOVzFdNqwdPVq4VuMqnKwt0HbvmizFVWtjCnYipsUp0egaiuakVSRoLVymUXNn2Gf/oRni8YT/+OLakV4GnvEpVI75hQHuxWlx83nebPA9foEN5creY7tEAFr61OXNgLmz6HdvepIK3A56uOk5SZx6vDm9l0uLUiDGkRTse6QUxcdpi0nAJ1ZNGtX6pRr6X/qXL6xjWopf9WlfmQD6y+vLR3TChLnu7BS0ObsP1UCgM/XsubCw6oL9wSBNSGvq/C8ZXV68baM01teu3/BniXvvTVluZUTIVMyskJbp6kViEtf9XqZbMZqWdgzX85H9GPlaa29i5NufjXoMY0q+nHP3/bQ3zaNavCujyhtnIsfr76LD4ymdT8mmcQ9HsNgFNJWfyw/iSj2kbSqnaAXYtXGkIIXhnWlJTsfCatOKqeDG8BNz2l6ocqzhka06DOboOD86H7BHUshg1wc3HiH93rseqfvbi9fW1+2HCS3hNXM23LGTW+WlU6PKj236x8S+1DcXQK82Dl2xDZQYXHKQV7mFMxFTKp4IbQabyKZlBdVvWtfh+QxLZ4wd4lKTfuLs58NrYN+YUmnv5119X3n7OLinuZcQG2fmO/QlqSwwtVQ6/fa38tAnt70UFcnQXPD2ps16KVh+a1/BnToTY/bjzFsYvm0afuz4FPmIreUoVRI2Ma1NoPVGui8yM2zzrYx513R7Zg/uPdaBDqw4tz9jHss/VsPnGpagk7OavI55eOwr6ZlimsPdn1szqsrvd/So0SYU9zKqZCJtXtWXDzUUFmHZ2UU7B3BrS7nxwv481hlEa9EB9ev7kZm08k8+XqY1e/GH2TWiW7/mN1QqwjIyWs+QCC6qujR4D1R5P480ACj/VpQKifFSPgWJAJAxrj6erMWwsPqCfcvFQYpNMb1Nl8lcR4BhW/Tx2+1eUxNbdhJ5rX8ufX8Z35fFxb0nMKGPPNZh79ZQdnk7Mrn2jMMHXw4eYvHHsuylQEGz5Rvad6vUp8mxHMqZhym5RXEHR8SM1zpJ6xbSEtzcb/qbnPm560d0kqxW3tIrm5VU0+Xn6UHaevmXDv+bya59j7q30KZymOr4D4vWq0yNmFwiITbyzYT1SQFw/cVNfepSs3wT7uPNWvIasPJ7LqkHmxWdt7VS9q85eVTtd4BrVzKji7WW1hREUQQjC0ZQQrJvRkQv9GrDqUSN+P1vDhssNk51dimE4IFVcsfp86CdZRObFaVd6dHy1xftBI5lRMuU2q+LdXfJqyI1KQA3tnqq0OVdyeYS+EELw1ojk1Azx4cvruq+eEIzuouait3zl2Y2/Hj+BVQ21GBqZtPcORhEz+M7SJ9cKyWYl7ukRTL9ibNxceUNt2XNzUoo+jf6pzxiqB/WuNKynMUy2imGEVPw3Sini4OvNE34asfK4nQ5qH89nKY/SZuIY5u+IwVXR+quVoNYS0+2frFNYW7JqqxsrNq42uxYjmVEy5TCqgtlo2v3u6msB2RA78AXlp0OYue5ekSvh5uDJpjAqF9OLsfZdDIRU39hIPqqDEjkhWkjq5tuUYcHEjJSufD5epwLkDmlbw9G8D4ObixEvDmnAiMYufNp1ST7a7T2m1e3ql0jROzQHq2O7c1L/GYo1GhL8nn4xpw++PdCHUz51nft3DqK82svtsBeLtufuoI5kPLbJoSBCbUZALh5eolvl1jhQxsjkVUy6TajZCHaN9zgpHdduCA/PALxLq2PbMIGvQJiqQZwc0YuG+C8zcfkUopCbDQTjDwQX2K1xVOLwITAXQagwAnyw/QkZuAa8Mb2rYZeVl0btxKD0bhfDpiqMkZeap3ntUFzVkXgmMVXscXQYunoaPLt2uThBzH72Jibe3Ii4lh1s/38CEmXu4mF7OQIlNhkN2kmOGbTm9Hgpz1P60a3AEcyqmTJNqOACcXNVqUkejME8NwzYaUOYxJ47Cwz3qc1ODGrz2xwGOXTQvjPAKUvHqKln52Z2jy8CvFoS34EhCBj9vOcOdneoQE+5n75JVGiEELw9rQk5+ER8uO6KebDJcnd136XiF0zPWr/fYcmVOVjhXxNI4OQluaxfJqud68Uiv+szfc57eE1fz+apjV4dpuR71+wBCrXBxNI6tBGf3vwWDdSRzKqZUk/IMUDEFHVGjs1ugIEvFr6smqFBIrfF0c+aJ6bsv32MN+qnz1zIT7VvAimIqUkFhG/RDAm8uOICPuwvP9m9k75JVmQahvtzTJZoZ286w/3ya0ggqdS8ZpxbJSVETaVGd7V2SCuHj7sLzg2L489ke3NQgmP8uPUz/j9ewJDa+5GM9PPzVnihHXChxfqc65M/tclRlRzSnYko1qcgOaoe/o20IPWeek3Gwe6kswvw8mHh7Sw5eSOe9xer8r78CE8c52L106RjkpUNUF5YfvMi6o0k8068hgd5u9i6ZRXiqb0MCPF15Y/4BZFB9NWddifrOODXJhb3q34hW9i1HJalTw5tv7mnPL//ohJerCw//vIM7v9vCofgSjvWIbO94k7smk1qBeIVGjmxOxZRoUpEd1BxBwn77FrCiXNijNrgbaKGRpegTE8b9N0UzZeMplh9IgIjW4ORy2ZQdhQt7AMgPbc5bCw/QINSHOzvXsXOhLIe/lysTBjRmy8lkFu9PgFrt4fyuCqdjnNok0dwiCmtu33JUkZsaBLPwyW68eUszDlxIZ8in63hp7j6Ss/KvfmNwQ8i+5FhHPKSdhfxMCGsGVA9zKua6JhXcUL2YfNK+hasoiYcc/j4qjRcGx9A0QoVCSshBRTlPcTCNLh4EJ1cmH3bj9KVsXh7WFNfSToJ2QMZ2jCIm3Je3Fx6kMKi+uo8quCXAON9I+nk1KV0Njkh3cXbi7i7RrH6uF/d0iWb61rP0+u8qJm84SUFx6zwwWv3rSBHOMy6of/0jq5U5FfM3k/KNVC+knLJruSpM+jnwj7R3KayGu4szk8a2IbfAxNMzdiMDox1Qo/MU+YQzadVJ+jVRK9+qG85OgleGN+Vcag4bknzUvGhWUoXSsEitIoQYJIQ4LIQ4JoSoXNCvjAvgG2H1wLC2JMDLjddubsbip7rTqnYAr88/wOBP17HmSCL4mjdPZtoucnaVdUo/D8DcY6ZqZ07FXGVSvx9GegZdNmYbUGWN8rNVr9w33AqlMw4NQlUopE0nLnEoywcy4m2Wt6Xqu7MFfuQXmfjP0KYWLqFx6Fo/mMHNw/n9qLlhXsF7qco1ixDCGfgcGAw0BcYKISr+jeemq8UD1ZBGYb789EBHvrunPYVFJu79YSuvLFY7q2V+lk3KYBGd8tR82vur46ulORVzpUldynelKM+RNDIvwa6m99KV3N4+kmEtI9h2PpeCXAsekVMKlqrvsjNSOJnpwgM31aWugc7ksgYvDmlCJuY9kwUVCxVnidqlI3BMSnlCSpkPzABuqXAqpkIVqbiaIoSgX9Mwlj7Tg+cHxXDgZBwAhxZ8aqsiVFmnY/FqQ3LHBqHV1pyKGd+jPk/3a0hwUQLO+2bYKtuq30smcwguJ1dLl81wCCF4e0QL7nH+E9f8NE4m2aQhYZH6Lik9G5xdebxPA4sX0GjUDvKif6hqOG1fMrVCn7VEDVMLuGJ7N3Hm565CCDFeCLFdCLE9MfE6exZkkdoVXs3ZczaNBXvPk4U6NM47rL6tsi5Tp7I0quGlGhAH47M4m1KFoLkOQFZeIRuPVzGCfcWp+r0kzfuDRPVtPFzJqaQsDppqAxDh9/fIJlbAIvWdu7MkvwjiUhxsC0MlkFJyoVD1EsNqRVfoszb7FUspv5FStpdStg8Juc6EoJuP44fOL4VzqTk8Pm0nd3y9iZSsfF4wn/MS1fFmO5fsMmVpFBioli17yhzGfrPZsicPG4isvELun7KN7aeSyfEMh9bGimdXqk5u5hMA8qunNleSkVvAkzN2cdClKSbPGni4GWcEpqx7qUZQDQKc89Q+IUcOdlsOVh66yN5ENQdVu2WvCn3WEgZ1Dqh9xf8jzc9VDK8gyKn6GfZGIye/iI//PEKfiatZfjCBp/s1ZMWEXvSMNH/1tturUnWdPFVZJ91aB5OU1dKkrjSnT8e0wbMgFbwCbZV91TXy8AcEZFe/e+laXpm3n7PJ2fSKcsbJke4jwMU7iIa++Ww6cYml+223wMPW5BeaeHPBARr7mSPRV1AnSxjUNqChEKKuEMINGAP8UeFUvEPUvqDC/LLf6wBIKZm3+xx9PlzNpyuOMqBZOCsm9OLpfo3wdHOGTPOZKd42W15adZ3MZa3jmsG0hzpXO5O61pyGN/aGwlzH0sjJWR3fkFl9Kz2A2TvjmLPrHE/1bUSQKdWxNALwDibQlELjMF/eWniw7PBoDsqUjSc5dSmbOxqb50S9gyv0+SoblJSyEHgcWAocBGZKKSu+9T64EUhTpc8NMRL74tK4/atNPDVjNzV83Jj1cBc+G9uGWgGel9+UdETNuRXvh7IyFtEp2Dyhm3SERmG+1cqk/mZOrWpCojnYZY2GNlgZ7FEAACAASURBVCmDRe+lpKMWLp1xOJmUxctzY+lYN0gtMkg6fPm3aWUsqZHIusjrAyOJS8nh+/UOttG4HCRm5DFpxTH6xIRSX1wA79AKry61yByUlHKRlLKRlLK+lPLtSiUSbA6SWBxRwgG5mJHLP2ft4ebP13PqUhYfjGrJvMe60SH6Ot3axENQo/51j6ywFlXWycMffML/0qi6mNR1zQku/xZDGtusLBa5l0IaqUgF1XBuI7/QxJPTd+Hi7MQno1vjnHNJjbyENLFZGSxT36nfVGefRAY2C+PzVcdIKO9pCA7CxKWHyS0o4qWhTdS9FBpT4TSMs9QnJEZFyY7bZu+SVJi8wiK+WnOcPhPXMHf3OcZ3r8eq53pxR4faODtdZ+OxlBC3XZ0I6mjUbH1V0EdHN6kSzQnUb9Hdz2a9XIsR0Vqdq1aJ4w2MzsRlh9l3Lo33R7WkZoDn5foivIV9C1ZRiuNZxm3lP0OaUlgkeX+J4zbOryX2XBozd5zlvq7R1AtwVjE8K1HfGcegXD1UZOKTa+1dknIjpeTPAwkM+Hgt7y0+ROd6QSx7pif/HtIEX49S9qEkHVVzBAY/9+q6RHeD5ON/RZUAxzWpUs0J4NQ6db1ODrb9Ibq7+veU49xL5WHNkUS+WXuCuzpHMai5OVLGybXg4qEC+zoSfhFQowGcXEdUDS8e7F6X2TvPsetMir1LVmWklLw+fz9BXm480behatAW5VWqvjOOQYG6gPh9lxcQGJgjCRnc88NWHvppO67OTipSxL0dyrcr/PhK9W/d7tYtpDUo/pEVX4MZRzOpMs0p5ZSaD412QI1q1FehtK7RyJFJzMhjwszdNArz4aUrQwMdX6katg5whtzfqNtDnZFUkMtjvRsQ4uvO6/MPYDI59tDsgr0X2HYqhecGNsbf01VpJJzVyboVxFgG1WQ4IGH/XHuXpERSs/N5dV4sgz9dx56zqbw2vCmLn+pOj4oEe4z9XUWbDqpnvYJai/CW6iiH2N//9pKjmFSZ5gSXry9mqG0LZwmEUPfSkWUqhJiDYzJJJszaQ0ZuIZ+NbYuHq7lHm7BfzW00Mc5ewgrRZLjar3Z02V/nyu0+m8rc3RXfpWMUcvKLeHfRQZpG+HFH+9pqOmP/bKjXCzwqflKwsQwqtAmENoN9s+xdkr9RWGTip02n6DVxNVM3n2ZcxyhW/7M3991Ut2Jh8pNPqsPVWtxmtbJaFSGgxe3qNNDr9HSNblLlMicpYe8sqN0ZAh30jJ4Wt6lhFUc9Dv0Kvl9/krVHEnl5WFMah/tefmHvTNUyb3qr/QpXFaJ7qOXx5vpuZJtatIr05/0lh8jKK7Rz4SrHN2tPcD4tl1eHN1Xz72e3QOoZVWdUAmMZFEDrsaoCP7/b3iX5i/VHkxgyaR2vzNtP0wg/Fj3VnTdvbU5QZU6/3P69uqkqKZghaDlGhdTZMeW6LxvVpMplTgCnN0LiQWg1xrYFtCSRHdQcx9ZvHXo13964VD5YeoiBzcK4s1PU5RcKcmDXz9CwP/g46FEVzi7QcjQcXgRpcTg5CV4Z3oyE9Dy+XO14C1zOp+bw5ZpjDG0RQad6NdST275T0U2aDKtUmsYzqLb3gJsvbPqfvUvC6UtZPPTTdu76fgu5BSa+vrsdv/yjEzHhFe+qAuoYhO1ToNmtjn1eT0gjaDgQtnwNBddfGms0kyq3OQFsnKQ2uzqyQQkBnR9Vpzaf3mjv0lSKzLxCnpy+i2Afd94f1RJx5VE8e2ZAdhJ0ecx+BbQEnf5PNSC2fAVAuzqB3Nq6Jt+sO8HZZMeKd/ne4kNIqQ6UBCD1LMTOhrb3grtv6R8uAeMZlIc/tLtXXZidNhtm5hXy3uJD9P9oLRuOJfGvQY1Z9kwPBjYLv/omqShbvoH8DOj6hOUKay+6PqEqiB2TS3yLUUyqQuZ0YQ8cWQIdHgJXz5Lf5wi0HgdewbDmfYfsRb0yL5Yzydl8Mro1AV5XjFYU5sGGT9RyekdcxHIlAVHQbARsnwyZKqjs84NjcBaCdxYdtHPhys+2U8n8sec8/9ejHrWDvNST6z82N5QeqXS6xjMogJueBlcvWPayTbM1mSSztp+l98TVfLXmOMNb1WTVc714tFeDyxOzlSUjXgkWMwxqtrFMge1JdDeo1xtWv1dq3Dd7m1SFzElKWPKi6j1V4aYyDK6e0PNfcHINYQmOteR8zq44Zu88xxN9Gl4eLipm6zdqlWWfl6vHAae9/q1Caq1Se34j/D15tFd9FsfGs8n2EfUrjMkkeWP+AcL9PHi4l/l0houH1BRAu/shoHapny8NYxqUTwj0mABHFsPR5TbJcsfpZG79YgP//G0vkYGezH3sJj68oxVhfhZavrr8NSjKh/5vWCY9eyMEDHxbHWK46p1S32ovk6qQOQEcmAen16sKwzPAJmW0Ou0fgBoNaB77Pu44RpzL05eyeGlOLB2iA3ni2vOSMhJgzX+hQX9o2M8+BbQ0wQ1Uj33nj6oHDzzUox61Ajx5ff5+igy+7Py3nXHsO5fGv4fE4OXmYm7ovaDmnnr9u0ppG9OgADo9osIf/fEE5KRaLZsLaTk8NWMXo77cREJ6Lp+Mbs3sR7rSurYFK6hDi2DPdLjpSbVHpboQ1gw6jodt36pVfaVga5OqsDllJsLCCWoZfbv7rVo2m+LsCkP+i0/mKZ5zmWnv0pRJcSgjZyfBJ2Pa4HLlClkpVX1QlAeD3rVfIa1Bz3+pFX1zHobCPDxcnXlxSBMOxWcwY9sZe5euRDJyC/hgyWHaRgVwc/E9tmMynFgFfV8G7xqlJ1AGxjUoVw8Y8TVkJsCi5yw+hp5bUMSkFUfpM3ENS2LjeaJPA1ZO6MWtbWpVbZ7pWjIvwvwnVSiWni9YLl2j0PdVtVps3mNlHvFgK5OqsDmZTKriy8uAkd9Wv5Od6/fhdL2xPOi8mO9+msIXq4/Z6vTZCvPhn4fZE6dCGV0VXBlUxXd0KfR7DYJtE8DXZngFwc3/g4sHYIUaZRnSIpyOdYOYuPQwadkFdi7g9fnfqmMkZebx6vBmqt5MOgZL/6P2PbV/sMrpG9egAGq1VV3EfbNg0+cWSVJKyYK95+n74Ro++vMIfWJCWf5sTyYMaIy3u4UrpsI8mHEn5GXCiG/ApRLL0o2Om5e6tswE+O1+KCp9/4a1TarC5gSw9gM1nNz/jUoFtHQEwkZ9QJp3Hf6d+T7Tlq6j98TVDPpkLZ8uP8qRhAxDHJq39kgiX685wbhOUQxuEXH1i2c2w+Ln1bxnx/+zTwGtTaMBqlLf9D/YOwshBK8Ob0pqTgGfrjBedPpTSVn8sP4kt7WLpFXtADXSNX2MCj11yxfgVHV7MbZBAXSfoHaK//kyHF5SpaRiz6Ux+uvNPD5tF36erswY35nP72x7edWJJTGZYP5Tak/XiK8grGnZn3FUItvBsE/gxGpY8nyZvV1rmVSlzCn2d1j9LrS+Uy35raZ4ePsR+OBs/NydWFXzK94cGImvhwufrDjCgI/X0vejNUxcepjYc2l2MaukzDyenbmHhqE+vDz0mnsl5RT8epfamnHbDxap+AzLoPegzk3wx+NwdhvNavozpkMUP206xbGLxthPWMzbiw7i5uzEvwY2hqIC+O0BSDkJo6eCfy2L5GF8pZ2cVAUf3hJm3gPHVlQ4iaTMPF74fS/D/7eeY4mZvDOiBQue6Ebna1cHWQop1bDknunQ60W176m60+ZO6Pqk2pi3/FWbm1SlzOngApg9XsUIG/Zx9VgRVho16sMdP+Kacpy7jz3LrPuas+XffXnzlmaE+3nwxepjDPtsPT3+u4p3Fh1k55kUm8SFM5kkE2buIT23gM/GtVEHehaTegZ+HK4WGI391ZYnUNsHFze44yfwjYCfR8G5nTw3QB1y+tbCA/Yu3V+sO5rInwcSeLxPQ0K9nZU5HV8BQz9SK3wthPENCsDNG+6eoxZNzBinYoyVg/xCE9+uPUHv/67mtx1xPHhTXVY914txnaKufwyGJTAVwcJnVcSIrk+qyc8bhf5vqCGKDZ+qHq/JVOrbLWVSlTKnA/Ng1n1qL824mTY9l8uu1OsFd/wIF3bDzyMJdcnm7i7RTHuoM9tf6s/7o1pQP8SHyRtOMvKLjXR9byWv/bGfLScuWW012Q8bTrLmSCIvD21y9Sb45BPKnHLS4J55aoP4jYB3MNw7Hzz9YeoIaqTs5am+DVl9OJFVh+wfSLuwyMQb8w8QFeTFA53D4fcH4eAfMPBdtYfVgjiGQYFqOd0zV5nU9NEqhEsJSClZeSiBgZ+s5e1FB2kfHcjSZ3rw0rCmKrqutcjLUGOw23+Am55SFXZ1b5VfiRAwZCJ0+Ads/EzNSRXklPqRqppUhc1JSrUfbeY9aj/a3bMrFcTSoYkZCrdNhgt74bu+amIbCPJ2Y3SHKKbc35HtL/Xnozta0SLSn2lbzzD6m810emcFL87Zx/qjSRQUld74KC+x59J4f8kh+jcN467OV8Q9PL0Rvu2roq/cPad67B2sCAG14d4FarvDj8O4z38X9YK9eXPBAfILLfPdV5Zftpzh6MVMXu8bivsvI1Rjb+A70OVRi+flOAYFqmVx/2IVZmfRc2rlWN7VFdqxixncN3kbD0zZjhAw+b4OTL6/I/VDfKxbtvh98F0/NQQ59KMbz5yKcXJSJjXgLfXD/X7A5aPTS6CyJlVhc8pJVa295a9B81Fw7x8VPoK62tD0ZnX9uWnwXZ+/nSDg7+nKyLaRfHtPe3a93J//jWtDp7pBzN11jru+30KHt5fzz1l7WHkogbzCokoVISuvkCem76KGtzsfFIcyMplg85fw0y2qUfqPFWqO80YksA78YyVEtMZl9gNMifyDuKRUftp0ym5FSsnK56M/j3B/7Qv0WnuHauTc/qPVQk453npadx8Y84vaHLruQzi9kdo1/kVBYRCvz9/PT5tO4+XmzMvDmnJPlzoVizReGYoKYfMXsPJN8AxULfJ6vaybp9ERQoVCqtEQ5j4CX/eAAW+qTaMlHP5XbFLjvt3M2G82M31851IbFRU2pxNrVIMm/byKQNB9wo3ZgLiSqM7w0Eo1fzDrXjh6Fwx8S/2Or8Db3YVhLWsyrGVNcguKWHMkkSWx8SzZH8+sHXH4urvQp0kog5tH0LNRyNVzSKXw6h/7OXUpi+kPdSbQ2w3S4mDe42oPTaNBau75mrLccHjXUA2JJS8Qtf17lvmt4dkVD3Nrm1oE+9h+WPp/y/bxfwVTeSRpASIgCu5fpFZbWwlhjxU77du3l9u3b696Qqc2wJz/g7Sz/F7UjQ8Kx9K3Yysm9G9EDVuId2I1LH5BRb5uPBRunqR6eRZACLFDStneIolVAotplBEPcx9VE6gRrWDwB6piLIEjCRmM+3YzTkKUaFIVMqfUM7DsJdWbC6oHI7+zWIvc3hqBhXQqKlDx+tZ9CB4BaoNl23vLPEk4v9DEhuNJLN53gT8PJJCSXYCnqzO9Y0IY1DyCPjGh+JSwdWPe7nM8NWM3T/ZpwLO9o2DDJDX0CjDoHbVZ2gINiGqjEcDhxRTNeRRyUljkMYTVNR8i29lGw9NS0ipzHUPjP6e2SITWd8Hg9yodBPZaStLJsQ0KIC+TE3Pfovah73B2csKp3b2q9R4QVfZnK4OUqoW3/mN13HRAlBp/jRlm0Ra5vW8si2pUfGjZspch/Rw06AfdnoU6Xa/7nZVmUuU2p0vHVVTy3dPU8SbdnlGRPCwYANbeGoGFdYrfp/Yand6gNl/f9LQ6DqIc+/cKi0xsOZnM4tgLLN2fQGJGHm4uTvRoGMLg5uH0axKGv5ea/z1zKZshk9bROtSJH1vux3nLl5AZr851GvCmRe/daqdRdjKHpr9Aw7OzyMWD+e6Dme12M6lO1ulpCmmia+EWRuf9TkzREeJco/Ef8SG+TS0bZsoqBiWEuB14DWgCdJRSlksFiwpWTPIJ1QLc8ysgoeEAdVxCo0GWWaGVfkFtGN4zXe329glX464drRP12pI3VmV0sopG+VnqWIFNX6hI6OEtVcTt5rf97Uyf65lUmeZUkAOHFqqjGI6vACdXlX73CVUKWFkS9tYIrKCTlGpF1tqJEL8XfMLU2WWtx6nQVuWgyCTZcTpFmVVsPOfTcnFxEnRtEMzgZmHs3bSUdqlLGOm2Faf8DKjbU612teDy5GKqpUagThNe84EaGXB2UwtfWo9TG5ktEQkl5ZQ6EHL3NLW3KTBaLfxqc49VIq1Yy6CaACbga+A5uwpWTFqcina851fVKnP1hrrdlXCR7SEkRs1jlYaUamgqYb8KHnp8lTmIo4Ra7dWZVa3GWHVpsoVvrArrZFWNCnJg9y+wc6pa7iycoGZbqN9HDf+FtwCf0KtM6of7OvDGggNXm1NuOlw8CHHbVK/29EYoyAa/WtBqrGo8+IZb5xqwv0ZgRZ2kVCa/7QcVXshUqCqp+n2gbg/VuAiMLnMYUBbmc3j/Lo7uWY/r6bW0KdxNmEil0NkTl2Y3q83Rtay3CKJaawRqpGDLV7DvN8hJVot+6vaE+r3VyseQmLIb0FJC2llV351cp6YuLu5Xr0V3h3b3qd6tFUOAWXWITwixGqMIVkxRofqiDy9SlVfyCfMLAvxrg0+oerh5q6elCXJSICtRmVxOinreyUWdTlqvt1r5FdzgerlZHGsMTVREJ5toBMpg9s9RjYBz25UOoM4x8qtJlmsg6+KKyC00IYBOtdwJd85QoZXSzl5OJ7iRWpwSM0zdVDaINmBvjcBGOmVdggNz1ArVk2sh37zK0tVLDcd5h6gjSpzNWzgK8yArCbIuQsppMKk4ctKrBunhXTkf2oMmvceV3VC0ADeMRoX5cHSZOsvs+Eo1lA6q8RcQpXrC3iGXzcpUpAwtK0nN0+alq+ed3VUjsX4faD7SelMl11CSTjZbxSeEGA+MB4iKssFFO7uocPzFIflTz6gx9oQDcOmoCuKaeka1uIvxDFSt71rtILSZCk8U0cpiE4FGx+YaAYQ2UY/eL6pl4PF7VUvu4kHITMA7M4E+fikkZebj7+GCN/7gEaKiIgQ3UsNOEa3Arxybc6sJNtfJu4ba29bhH2pBRfw+NcydsF815jIvqr+lebm5k6uqDMOaqQZDWHMIa4YIicHfyYkbYWG/zTVycVPHqjcZpnpEyScgIVbpcum4aixcOq4iwasSqkZFQB1lSKFNL99LBjqos0yDEkIsB643TvIfKeW88mYkpfwG+AZUi6LcJbQUAVHqETPU5lnbAkvoZHeNPAPU8FHdHlc97QZUB/upFveSs6taVmzFpcX2pFpoJIRqwNWoD01vsWnWlqZMg5JSVpNTwao3WifjozUyPlojY+FYkSQ0Go1Gc8NQJYMSQowQQsQBXYCFQoillimWxpJonYyP1sj4aI1sT5UWSUgp5wBzLFQWjZXQOhkfrZHx0RrZHrtEkhBCJAKnr/NSMJBk4+LYM9/S8q4jpQy5zvM2wYAa2TNvQ2oEhtTJaPlqjYyTb2l5X1cnuxhUSQghttsjLIm98rV33pXhRvyuHE0juPG+K62R8fOtTN56kYRGo9FoDIk2KI1Go9EYEqMZ1Dc3WL72zrsy3IjflaNpBDfed6U1Mn6+Fc7bUHNQGo1Go9EUY7QelEaj0Wg0gDYojUaj0RgUwxmUEOJ2IcR+IYRJCGH1pZBCiEFCiMNCiGNCiBesnd8V+f4ghLgohIi1VZ6WQmtkfLRGjsGNoFNVNDKcQQGxwEhgrbUzEkI4A58Dg4GmwFghRFNr52tmCjDIRnlZGq2R8dEaOQY3gk5TqKRGhjMoKeVBKeVhG2XXETgmpTwhpcwHZgA2iU8vpVwLJNsiL0ujNTI+WiPH4EbQqSoaGc6gbEwt4IpjWYkzP6cxDloj46M1cgwcTiebnah7JZY6FExjPbRGxkdr5BhonSqPXQzKQIeCnQNqX/H/SPNzNzxaI+OjNXIMtE6V50Yf4tsGNBRC1BVCuAFjgD/sXCbN1WiNjI/WyDFwOJ0MZ1C2PBRMSlkIPA4sBQ4CM6WU+62V35UIIaYDm4DGQog4IcSDtsjXEmiNjI/WyDG4EXSqikY61JFGo9FoDInhelAajUaj0YA2KI1Go9EYFG1QGo1GozEk2qA0Go1GY0i0QWk0Go3GkGiD0mg0Go0h0Qal0Wg0GkOiDUqj0Wg0hkQblEaj0WgMiTYojUaj0RgSbVAajUajMSTaoDQajUZjSLRBaTQajcaQaIPSaDQajSHRBqXRaDQaQ6INSqPRaDSGRBuURqPRaAyJNiiNRqPRGBJtUBqNRqMxJNqgNBqNRmNItEFpNBqNxpBog9JoNBqNIdEGpdFoNBpDog1Ko9FoNIZEG5RGo9FoDIk2KI1Go9EYEm1QGo1GozEk2qA0Go1GY0i0QWk0Go3GkGiD0mg0Go0h0Qal0Wg0GkOiDUqj0Wg0hkQblEaj0WgMiTYojUaj0RiSamFQQogpQoi3zH93F0IctneZNFejNTI+WiNjciPrUi0M6kqklOuklI1tlZ8QIkoIkXnNQwohJtiqDI6GrTUCEEK0FkKsE0KkCSHihBAv2zJ/R8NOGnUVQmwVQmQIIfYKIbrZMn9HwE66vCmE2CeEKBRCvHad18cJIU4LIbKEEHOFEEGWyrvaGZStkVKekVL6FD+AFoAJ+N3ORdNczTRgLRAE9AQeFULcbN8iaYoxV2rzgf8CAcAHwHwhRKBdC6YBOAb8C1h47QtCiGbA18DdQBiQDXxhqYwd0qCEEG2EEDvNLa1fAY8rXuslhIgz//28EOK3az77qRBikhWLdw+wVkp5yop5GB4DahQN/CKlLJJSHgfWA80snIdDYTCNugLxUspZZo1+BhKBkRbMwyEwmC5IKX+UUi4GMq7z8p3AfCnlWillJvAyMFII4WuJvB3OoIQQbsBcYCqqNTwLGFXC22cAQ4q/LCGEM3AHqjV9vbQXCCFSS3gsKEfZBMqgfqzwhVUjDKrRJ8A9QghXIURjoAuwvFIXWA0wqEbiOv9vXv6rcnwMqktpNAP2FP/H3PjLBxpVMr2rcDiDAjoDrsAnUsoCKeVvwLbrvVFKeRrYCYwwP9UHyJZSbi7h/cOklAElPIaVo2zdUN3c38p6YzXHiBotAG4DcoBDwPdSyuuW6QbBaBptAmoKIcaaGxH3AvUBrypcoyNiNF3KwgdIu+a5NODG7EEBNYFzUkp5xXOnS3n/NGCs+e9xlNC6sBD3Ar+bu7o3MobSyDy/sQR4AzVcUhsYKIR41JL5OBiG0khKeQm4BXgWSAAGoXq4cZbMxwEwlC7lIBPwu+Y5P64/HFhhHNGgLgC1zMNpxUSV8v5ZQC8hRCSqpVGigEKIxddZkVf8WFxaoYQQnsDt3ODDe2aMplE9oEhK+ZOUslBKGYd5eKRil1WtMJpGSCnXSCk7SCmDUJPuMcDWCl2V42M4XcpgP9DqijzqAe7AkUqmdxWOaFCbgELgSfNQwEigY0lvllImAquBycBJKeXBUt47+MoVedc8BpdRrhFACrCqohdUDTGaRkdQU4TjhBBOQohwYDSwt5LXVx0wmkbFiwNchRB+wETgrJRyaSWvz1Exoi6uQggPlF+4CCE8zPNdAL8Aw4Xan+WNGqWYLaW8MXtQUsp81Mqe+4BkVEUzu4yPTQP6Yf3hvanXdM1vSIymkZQy3VyeZ1CNiN1ALPCWpfNyFIymkZl/AUnAWSCCy3MrNwwG1eVb1NztWOA/5r/vBpBS7gceRhnVRdTck8WGzoWuTzUajUZjRByuB6XRaDSaGwNtUBqNRqMxJNqgNBqNRmNItEFpNBqNxpC42CPT4OBgGR0dbY+sHYYdO3YkSSlD7JW/1qhs7K0RaJ3KQmvkGJSkk10MKjo6mu3bt9sja4dBCFHa7nGrozUqG3trBFqnstAaOQYl6aSH+DQajUZjSCxiUEKIH4QQF4UQsZZIT2N5tEbGR2vkGGidbIelelBTUMEdNcZlClojozMFrZEjMAWtk02wyByUlHKtECLaEmlZlawkSDoKl45BWhzkpUNuOiDBxR1cPME3HAJqQ2BdCG0KLm72LrVFcBiN8rPhklmjlFPI7BQSkxK5cCmNAD8fIkMCcfYJAf/aEBAF4c3Bw9/epbYIDqORqQiST0Lycbh0HLIS1b2UnwVOLuDiAe6+4B9JpmcEhTWaEBAeDeLa454cE4fRKSP+cn2Xfl5plJcBCFXfuXqCX011L9WoD8GNwdkuyxJKxGalEUKMB8YDREWVFpzXguRlwJGlXNyzhMITG6hpOn/1626+6kYSTlCYCwXZ6lGMszuEt4C63aHxEKjVDpycqa7YRSNTEZzeCEeXwulNcGE3mAr/ejkfN4T0JBhX3C4VkH2qAF+yr06jRkOI6gSNBkP93uDmbZuy2wm76JR0DA7Nh1Mb4OwWVdn9VSBnpIcfBc5eFBUWIAtycS/KxBkTPua3ZLoG4V6nI66NB0DjwapirMbYQ6P0lIvk7puPZ9x6PM5vwTXz3F+vSQQmNx+km1JEFOYhCrJxKsr96z0mF0/yQlqQE9md/PoDCWvUAeFk32UKFovFZ25RLJBSlnkCZvv27aXVVrVICcdXwPbJyGPLEYW5pEgfYp2bsN+lKZsywzkhw0l0CqFJrSDa1wmkXZ1A2tYJJNTXA3JSVe8q6Qic3wlxOyBuq6o0vUOh9Thody8E1bNO+c0IIXZIKdtbOM1ojKARqJbd1m9h/xzIugjOblCrHZdqtGN5Shi/nvTgQF4w9SJCuKdLHYa1qsm2k8lM3XyajYfjqCkucUtUPreEJVIn5yDizEbITVONiibDoN39EN3Nqq12e2sEVtYpJxV2TYU9MyBBTbfI4MZkhnXgtGdTDhaEsy0ziJ0XBScvZVNkUnWJm7MTjUI86RCcT2vfdIou7MN0biednQ8TSYJKu3YnaHcfNBuhWvJWwhoamdONcXElxQAAIABJREFUxgj3kqkIDi0kYfXXBCVswlUUkSj92WpqzA5TY47ISE6YIognCNPfZnQkAWRSSyTRQJyjldMJ2jodpaU4gZOQXHIJw7vTfXh0us/qDYqSdKo+BmUqgj3TYcMkSDqM9A5lnVt3JsU3IyimOx+OboOvhyuXMvPYcTqFHWdS2Hk6hT1xaeQXmgCICvKivdms2kcH0jDUF2cnoW7UY8shdjYcWQKySPWoev0bIlpa9jrM2Lvys9pNdXYrrPkAjv2pTKnRIAqb3Mqyglb8uD2RLSeTcXN2YljLCO7qUoc2tQMQ15jM2eRsftlyhpnbz5KclU/dYG/u6hDB6NBz+JxcDHt/VWYV0gR6/gua3gpWaAnaWyOwkk7pF2D9R8hdPyMKsrno35It3r2Ym9uezUnuZOUX/fXW2kGexIT7ERPuS+NwX2LCfYmu4Y2L89Xf956zqbz+Ryzpcfu5O3A/d7iswzP9BHgEQJfHoNPD4HHtuXdVp9oaVGEebJ+MadPnOKWdIU4Gs827F4EdR5Pm37RKDTO3vEuIo3/ic2QO3Zz2IYUzovko6Pk8BDew4EVcpnob1JGl8OcrkHgIIlqR3PIf3L81kr3xOTzTrxGP926Ak9P1BcsrLGL/+XR2nEphx+kUtp9OISkzDwBfdxdaRwXQvk4Q7eoE0joqAJ+8i7BjCmz5SlWCTW+Bge+Af6Tlrgf7V34W1yjpGCx/FQ4tAO8Q6PAQ8Q3H8sv+HKZvPUtSZh6RgZ7c1bkOt7eLpIaPe5lJ5hYUsTj2AlM3nWbnmVQ8XJ24uVVN7mkfTvPUFbDhU/WbCG0Gg9+Duj0sdz3YXyOwrE4yN53d01+n6ZmpOMki5hZ2ZXLRIA7IaAK9XM0G5Edjsxk1CvPFx738swRSSv7Yc553Fx0iPj2HZxpeZLzrEjxPLAXPQOjxL+g43qLzINXOoKSEfb/Byjcg9Qx7nJryRd5AYnrcwRP9Yv7WMKgKu8+m8v60RfTJWMB9bitwkfmI1uOg3xvgXcNi+YCVDUoIMR3oBQSjjmt+VUr5fUnvt5hgWUmw6Dk1TBRUH/q9ykbXrjw2fReFRZJPxrSmb5OwCiUppeRscg47ziSz3WxahxMykBKcBMSE+9E+OpBOEc50S5qJ366vEMIJev8HOv2fxeaoLH1j2U0jUxFs+h+sfBucXTF1fYrNYWOYsu0iyw8mIIHejUO5u3MdejQKUT3WShB7Lo1ftpxm7q7z5BQU0ap2AHd3iuRmly24rXkbUk5Bq3Ew8G3wCqr6dWF/jcCCOh1fRfrMh/HLi2eVaw821HmE0KjGNA73o0m4LyG+7n/ryVaW7PxCvlpzgq/XHEcIeKVdPqPTp+B8YiVEtILhk6Bma4vkZaVGhH3updSzMP9JOL6SJJ/GPJc6kkNeHfh4dGu61LesYRSTkVvAy3NjWbf7IK/XWMbQnPkIdz8Y8Jaa7rDQb8LqPaiKYBHBjq+E3x9SvZheLyC7Psn3m+J4Z9FB6of48PXd7agX4lN2OuUgPbeA3WdS1dDg6RR2nUn5a5ijtW8ab7lOoXn2FjJqdsNjzA+4+lXMFK+HtVp+5cUiGqWdg1n3QdxWChoOZVb4M3y3K4sTSVkEerkyukMUd3aKonaQl0XKDJCWU8DsnXFM3XyaE4lZBHi5cmfbEMYzG/+dX4BPGNz2A0R1rnJe9tYILKBTYT4sewm2fs1xUwQL673EE/feaTEzKo24lGzeXXyIhXsvUNPPnU9bn6X9gfcQ2Zeg/xvQ+ZEqV4DVQiOA2N/hj6eQsoipvg/y6vlO9GsawQejWhLobf2VxrN3xvHy3FgaO53j+xo/E3hpp5o/HD7JIkOz1cegpPz/9s47Pqoq/f/vOzPpvfeEJEACgQABQm9Ki2ABBaVEFERcYe3LsqKuukV319VVQMWCKNIVkCoqAtJLCBAILZDee08mM3N/f9ywP9yvCklmcu+E+3695pVX5pU555M8uec55znnPI8UutnzmrTHcP8n1HtE8cevz7L1TB7jY/x5a2qvFoUeWorRJHKxoIpTzQ7rZEYZg6t38bpuJTUaZ5wfXo99+IA29SH3g9XmhyrjEGychVFfz3q/53k9M5qGJpG4UHcSB4WR0CMAexvLnYgURZEjV0tZdTST71ILMYkiiZ0qWVT9Bg61uQjj/iYNgG1AbhtBG+1UUwQbHoasI3xuSmC3/zw+e3w4drr2Pal67Fopr29P5XxeFSNCdLzn+Alumd9Bt3tg0nKwbf0ExuptZDRIY93h96j0jiOx/DEuNnry8oRuzBwY1i4Tieukl9Ty1NpkzuWW80H4IcYVfITgEQbT1oNP1za13TEclMkIO56T9oBiJsG9y8iuEXh8VRIXC6p4YWwUT46MbFejXaewqoETxw7Q88CTBOqqsJn2JXQZ0+r25H6w2vJQ6c9+jW7z4+Rr/Hi47hnydKHc1yeQGQPC6BHU/neWCiobWHs8i7XHs6ivLmep48eMMB2jrv98HBP+2uoDFHLbCNpgp7Jr8MW9iDXFvCzOY5/tCLbMH4L3Lez9WQKjSWTjyWz+tfsSZXWNLAk7zISC9xGC+8P09a0Oy1q1jQyN8NVsuLidU76TeTDrPjr5urNkeh+i/c1/oORW0BtMvPXdJT766RqTvLL4l+nf6DDA9I0Q0r/V7f6anawnF5/RAJufkJzT0Ofggc84kFnH3UsPkltex4pH+jN/VGdZnBOAn6s9E8eM4a/+73JNDEBc8yCc3yKLFjlJ3fUh2k1zOGmM5An7fzJjwhiOvngnb0yOlcU5Afi72fPsmK4cWnQH/5gxlOV+f+YLwxgcTyzj3PJHpVX57UTxJfjsLsTGGp5x/DtbDIP5dFZ/2ZwTgFYj8FB8KHv/MJLHhkbwbPZQnhWfxZibjGnFeKgtlU2bLOjrYO00uLidj53mMTnrAaYMiGDrgqGyOScAW52GF+/qxuez4znQ2Jlx1S9RLTgjfn43pB8we3/W4aBEEXY8Cykb4I6XEe98heU/XWPWiuP4udizdcFQRkX5yq0SgMTR/bm/fjEl7j3h68ekvbLbBDF1K9HHFpGsjcU4/Su2vjCB2UPDcXOwkVsaADZaDXf1DGDNvCEMWrCC7W7T6VG4hdrtL94+TqoyR1o5mYz8xetfbCv2Y8m0PkT5u8itDABXexsWT+jO7meGUx1+FzMbF9JUkk7lJ/cgNlTdvIGOgMkIX81GvPojL4tPsKT2Tj6YEcffJ/XEwVYZiQJGdPVh19PDCYrozsiyF8kXfBHXPgR5yWbtxzoc1IG34NQXMOwF6gY+w4K1ybyx6yIJPQLY9ORgOnkrJ3PAsC7eRAQHMKvhBUTvrrBuBhSkyC3L8mSfQPz6MU6bIskc+wmDokNlW83eCl38Xekx81+sNIzFKel96dpAR6ehElZPAX0tn0W+w4o0BxZP6M6oaGVM7m4kwseZTx/pz7xZj/C6w0KcylK5vGSSNHh3ZEQR/fYX4PIuXmmaxcWAe9n1zHASegbIrez/4ONix8pH+vPEXQOZWreQAr0DTZ9Phooss/WhfAd1+Tv48a8Q+yCZvZ5l8vuH2ZWSz6KEaJZO74OTBQ9DtAZBEFgwqjOp5Rq+7fO+lCdufaJ02bejUlMM62dQqvHiOc0iJsRFyq3olujk48y+8OfZKwxA3L1YSrnUURFF2PIklFzmQNw7vH5cYFp8CLOHdJJb2W8yMsqXV194nh1hfySq9iTlO/4stySLkvPjx9ieWsFHhgl4jpzP2rkDCXK3XKaNtqLRCMwdHsH7v5vIHxxepaGhnoJPpmJorDdP+2ZpxVJU5cOWJ8CvBz91e4V7lh0mv7KBlY/G88QIeQ5D3Aqju/kR5efC20cqMT2wEiqz4Zv5HTOMZDLBlt8h1lfwSN1TjOkfY9HTeeZm5qBwnqqfS51TsHQkvqPudZz4BC5uJ7vvH5nzkxODIrx4/d4ein2GbsRGq2HgA8+wzjgKj6QlcOV7uSVZhMqsc3j9tJiTQk96P/ouz47pataLt5YkNtidD595iA2hL+Ffc4HUz58yS7vK/e1FEbY9hdhUz9rQV5n1xRkC3OzZtmAow7vKWsH5pmg0Ak+OiuRKUQ3fVXeCO16WMiic3yy3NPOT9Bmkfc++Ts9w3hjKjAFhcitqEaOifXF19+J1x0VQVwq7/yS3JPNTehV2L6Y+7A4mJfUiyMOBD2bGYWMlgx9Ih5C+C3uea0II4ranm6sQdCBMRoxfz6UOOxwf+pT4SGWPcb+Es52OOXMWsMNxErF5G6SrJm1Euf+hF3fAle/42m0WfzqgZ2JsIJueHEyol/kudVqSibGBhHs7sXTvFcRB8yGgN+xaCHVlckszHzXFsOc1TJ2GsSirP8O7+ihqP/BW0GoEpg8IZX2WG2Vx86U8fld+kFuW+RBF2PkHRK0Nj5YlojfBJ7P64e5ofWVk7u4bzvMNj0mlI/a8Jrcc83JyBZ6VqbxnO5duXdt2p0huygYuJMvkg37zfGhquPkHfgNlOqimBgw7F5KuCePF3EEsvqsb7z3UG0dbZe03/RZajcDvRkRyLreK/WnlcM8SKTXTwXfklmY+9rwG+loOdV1EYbWexIHWtXq6zoP9Q7DRCiwzTAKvzvDd4o6zGX9pJ1zdw1qnRE6U2vP+jL5EminDSnszLsafSzbRHPGaBCdXQPFluSWZh7oyxD1/4bApBpvYB6wi7PpbjO4VzmLDHGwr0yU7tQFFOqhr3y9HV53LP8SHWTF7CHOHR1il0e7rE0Sgmz3L9qZJWc9jH4TjH0l7a9ZOWTqcXgP9H+PDVB1B7g7cocDTYLeCt7Mdd/UMYENyEY3DX5QSzKZslFtW2xFF2PsGpXYhvJw/mNfuiWFoF2+5VbUaR1sd42P8WVR6F6KNI+z9m9ySzMPR9xEaK3m16WESYpV3Wq+lBLg5UB00nGSb3nDg381FEluH8hyUQY9b0hLOCFEsXvA7q36gbHUa5o2I5ERGOceulcLIRVJdqcNL5JbWdg6+DRod6dFzOZRWyvQBoa1O9KoEEgeGUd1oYFNDX/CPlUqCmExyy2obl3ZBYQp/q55A4uBIZlrpCvdGJsUFkdXgSFrEw5C6Rbp0bM3UV8Cx5SQ5DafSpTN9QjzkVmQWEnr482rNZKgrgZOftbod5Tmoi9vwMhazw206IV7WtZ/xSzzYPwRvZzuW7k0Dz3Apv9jpL6Wb4tZKXZlUxK7PDL4414iNVmBqvxC5VbWJvmEeRPu7sOpoNuKgBVI582t75ZbVJir2vUeO6E155H28NKGb3HLMwuBIb/xc7VhWd4dUT+zEJ3JLahun10BjFX+pTGB8jP+vlgWyNhJ6BHBG7Eyee5xko1aGzJXnoJK/pETrS7KtrOmzzIa9jZa5w8I5cKWEM9kVEN+cgf3cV3JLaz0pG8Gop77XLL5KyiGhRwA+LvKlyTEHgiCQOCiM1Pwqkl1GgKM3nPjNSheKpiTrIu4FR/jefhzvzuhnNceVb4ZWI3Bf7yC2pzXRGHUPnF4LjTVyy2odogjJqyj3iOW0IYzxPaw/vHedUC9HYgJdWW0aCxWZkLanVe0o67+2Mheu7mW/41hEQVnS2sKMgWG4OdhIq6jQQdJG/Lmv5ZbVek6vhoBefJPvSXWDgcRB1h86ArivdxDOdjpWnSiAXg/Ble+kyYQVUnl0FSZRoM/dT+Jqr4xUU+ZiUlwQBpPIXscE0FdL1ZmtkfzTUJTKtzaj8XKyJT7cPHXKlEJCD3+WF3XHZOfe6vFOWV7gym5A5JijeSufyo2znY5Hh3Ti+9RCLhZWS2G+9APWeeS8Kg/yzyB2n8QXRzKJ9nehX1jHiJs72em4Py6IHWfzqew0HkxNVnsp1CdvL0liF3Qe1h16/SWi/V3pFuDK8nQfaaV7YbvcklrHpW8RBQ1LCrozNsbPqvdwf4nxPQIwoOOa5zC4vAuMTS1uQ2EO6gdwDyVXFyq3ErPzyOBOONvpWLb3KkRPBNFonYlkmwfsC66DSM2vaveaNJZm5sAw9EYTa/L8wclXOmhgbVQX4lpxnr3GPnIrsRiT+wSRnFtDVdho6X/SGq8FXPmOSs/e5OkdSehA4b3rdPZ1pouvM5sb+kiRiKyjLW5DOQ7KZIKMAxB5h9nKCCsJd0dbZg4MY8fZPNJtO4ONE2Qfk1tWy8k4AM7+fHLBDmc7Hff1CZJbkVnp4ufCwAhPVh/PxhQ2GLKPyy2p5WRIZQ9+MvWUWYjluLd3IBoBDjZFQ2OldDXAmmishrxkjmp64eZgY7GS7XKT0MOf1QXB0jetGO+U46DK06GxCgLj5FZiMeYMDcdGq+GDnzIgKM46B7/8M+j9e7M9pYDJcUEWrVwsF4kDO5FTXs9Vu25QmWV999byz2DS2HBR7HiRiOv4utoztIsPK7Oa795Z27NUkAKIbC32Y3Q3P6tKO9USEnoGUCE6U+nUCXJOtPjzyvmrFJyVvgb0kleHBfFxsWNafCibTuVS7dkDii5Y110bfS2UXOGMQQqDdYR7Nb/E2Bg/fFzs+Cqv+Q5eUaq8glpK/hmq3aIw0PEmDzcyuU8Qx6vcMNg4W6WNAE40hJLQw19mMZYj2t+FTl6OnBfDobDlNlKOgypLl756d5FXh4WZNyICQYC9xU5gbIRqK5qdV2QBIjvynBgQ7klXP2UUuTM3NloN0+JD+Sar+eh8eYaselpMeTq1LuFyq7A4Y2P8cLTVUagNsD4blaXToHGiztbLqpMR3AxBEBjfI4Ckag/Eqhww6Fv0ebM4KEEQxguCcEkQhDRBEBa1qpHqfLBzA1vrv5z7WwS4OXB/XDCbM5qP/rbjg9VmO1XlAXC+2rnDHC3/NabFh1AieGAQbK3LRqII1QU0OvhZQJ2ycLTVMb6HP6n1HpiuT3DbAXOMd6aqfPJMHtzZzc+qytO0hoQe/mSafBBEk1R6qAW02UEJgqAFlgEJQHdgmiAI3VvcUHUBuHT8hwrgiRGRlBqbHXE73bMxi51qCgEwOPkytnvHDUuANJEY3S2ActERQ137FJs0i43qy8Gop9He+so1tIbJfYIpNjqhrylvl/7MNd7VlOaQb3Tr0OG968QGu6FxbD4E0sLxzhwrqHggTRTFa6Io6oF1wL0tbsWoBxvlVo40J528nRjWVXLGFZln26vbNtuprEpK+ji+dzi2OuVEhy1F4qAwfKig5kK7ld9o+7NklEIoRt3t8SwNivQiWCjBvrEEg7Fd9nPNMt5V19Si19gxIqrjTyQEQSAuWCqTVJrdstOW5hhlgoAb1205ze/9DEEQHhcE4aQgCCeLi4v/bysmA2g69qbujfTyl/Y3co5taq8ub2qnm9koq0QqEjcg0jqzlreU6zf73Rvz2qvLtj9LJkPzD3X8CQRIqY+Ga1MAKKpqW+2hW8Qs452+qQlHO1urKiHUFnyRVripR3e36HPt9l8siuJHoij2E0Wxn4/PL80aBBCt6ERbG9mbKc10u45+VGYl/5+b2aizr3Qo4ofUgvaWJgt7LkghzVKP3jIr+Tm/bSfh+g+1uy45aDQY2WwcAkCgu3JWjTd7lhxtddQ06Kmoa9mhAWvlmkkKZcaPfqBFnzOHg8oFbsynEtz8Xstw8JDi57cBKTmVXMyQ/kS23pHt1W2b7eTsLj1oB85eoU5vMJ8yhbLqaCbluOIR0W5389r+LDm4A2Cjb599M7nZe7GIJlEnHQppnwv+ZhnvHN28cKWG71MLzSZMqRiMJi5kFwFg59Wyu3nmcFAngC6CIIQLgmALPARsbXErDh7WmZuuFSzbm0agXb30jWO7JYhsu50cpJx7tvoKtiS3W9hLFtKKajicVowbNWic2u2Wf9ttZOMIWrvbxkFtOpWLn00dtq7ttpdjlvHO2cMXH20t357r+NGI4xll2DQ2Lz4cW/YstdlBiaJoABYAu4ELwAZRFM+3uCG3YCmTRAd3UpcLq/n2fAGTI5pzh7m0Tw4us9jJVUpZMsCjmi+OZCB24DDSl0czCdGWo8FkXTYSBHALwqE2xwIKlUV5rZ69l4qIti9HcA1slz7NNd4JrsEECSUcvFJEdUPLk6haE9+eK6CTtgRR0Er5LVuAWXboRFHcCexsUyM+UdLXksttF6Rg3t+bhqOtliGuJWDnCu30YIEZ7OQZDhodCf5VLE2t5lRWOX3DOlaJAIA6vYGvk3KYH14nbYH7tl+xP7M8S95ROBekmUeQgtmeko/JaMCnMQt87mq3fs0z3nXFxtSIj6mIHy8WcW/vjpXT8jomk8i35wpY7lKM4BAJOtsWfV45R32uO6jCli++rIXM0lq2nslj5sAw7MsugU+0dSXG1dqAV2eihCxc7HSsOpIptyKL8M3pPKobDUz0a17Ne0fJK6il+EThWJ2BHR17A37zqRxGeVejMenbdRJhFnyiARjgWNChw3ynssopqm6kC1n//Z1bgnIclHsYOPtD5iG5lViMD/dfRafV8NhAf8hNgpB4uSW1nJAB6HKOMSXOn50pBZTUNMqtyKyIosiq5jpXQVWnpeKS7bcHZR5CB6IRm+ij6birqPSSWk5lVZAY2BzKDBkgr6CWEtAbtHZM9sxg76WiDnvoaNe5AkK0FTjXZrfKRspxUIIA4cOkQn4dcG8jr6Ker5JyeKh/CL4VZ6U8fOEj5JbVcsKHQ2MVj0ZUoTea2HCyZalLlM6prApS86t4eEAQQuZh6fe1NsIGI6JhkMbKEqi2gM3JuQgCxHMOXALBM0JuSS3Dxh5C4ullTKGhycT+S79wN9TKEUUpvJcYkCW9ET6sxW0ox0GBVAuqtoiIpktyKzE7H/10DVGEeSMipSJ4WlsIGyS3rJYTPgIEDSHF+xkU4cXqo1kYTR1nQvHl0Uyc7XRM8syQyolHjJJbUsuxd6PSqxejNUlyK7EIoiiyJTmXEREuOGTuh8hR1hUqv07kKJzLztPdsZJdHTDMl5JbSW5FPQk2yVLlY7+W1ydTloOKngBaOwbX7ZVbiVkprm5k3YksJvUJIsjVFs59DV3HgZ0VZgN39pFWFSlfkTgwlNyKevZdKpJblVkorWlkx9l87o8LwuHiJrB1gS5j5JbVKgpCJhCjyaQ2p+Pt6SZllpNVVse8gGtSscIek+WW1DpiJN0LfM/w48UiGg1WWBX4N9iZUoC7pp7g4v0QMwk0LXc3ynJQ9m7QZQyD6vajEzvOBu+nB9PRG0z8bmQkXN0LtUXQc6rcslpPzylQns5Y1wx8XexYdbRjHJbYcDIHvdFEYl8fSN0G3e+x2vyQgUOmYUTDhW+Xk1dRL7ccs7IpORcHGy39q3aDkw+Ej5RbUuvwDIegfoyo30NNYxMHr5TIrchsSOG9fOb7nUcwNEBs68Y7ZTkogH6zcTeVM7Rhv9xKzEJlXRNfHs1kQmwgET7OcHSZdBik6zi5pbWe7veBvTu6Yx8wLT6U/ZeLySytlVtVmzCaRFYfy2RghCedc7dIM/O4WXLLajWuPsHUh49jkul75q88QG1jx9iEbzQY2X4mj+ldDOgu74I+M0Frxfns+s3GqfIKY+1T2ZnSccJ8FwuqySitZUrTVvDtDsH9W9WO8hxU5B3k2IQzrmojSRnWP6NYeTiDmkYD80dFSmWer/4IA+aBzk5uaa3Hzhn6zYYL25jZ1YhGEFhzLEtuVW1i/+UicsrreTg+GI4slU4chVrZybD/wfmO53ATauldso1n15/G1AH2Cn+8UERVg4HZ2p3StYcBT8gtqW30fACc/XneaTc/XCikqX0yslucXecKGKE5i3tNGgx+qtV7hMpzUIKAbvizdCGbNZ+8zepjmVabsaCm0cCKQ+mM6e5HtL8r7HldupzbTzkJYlvNgHmgs8fn+D8Z292P9SezaWiy3hj6qiOZ+LjYMa7xW6ly8JBn5JbUdkLiIWwICx23cyg1g3/utv7DR5uSc+ntXE7g1Q3Q6yFwsfJ6Sjo7GDSfqNqTdG88zZGrpXIrMgu7U3L5s+PX4BYCPe5vdTvKc1CA/5BEjH6xvGi3gb9sTuJPm1KscgNx9dFMKuubWDCqM6T9AFe+g+F/+G9OO6vGxR+GPAXnN/G7yFIq6prYcdaKytffQFZpHfsuF/NInAfa/W9A2FCISpBblnkY8xcc9GUsC93Hh/uvstGKrwWU1+rZd6mIN102ImhtYdRiuSWZh/jHEd1CeMVmNd+mtDzPttJIK6qhZ+kuIgxpcOefW5w94kYU6aDQaNAmvImXsZgvIvaw7kQ2Dy4/SkFlu9R7MQsNTUY+PpDOsC7e9PKzhZ0LwSNcWnl0FAY/BS4B9Dz9KlHetlZ7WGL18Uw0gsAj9SulXJDj/madx5Z/ieC+0HMqI0rXMzWsmhc3p3A83TrzXW4/m8cQ8RTR5ftg6LPWv3q6jo09wpjX6CZk4HnuM6u/trHvVCp/1K1F7x8nhTDbgDIdFECnIdD3EeLzVrNunMjlwmomLjloNQ/XhpPZlNQ0Mn9UZ/j+FSi7Cve8Z917T/+LnTNMfAeh8Dz/9N7J6ewKUnLap4S9uWhoMrLhRDZPh2XidPYLGDQfApVV/6nNjPs7gp0rb4hLCXe3Yd6qk2SV1smtqsV8n5TK23Yfg2+MtHrvSMRMptB/JAtMqzmVdFRuNa3GYDDSLekV3IU6bCctbfNET7kOCmDsX8E9lIGn/8S22dG42OuY/vFRxWfS1htMfLjvKv07eTCg8Qic+BgGzrfOrAQ3IyoB+swkNnMld9ic50srW0XtTMnHtq6QJ8r/DT7d4I6X5ZZkfpx94O530RalsLHzd5hEmPP5CaqsKIv2taIqHi78J27UwOTlHWuiByAIuEx9nwbBHuft8/j66CVFj3G/RE55HZ+++wpDmo5wPvop8Itpc5vKdlB2LjDlM6gtInLvk2x5oj/Du/rwyjfnWfjVWcVuym9JziWvsoGFvQ0Imx6HwDi4swMOfNcZ/yaCTzRdn/3NAAAPyElEQVTLbN/l9JmTVNZZz8C3/shlPnf8DzamenhghZSCpiPSbSLEz8PtzEd8Nega6SW1/H5NMgYrODVWVqvn0pqFjNYmUzvydfBveUYCa8DRMwjTfcuJErJx2LGAp9eesppJxI6z+bz87ofMrvqAQt+h9J76klnaVbaDAgjqC/cshcxDuO1+hk9m9uGpOzqzMSmHqcuPKO4SotEk8v6+NO7wb6Tfkd+BvSs8tMZqL3zeEnYuMG0tNja2fCD8gx1HkuVWdEucyy7h0YK/E2W6ijD5Y/DrLrckyzLu7xAxki7HXubjIZXsv1zMX3dckFvVr9JkNLHiYDpL//UiCRVrSfGfjOvwJ+WWZVE8e0+AMa9xl/Y4sRfe4q7//MSpLOVWGq/TG1j09VneW7uFd4W3wTMCv9lrQKM1S/vKd1AAsVPgzlcgZQOabb/nudFdWJ7Yl2vFtdy95CBHrynnaOb2s3noS7NYqn8JobEapq8H1/YpeCcrHp3QzVhPgLaSQQceYeO+JGoUejnUYDTxfUo2lasSGa89QcPov0N0+9UTkg2tDqasBJ8oRiU/w196FrPycIYiw7L7Lxcz/j8/cXnXUl7hY2rD7qTn3I86zuGV30Az+PcQ/ziPaXfyhGEVUz48zLK9aYo7PJGaV8XdSw6SnHSYzU5v4uLsgk3iRikjkJmwDgcFMOx5GPkinFkDXz3KuK5ubJk/GDdHG2Z8cozPDqXLHrM1mUR2/PAjmx3+goOxGhK3QEAvWTW1KyHx5E74ggBK6PvjdKb8bRUvbznHpYJquZUBUk7EpT9eYfw/dqLZkMgQ/WHOxizEYWjHnpX/DAcPeHgreEYyM/2PLAxO5c9bzysmzc614hrmrDzBrBXHeKBhE2/afILYeQxOiWuli7m3A4IACf+EfrOZadjMZz7reHt3KomfHqOwSv6TzKIo8vnhDO57/xDhdefY7vIPHB0cEB7ZLqVvMiPWlSNk5B/B1hG+exkqc+j80Gq2zB/Cc+vP8Nq2VFJyKvn75J7Y25hneXmr1OkNnM6uIOPIFv5d/RI6e2eEWds63mmwW6Bzv7GIvlsJXTONr5pe4Ymkpxl3tBvx4Z4kDgxjXIw/trr2mxeJosiJjHJWHc3k23P5+BiLWefyH4J1mRgT/k1s/GPtpkUxOHrCrG0I66bzZPZfcXSZyfzVApvmDyPSx1kWSVUNTSzZc4WVhzNw1pnYFf4V3fI3Q8wkhPs+7HiHIm6GIMBd/wY7F4YfepeDIaXcmzWH8f+p4q0pvbizm58ssspq9Sz86gw/XCjixeCzzC1/G8EpBGZsBK9Is/dnXQ4KYPDvpftEm+bCB4NxvWcpHyUmsOTHNN754TKXi6r5cGZfgj0cLSYhr6Kek5nlnMosJymznLT8Ep7XrOMx3S4ybSMJeuIb8AixWP9KRwgdiO7xH9GtmcoXpX8jOXI2zxeO5/drk/F2tmNafAjT4kMJdLfcvlxNo4HNybl8eSSTS4XVuNrreDMqjfty30KLCDM2QOfRFutf8Th5wcPfwNbf80jKl0SRwsLP6vl0wUTcHVt/sbKlGE0iG09m86/dlyir07MgxsBTlf/EJv+cdKl95IutyoLdIdBoYMzr4BlJwI7nOOSWwWJ+z5zPm3hkcCcWJUS362T88NUSnl1/Gn1tJd9HbKFL3lbpUvuDq6RJjwUQ5AiL9evXTzx58mTbGim+BF/PkfLb9ZoOY15jT7bIM+tOY6PTsHR6HwZHerdZa5PRxIX8KpKanVFSZjn5zReGHWy0POSbzZP1H+BTd5XGPnOwS/irtMprI4IgJImi2K/NDbUSs9iosRq+XQTJXyIG9OZUj8V8kObBnotFCMDobn4kDgpjSKQ3Go159hYuFVTz5dFMNp3KoVZvJCbQlXm97bgr/310FzZLSSsnf2SWAndy2wjMYCdRhKTPMO76E1UGGza4P8ajC17C1sbyc9fj6WW8tu085/OqGBzmxNuhh/BPfg9sneHepWbJ5tEhbASQkwSbHkMsS+e47xTmZo0hKCCAJdP60NnXsqveJqOJd3+4wrJ9V5jmfoFXdZ9jW5MLw16AEQvNEnr9NTtZr4MCMDTCvjfh8BLplNyw50kPn8bc9RdJL6nlTwnRzBkajtCCjdXKuiZOZUmO6GRmGWeyK6lvPs4e6GZPXJgH/cI8GOReQZfz76JJ3QyuwTDxHeg6tu2/UzNyP1hmsxFA6jdSJo2aAug1nbzeT/HlJYH1J7IprdUT7u3EjAGhTOkbgptjy//Z9QYTu88XsOpoJsfTy7DVabg7NpCH49yJzVmHcOg/IJqkfcyhz5kt+7XcNgIz2qn4MqVr5uJVfpoUMYL17o9hCBlKVIArUf4uRPu74ulknpVVTnkdb+y6yI6z+QS72vCf3jn0vfIuQnkGRE+UniVnX7P01aFs1FgjXfo/uQK9nQdv6e9nnWEEi+/pxdR+IS0a526V7LI6nl6XTEP2ad7x2kJUzXHw7gr3LIHQgWbrxyIOShCEKcCrQDcgXhTFW7KCWQc/gJI02P0nKdedgwf6vnN5KbsvGy4Zubd3IG9OjsXB9v8uhUVRJL2k9meroytFNQBoNQLdA1zpG+bx31egmz3knJCyXaduleLiQ56BIU+bZdV0I+Z8sFpjJ7PbqLEaDvwbjiwDkxF63I++/zx2lfqz6mgWJzPLsbfRcE+vQBIHdqJn8M1PAuVV1LP2eBZrj0tZO0I9HZk5MJSpXQTcz38BJz6Fxirodo906dsjzHy/D/LbCMxsJ1Hk3LefEHrqTVybSkihM8v0E9ljiqMJHT4udkT7uxDt70KUvyvR/i509nW+5TBTnd7Ah/uvsXz/VZyEBv4RdYU7y9ajKUsDn2gY/6ZUHdeMdDgbAeSfgV1/hKwjlGs8eb9xPJXRU1n8wFDcHMx3kGTb6Ry2bl7LLLYzVDgNdm4wchHEzzX7gRVLOahugAlYDrwgm8Guk30CDr4Dl3YgChqy3eNZUhRLvvcQ3pg1Fh8XO1JyKzmZITmjU1nllNVKhRFd7XX/dURxYR70DnHH0VYHJhMUnJWc35l1UsoiOzeIf0xK9W+mmd7/YuYHq8V2spiNqvIlB3/yM2iqlQam2KlcdR/Cp1cc2XI6jzq9kV4h7iQODGNibMDPBkCTSeTw1VK+OJLBDxcKEYE7o32Z09OWAabTaM5thIyD0g93v1fK2Wahwypy2wgsZKemBji9GvHQuwgVmTTZeXDZeywHtAPYXdOJ1CI9jQbpgq9GgE7eTs2O6/pqy4UQD8f/hm1FUWTrmTze25lMp5pTzPNOoV/9QTRNdeAfC8OekyYRZro7cyMd1kaiCNf2IR58ByF9P02iliPavtR0vptsjwHU27QuIbUgGvCrvoBnzh5iSr8lSCjF6OCNdvCT0G8OOLib9/e43q8lQ3yCIOxDboPdSOlVOLNWciiVUvbmNDGY02IkqcZQ0sRAbN0CCQ4No3tYAHGhHkR4OaBprICaYukzRalQeB6yjkBd8z2rTsMg9kFp4LN3tZx+LBOaaImdLG6j+go4v1myU/Yx6T0nX5qC4jlnDGFLnjvJFY7o7b24My6aCbGBnMgoZ9uxi9SWFxDpUMPk4GoGOBXgVJQMpVekNjwjIPYh6PUgeHSynH7ktxFY2E5Gg1S/7MwauLgTjI2gs0cMGUClWzSZunAuNHhyrtKO5FIt6eV6RBFsMRBsW0Mvjyb6OpVgX34J39qL9NFcRYdRmuDF3Ae9pklhIgveberwNgIoPE/hgc+wOb8RT7ECgHOmTpw1hXNRDOWqGEix6E6J6EY9UphWiwkPoRpvqggWionSZBMtZBGvuYSrUIdB1JDlMYDQUXPQdZ9o8UQDv2Yn6zvFdyt4RcIdL0kngArPUZayG8OZ7xivT+GBpuZKvfXApebXLyFopMGu8xgp7BAxsuNkT1YCDu5SXax+j0JlLlzbB9f2YpN7ij5lO+iDCHaACCRJr+7ALJDeNwFZgLOfdNes36MQMQp8u90WlznbBa1O2lftOlba/8g8BFd/RMg6gnvWStyNjfzslt//ngSvlF612FPvGYU25mnoPEoqBnm7HRu3JH4x+D3wFuKkNxHzT8PVH4nJOEBMwWmE+r231IQoaMG7CwQ/gBg5Cm34CCKcvCws/Obc1EEJgvAD8Esj82JRFL+51Y4EQXgceBwgNDT0lgW2CY0GAmLxDIjFc+wfpPdqiqA0TfpaWwxNN2R1dvAAJ1/JEflEWVV6InPYSRYbAbgFQZ8Z0gtAXyud0qwphJpCqitKuVJUTaCbPf4+3uDkI9nJu6t0XNpKsOpnyc4Zuo6TXiCtrsquSdGGmiIpyiA258bU2DTbyBvRoxOO7qE4WSB8Zwms2UaCVgfB/aTXiIVSGLA6X4oo1RZJ0SFj4/WfBkcvyU6ugQjeXRQ5abipgxJF0SyXRURR/Aj4CKQlrznabBXOvhbbN5ITc9hJMTaydYKguP9+6wLE/fpPWw0d6lnS6sCnq/T6DaxtLduhbCQI4BoovayU2/QGnIqKioqK0mmTgxIEYZIgCDnAIGCHIAi7zSNLxZyodlI+qo2Uj2qj9qdNhyREUdwMbDaTFhULodpJ+ag2Uj6qjdofNcSnoqKioqJIZEl1JAhCMfBLRWi8ATny/svV72/1HSaKok97i7mOAm0kZ9+KtBEo0k5K61e1kXL6/a2+f9FOsjioX0MQhJNy5M2Sq1+5+24Nt+PfytpsBLff30q1kfL7bU3faohPRUVFRUWRqA5KRUVFRUWRKM1BfXSb9St3363hdvxbWZuN4Pb7W6k2Un6/Le5bUXtQKioqKioq11HaCkpFRUVFRQVQHZSKioqKikJRnIMSBGGKIAjnBUEwCYJg8aOQgiCMFwThkiAIaYIgLLJ0fzf0u0IQhCJBEM61V5/mQrWR8lFtZB3cDnZqi40U56CAc8Bk4CdLdyQIghZYBiQglRuaJghCd0v328xKYHw79WVuVBspH9VG1sHtYKeVtNJGinNQoiheEEXx18oImpt4IE0UxWuiKOqBdcC97dGxKIo/AWXt0Ze5UW2kfFQbWQe3g53aYiPFOah2JgjIvuH7nOb3VJSDaiPlo9rIOrA6O8lS8t1cVStVLIdqI+Wj2sg6UO3UemRxUOaqWmkGcoGQG74Pbn7vtke1kfJRbWQdqHZqPbd7iO8E0EUQhHBBEGyBh4CtMmtS+TmqjZSPaiPrwOrspDgH1Z5VK0VRNAALgN3ABWCDKIrnLdXfjQiCsBY4AkQJgpAjCMKc9ujXHKg2Uj6qjayD28FObbGRmupIRUVFRUWRKG4FpaKioqKiAqqDUlFRUVFRKKqDUlFRUVFRJKqDUlFRUVFRJKqDUlFRUVFRJKqDUlFRUVFRJKqDUlFRUVFRJP8PZLlKMGh8/LMAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def draw_circle_by_polygonal_line(div_num):\n", " thetas = np.linspace(0, 2 * np.pi, div_num)\n", " xs = np.cos(thetas)\n", " ys = np.sin(thetas)\n", "\n", " plt.plot(xs, ys) \n", " plt.gca().set_aspect('equal', adjustable='box')\n", "\n", "for i in range(4, 12):\n", " pnum = i - 3\n", " plt.subplot(2, 4, pnum) # 2x4 の図の配置:下の図を見てみよう。\n", " plt.xlim([-1.2, 1.2])\n", " plt.ylim([-1.2, 1.2])\n", " plt.title(\"div = \" + str(i-1))\n", " draw_circle_by_polygonal_line(i) # 折れ線を描く\n", " draw_circle_by_polygonal_line(1000) # 「円」を描く\n", " \n", "plt.tight_layout() # オブジェクトの配置を自動調整" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "YGVR_Cbh6jx-" }, "source": [ "### グラフの確認\n", "はじめは円周を 3 等分してそれらを線分でつないでいます。次に 4 等分、5 等分と分割数を増やしていくと、折れ線は円(曲線)に近づいていきます。\n" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "u1KwKnIK6_X8" }, "source": [ "### 補足:多面体による 3 次元図形の近似\n", "もしあなたが30歳以上なら、昔の 3D ゲームのポリゴンを覚えているでしょう。念のため参考画像へのリンクを張っておきます。\n", "\n", "- [バーチャファイター 1 の画像検索結果](https://www.google.com/search?q=%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%95%E3%82%A1%E3%82%A4%E3%82%BF%E3%83%BC1&tbm=isch&ved=2ahUKEwiXyeu63bDqAhUYR5QKHRM-D7MQ2-cCegQIABAA&oq=%E3%83%90%E3%83%BC%E3%83%81%E3%83%A3%E3%83%95%E3%82%A1%E3%82%A4%E3%82%BF%E3%83%BC1&gs_lcp=CgNpbWcQAzICCAAyAggAMgIIADIECAAQGDIECAAQGDIECAAQGDIECAAQGDIECAAQGDIECAAQGFDYLli9MWDFNGgAcAB4AIABVIgBpgGSAQEymAEAoAEBqgELZ3dzLXdpei1pbWc&sclient=img&ei=GPX-XpfdFZiO0QST_LyYCw&bih=549&biw=1176&rlz=1C1ASVC_jaJP896JP896)\n", "\n", "画像がカクカクです。\n", "一方で当時対抗馬として有名で、今もあるゲームの鉄拳の新しいバージョンを眺めてみましょう。\n", "\n", "- [鉄拳の画像検索結果](https://www.google.com/search?q=%E9%89%84%E6%8B%B37&tbm=isch&ved=2ahUKEwjb747n3bDqAhWhJqYKHelDC8IQ2-cCegQIABAA&oq=%E9%89%84%E6%8B%B37&gs_lcp=CgNpbWcQAzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgIIADICCABQ2FBYilJghFVoAHAAeACAAcgBiAHBApIBBTAuMS4xmAEAoAEBqgELZ3dzLXdpei1pbWc&sclient=img&ei=dfX-XpvhDKHNmAXph62QDA&bih=549&biw=1176&rlz=1C1ASVC_jaJP896JP896)\n", "\n", "非常に滑らかな CG になっています。\n", "これは上で見た一連の画像と同じです。\n", "「分割数」が少ないとカクカクで、「分割数」が多いと滑らかになるのです。\n", "こうなった理由の一つは、コンピューター(ここでは特にゲーム機)の処理速度が上がって短い時間でたくさん計算できるようになり、滑らかさがあげられたことです。\n", "\n", "このゲームの進化と微分方程式のシミュレーションにも深い関係があります。\n", "興味があればぜひゲームプログラミングなども勉強してみてください。\n", "最近は VR などでの CG 作成も発展していて遊べる要素はたくさんあります。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "ySxzqQPTYNqT" }, "source": [ "# ベクトルでつないだ折れ線で円を近似する\n", "話を戻しましょう。\n", "先程の折れ線を 9 分割までを重ねて 1 つの図にしてみましょう。" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 265 }, "colab_type": "code", "executionInfo": { "elapsed": 786, "status": "ok", "timestamp": 1588344308499, "user": { "displayName": "Yoshitsugu Sekine", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GimsNckrAflr-jMDGQwV_kIJ56EjAWYV8INkpUv=s64", "userId": "13524401322013959426" }, "user_tz": -540 }, "id": "cXMXHrjuYNqT", "outputId": "94b0698f-e2d7-4384-81b2-82c38de2cc55" }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light", "tags": [] }, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def draw_circle_by_polygonal_line(div_num):\n", " thetas = np.linspace(0, 2 * np.pi, div_num)\n", " xs = np.cos(thetas)\n", " ys = np.sin(thetas)\n", "\n", " plt.plot(xs, ys) \n", " plt.gca().set_aspect('equal', adjustable='box')\n", "\n", "for div_num in range(10):\n", " draw_circle_by_polygonal_line(div_num) # 折れ線を(たくさん)書いている\n", "\n", "draw_circle_by_polygonal_line(1000) \n", "plt.xlim([-1.2, 1.2])\n", "plt.ylim([-1.2, 1.2])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "TSYuaI4ks6SP" }, "source": [ "## 注意\n", "この図に特に意味はありません。\n", "重ねてみたら**私が楽しかった**だけです。\n", "こういう感じで遊んでみてください。\n", "そのための例示です。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "XEPF19-YYNqV" }, "source": [ "# アニメーションにしてみる\n", "分割を細かくしていくことで精度が上がる様子をアニメーションで見られます。\n", "図の両端にある「+」「-」ボタンでアニメーションのスピードを変えられるので適当に変えて遊んでみてください。\n", "ローカル実行での Jupyter notebook ではアニメーション用の枠が出ていないかもしれません:その場合はセルを実行すればアニメーションがはじまるはずです。\n", "\n", "出先で勉強していたり、プログラムが実行できないこともあるでしょう。\n", "YouTube に動画をアップロードしておいたので、必要なら次のリンクから確認して下さい。\n", "\n", "- [YouTube へのリンク](https://youtu.be/8u4sXWUkctw)\n", "\n", "次の再生リストにはいろいろな数値計算アニメーションを載せています。\n", "眺めてみると楽しいと思うので参考にしてください。\n", "\n", "- [YouTube のリスト](https://www.youtube.com/watch?v=EcDV2Jj5TWU&list=PLSBzltjFopraTJUYDMXnj1GdYCdR0QyzU)\n", "\n", "チャンネル登録もどうぞ。\n", "\n", "- [チャンネル登録](https://www.youtube.com/channel/UCZ0p3rtw65Kw7BeR-hdndMw?sub_confirmation=1)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 391 }, "colab_type": "code", "executionInfo": { "elapsed": 3753, "status": "ok", "timestamp": 1588344724532, "user": { "displayName": "Yoshitsugu Sekine", "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GimsNckrAflr-jMDGQwV_kIJ56EjAWYV8INkpUv=s64", "userId": "13524401322013959426" }, "user_tz": -540 }, "id": "zZ4qTZNzYNqW", "outputId": "c9d7fb84-6eab-40ba-ccdf-29926cab4925" }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "from matplotlib import animation\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "def circle_data(div_num):\n", " thetas = np.linspace(0, 2 * np.pi, div_num)\n", " xs = np.cos(thetas)\n", " ys = np.sin(thetas)\n", " return (xs, ys)\n", "\n", "# アニメーション用のデータ集\n", "circles = []\n", "for i in range(4, 31):\n", " circles.append(circle_data(i))\n", "\n", "# 初期化\n", "fig = plt.figure()\n", "ax = plt.axes(xlim=(-1.2, 1.2), ylim=(-1.2, 1.2))\n", "line, = ax.plot([], [], lw=2)\n", "# アスペクト比を等しくする\n", "plt.gca().set_aspect('equal', adjustable='box')\n", "\n", "def animate(data):\n", " x = data[0]\n", " y = data[1]\n", " line.set_data(x, y)\n", " return line\n", "\n", "anim = animation.FuncAnimation(fig, animate, frames=circles, interval=100)\n", "plt.close(anim._fig)\n", "HTML(anim.to_jshtml(default_mode='reflect'))" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "YnM0B5NLYNqZ" }, "source": [ "## 曲線と幾何学\n", "これは単純な話ですし、高校では実際にベクトルと幾何は強く結びついています。\n", "少し応用しただけで当たり前の結果でさえありますが、\n", "中高の数学であまり強調されることがない世界でもあります。\n", "\n", "そしてこのアニメーションに関して「ベクトルの新たな応用を知った。面白かったし感動した。」という声もよく聞きます。\n", "今となっては大したことではありませんが、昔はこの程度のことさえ難しかったのです。\n", "コンピューター自体が恐ろしく高価でしたし、それを扱う技術も非常に難しかったのです。\n", "それがいまやこんなに手軽に試せて遊べるようになっています。\n", "本当に私が学生の頃は考えられなかったような事態なのです。\n", "ぜひあなた自身でもいろいろ試してみてください。\n", "\n", "ここまで物理現象とその時間発展という形で常微分方程式を紹介してきました。\n", "常微分方程式は幾何学的には曲線を記述する方程式でもありますし、\n", "実際に**微分幾何**と呼ばれる分野ではいろいろな曲線と微分方程式の議論が出てきます。\n", "幾何学模様を描くと思えば遊ぶ方向性も増えるでしょう。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "sGbksGqnYNqa" }, "source": [ "今回はここまでです。\n", "お疲れ様でした。" ] }, { "cell_type": "markdown", "metadata": { "colab_type": "text", "id": "8DtR6LmdYNqa" }, "source": [ "# アンケート\n", "毎回アンケートを取っています。\n", "質問や要望がある場合もこちらにどうぞ。\n", "\n", "- [アンケートへのリンク](https://goo.gl/forms/hn7bUP4sblqOkBcI3)\n", "\n", "アンケートは匿名なので気楽にコメントしてください。\n", "直接返事してほしいことがあれば、\n", "メールなど適当な手段で連絡してください。" ] } ], "metadata": { "colab": { "collapsed_sections": [], "name": "06-ode_06_vector.ipynb", "provenance": [], "toc_visible": true }, "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.8.8" } }, "nbformat": 4, "nbformat_minor": 1 }