{ "cells": [ { "cell_type": "markdown", "id": "53a85404", "metadata": {}, "source": [ "# Two Dimensional Vectors\n", "\n", "Working with plannar vectors and the operations that can be performed on them." ] }, { "cell_type": "code", "execution_count": 17, "id": "27accadc", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n" ] }, { "cell_type": "code", "execution_count": 18, "id": "8ec08afa", "metadata": {}, "outputs": [], "source": [ "def plot_vectors_with_endpoints(vectors, labels, colors):\n", " plt.figure(figsize=(6, 6))\n", "\n", " for vec, label, color in zip(vectors, labels, colors):\n", " x, y = vec\n", "\n", " # Vector arrow\n", " plt.quiver(\n", " 0, 0, x, y,\n", " angles=\"xy\",\n", " scale_units=\"xy\",\n", " scale=1,\n", " color=color,\n", " label=label,\n", " )\n", "\n", " # Endpoint marker\n", " plt.scatter(x, y, color=color, zorder=3)\n", "\n", " # Coordinate label\n", " plt.text(\n", " x + 0.1,\n", " y + 0.1,\n", " f\"({x}, {y})\",\n", " color=color,\n", " fontsize=10,\n", " )\n", "\n", " plt.axhline(0, color=\"gray\", linewidth=0.8)\n", " plt.axvline(0, color=\"gray\", linewidth=0.8)\n", " plt.gca().set_aspect(\"equal\")\n", " plt.grid(True)\n", " plt.legend()\n", " plt.xlim(-6, 6)\n", " plt.ylim(-6, 6)\n", " plt.title(\"Planar Vectors with Endpoints\")\n", "\n", " plt.show()\n" ] }, { "cell_type": "code", "execution_count": 19, "id": "9c6d49b7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[4 2]\n" ] } ], "source": [ "import numpy as np\n", "\n", "v = np.array([3, 4])\n", "u = np.array([1, -2])\n", "w = v + u\n", "print(v+u)\n", "\n" ] }, { "cell_type": "code", "execution_count": 20, "id": "f6b088ec", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAIQCAYAAAD+RXYbAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARgBJREFUeJzt3XlcVPX+x/H3gDCAiAvivlu5d01cyiXFJfRW6tUsE29qXitDrax7zW6/1LKstDKtXKprm2allqVmUblg6c0yyy2XXDJcMFRQURjh/P6Yy+jINgPMnBl4PR+Pedh85yzf+XJo3nznc86xGIZhCAAAlGkBZncAAACYj0AAAAAIBAAAgEAAAABEIAAAACIQAAAAEQgAAIAIBAAAQAQCAAAgAgFMsnbtWlksFq1du9bsrsAEBw8elMVi0VtvveXysjNmzPB8x4pp8uTJslgsHt0HvzvwFAIBStRbb70li8XieISEhOiaa67RmDFjdPz4cbO7V2zJyckqV66chg4dmu8yZ86cUWhoqAYMGFCi+965c6cmT56sgwcPluh2fcWqVas0efLkEt9uzgdofo/FixeX+D591ZEjRzR58mRt3brV7K7AB5UzuwMonZ588kk1bNhQFy5c0IYNGzRnzhytWrVK27dvV1hYmNndK7Jq1aqpV69eWr58udLT0/N8L8uWLdOFCxcKDA1FsXPnTk2ZMkXdunVTgwYNSnTb3la/fn2dP39eQUFBjrZVq1bp1Vdf9UgokKRx48apXbt2udpvuOEGj+zPU2688UadP39ewcHBbq975MgRTZkyRQ0aNFDr1q1LvnPwawQCeESfPn3Utm1bSdI//vEPRUZG6sUXX9Ty5ct15513mty7wmVnZyszM1MhISG5XouLi9Pq1av16aefavDgwbleX7RokSpWrKibb77ZG10ttvyCjSflzB55U5cuXXTbbbd5dZ+eEBAQ4PWxQ9nAVwbwiu7du0uSDhw4kO8yiYmJGjRokOrVqyer1aq6devqoYce0vnz552WGz58uMLDw5WUlKT+/fsrPDxcUVFReuSRR5SVleW07IwZM9SxY0dFRkYqNDRU0dHRWrJkSa59WywWjRkzRgsXLlSLFi1ktVq1evXqPPv5t7/9TeXLl9eiRYtyvZacnKyvv/5at912m6xWqyTpv//9r3r37q2KFSsqLCxMXbt21bfffptr3aSkJI0cOVK1atWS1WpVw4YNNXr0aGVmZuqtt97SoEGDJEkxMTGO6e7Lv0d+7bXXHH2vVauW4uPjdfr0aad9dOvWTS1bttSPP/6oG2+8UWFhYXrsscckST/88INiY2NVtWpVhYaGqmHDhrr77rvzHIMc48ePV2RkpC6/aerYsWNlsVg0a9YsR9vx48dlsVg0Z84cSblrCIYPH65XX31Vkpym8680f/58NW7cWFarVe3atdPmzZsL7J+7co6DTz75RC1btpTValWLFi3yPBY2bNigdu3aKSQkRI0bN9a8efMK3ObChQvVpEkThYSEKDo6WuvXr8+17E8//aQ+ffooIiJC4eHh6tGjhzZt2uS0TF41BDk/1507dyomJkZhYWGqXbu2nn/+eaf1cmZIRowY4RjjnJ/B3r17NXDgQNWoUUMhISGqU6eOBg8erNTUVHeHEX6KGQJ4xW+//SZJioyMzHeZjz76SOnp6Ro9erQiIyP1/fffa/bs2frjjz/00UcfOS2blZWl2NhYdejQQTNmzNBXX32lF154QY0bN9bo0aMdy7388svq27ev4uLilJmZqcWLF2vQoEFasWJFrr/gv/nmG3344YcaM2aMqlatmu+0fPny5dWvXz8tWbJEJ0+eVJUqVRyvffDBB8rKylJcXJxjm3369FF0dLQmTZqkgIAALViwQN27d1diYqLat28vyT6V2759e50+fVr33HOPmjZtqqSkJC1ZskTp6em68cYbNW7cOM2aNUuPPfaYmjVrJkmOfydPnqwpU6aoZ8+eGj16tHbv3q05c+Zo8+bN+vbbb52m5lNSUtSnTx8NHjxYQ4cOVfXq1ZWcnKybbrpJUVFRevTRR1WpUiUdPHhQy5YtK/Dn2qVLF7300kvasWOHWrZsKcke7AICApSYmKhx48Y52iT7dHde7r33Xh05ckQJCQl6991381xm0aJFOnPmjO69915ZLBY9//zzGjBggPbv3+/0/vJz5swZ/fnnn7naIyMjncLHhg0btGzZMt1///2qUKGCZs2apYEDB+r33393HL/btm1zjNfkyZN18eJFTZo0SdWrV89z3+vWrdMHH3ygcePGyWq16rXXXlPv3r31/fffO8Ztx44d6tKliyIiIvSvf/1LQUFBmjdvnrp166Z169apQ4cOBb6/U6dOqXfv3howYIBuv/12LVmyRBMmTFCrVq3Up08fNWvWTE8++aSeeOIJ3XPPPerSpYskqWPHjsrMzFRsbKwyMjI0duxY1ahRQ0lJSVqxYoVOnz6tihUrFjq+KAUMoAQtWLDAkGR89dVXxokTJ4zDhw8bixcvNiIjI43Q0FDjjz/+MAzDMNasWWNIMtasWeNYNz09Pdf2pk2bZlgsFuPQoUOOtmHDhhmSjCeffNJp2euuu86Ijo52artym5mZmUbLli2N7t27O7VLMgICAowdO3a49D5XrlxpSDLmzZvn1H799dcbtWvXNrKysozs7Gzj6quvNmJjY43s7GynPjVs2NDo1auXo+2uu+4yAgICjM2bN+faV866H330Ua4xMwzDSE5ONoKDg42bbrrJyMrKcrS/8sorhiTjP//5j6Ota9euhiRj7ty5Ttv4+OOPDUl57r8gycnJhiTjtddeMwzDME6fPm0EBAQYgwYNMqpXr+5Ybty4cUaVKlUc7+XAgQOGJGPBggWOZeLj4428/peUs2xkZKRx8uRJR/vy5csNScZnn31WYB9zjrX8HkePHnUsK8kIDg429u3b52j7+eefDUnG7NmzHW39+/c3QkJCnI7LnTt3GoGBgbneQ85+fvjhB0fboUOHjJCQEONvf/ub0zaDg4ON3377zdF25MgRo0KFCsaNN96Y6/1cfhzk/FzfeecdR1tGRoZRo0YNY+DAgY62zZs35xp3wzCMn376yZBkfPTRRwWOJUo3vjKAR/Ts2VNRUVGqW7euBg8erPDwcH388ceqXbt2vuuEhoY6/vvcuXP6888/1bFjRxmGoZ9++inX8vfdd5/T8y5dumj//v35bvPUqVNKTU1Vly5dtGXLllzb69q1q5o3b+7S+8v56/Dyrw0OHDigTZs26c4771RAQIC2bt2qvXv3asiQIUpJSdGff/6pP//8U+fOnVOPHj20fv16ZWdnKzs7W5988oluvfVWR93F5Qo7je2rr75SZmamHnzwQQUEXPqVHjVqlCIiIrRy5Uqn5a1Wq0aMGOHUVqlSJUnSihUrZLPZXBoDSYqKilLTpk0d09/ffvutAgMD9c9//lPHjx/X3r17JdlnCDp37lysU/LuuOMOVa5c2fE85y/cK3/m+XniiSeUkJCQ63H5DI9kP3YbN27seH7ttdcqIiLCsZ+srCx98cUX6t+/v+rVq+dYrlmzZoqNjc1z3zfccIOio6Mdz+vVq6d+/frpiy++UFZWlrKysvTll1+qf//+atSokWO5mjVrasiQIdqwYYPS0tIKfH/h4eFOhazBwcFq3769S+OTMwPwxRdfKD09vdDlUTrxlQE84tVXX9U111yjcuXKqXr16mrSpInTh1Vefv/9dz3xxBP69NNPderUKafXrvweMyQkRFFRUU5tlStXzrXeihUrNHXqVG3dulUZGRmO9rw+mBo2bOjSe5OkcuXK6Y477tBrr72mpKQk1a5d2xEOcr4uyPkwHDZsWL7bSU1NVWZmptLS0hxTx+46dOiQJKlJkyZO7cHBwWrUqJHj9Ry1a9fOVaHetWtXDRw4UFOmTNFLL72kbt26qX///hoyZIijFiI/Xbp00apVqyTZP/jbtm2rtm3bqkqVKkpMTFT16tX1888/a8iQIUV6fzku//CV5AgHV/7M89OqVSv17NnT7f3k7CtnPydOnND58+d19dVX51quSZMmjrG4XF7LXnPNNUpPT9eJEyck2Ys7r/wZSvagkZ2drcOHD6tFixb59rtOnTq5juvKlSvrl19+yXedHA0bNtT48eP14osvauHCherSpYv69u2roUOH8nVBGcIMATyiffv26tmzp7p166ZmzZoVGgaysrLUq1cvrVy5UhMmTNAnn3yihIQER8FTdna20/KBgYGF9iExMVF9+/ZVSEiIXnvtNa1atUoJCQkaMmSIUxFcjstnE1wxdOhQZWdn6/3335ckvf/++2revLnjdK6cPk+fPj3Pv0wTEhIUHh7u1j5LQl7v02KxaMmSJdq4caPGjBmjpKQk3X333YqOjtbZs2cL3F7nzp2VlJSk/fv3KzExUV26dJHFYlHnzp2VmJio7777TtnZ2Y6/6Isqv595Xj9Lf9hPSStuv1944QX98ssveuyxx3T+/HmNGzdOLVq00B9//FGS3YQPY4YAPmHbtm3as2eP3n77bd11112O9oSEhCJvc+nSpQoJCdEXX3zh9FfuggULitXXHB06dFDjxo21aNEi9erVSzt27NDTTz/teD1n2jkiIqLAv0yjoqIUERGh7du3F7i//Kbb69evL0navXu303RzZmamDhw44NJfxTmuv/56XX/99Xr66ae1aNEixcXFafHixfrHP/6R7zo5H/QJCQnavHmzHn30UUn2AsI5c+aoVq1aKl++vNOUuTvvz9dERUUpNDTUMQN0ud27d+e5Tl7L7tmzR2FhYY6ZrrCwsDzX//XXXxUQEKC6desWs+eFj3GrVq3UqlUrPf744/ruu+/UqVMnzZ07V1OnTi32vuH7mCGAT8j56+byv2YMw9DLL79crG1aLBanUxEPHjyoTz75pMjbvFJcXJx++uknTZo0SRaLxWlaPDo6Wo0bN9aMGTPy/Cs7Z6o4ICBA/fv312effaYffvgh13I5Y1K+fHlJynUqYc+ePRUcHKxZs2Y5jd+bb76p1NRUl66HcOrUqVx/SebMdFz+VUteGjZsqNq1a+ull16SzWZTp06dJNmDwm+//aYlS5bo+uuvV7lyBf/9kd/78zWBgYGKjY3VJ598ot9//93RvmvXLn3xxRd5rrNx40anupXDhw9r+fLluummmxQYGKjAwEDddNNNWr58udOVKI8fP65Fixapc+fOioiIKHbf8xvjtLQ0Xbx40amtVatWCggIKPTnj9KDGQL4hKZNm6px48Z65JFHlJSUpIiICC1dutTl74fzcvPNN+vFF19U7969NWTIECUnJ+vVV1/VVVdd5dL3qq4YOnSonnzySS1fvlydOnVyOlUxICBAb7zxhvr06aMWLVpoxIgRql27tpKSkrRmzRpFRETos88+kyQ988wz+vLLL9W1a1fdc889atasmY4ePaqPPvpIGzZsUKVKldS6dWsFBgbqueeeU2pqqqxWq7p3765q1app4sSJmjJlinr37q2+fftq9+7deu2119SuXTuXrpj49ttv67XXXtPf/vY3NW7cWGfOnNHrr7+uiIgI/fWvfy10/S5dumjx4sVq1aqV47v9Nm3aqHz58tqzZ49L9QM5Mwjjxo1TbGysAgMD87zwU1ElJibqwoULudqvvfZaXXvttW5ta8qUKVq9erW6dOmi+++/XxcvXtTs2bPVokWLPI+tli1bKjY21um0w5zt5Jg6daoSEhLUuXNn3X///SpXrpzmzZunjIwMp+sJFEfjxo1VqVIlzZ07VxUqVFD58uXVoUMH/fzzzxozZowGDRqka665RhcvXtS7776rwMBADRw4sET2DT9g1ukNKJ1yTjss7PS1vE6d2rlzp9GzZ08jPDzcqFq1qjFq1CjHKV+XnyY1bNgwo3z58rm2OWnSpFynfL355pvG1VdfbVitVqNp06bGggUL8lxOkhEfH+/+GzYMo127dk6n3l3p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5cpiGPndOyxvjz76qJ577rkCl9m1a5eaNm3qeJ6UlKSuXbuqW7dueuONN/JdL68Zgrp16+ro0aOKjIx0p5tlls1mU0JCgnr16qWgoCCzu+MXGDP3nT17VrNmzdK4ceMUHh5e+AoetG6dRb16Ff63TUKC+TMEHGfuYczcl5KSopo1ayo1NVURERFurev2DMHDDz+s4YWce9OoUSPHfx85ckQxMTHq2LGj5ud1abHLWK1WWa3WXO1BQUEcDG5izNzHmLkuZ5x8YcxiYqQ6deyFgnn9eWOx2F+PiSknkyczJPnGmPkbxsx1xRkntwNBVFSUoly8zmZSUpJiYmIUHR2tBQsWKCCA6yABKFmBgfZTCW+7zf7hf3kosFjs/86cKZ8IA4Av89gndFJSkrp166Z69eppxowZOnHihI4dO6Zjx455apcAyqgBA+ynFtau7dxep86lUw4BFMxjRYUJCQnat2+f9u3bpzp16ji95mbZAgAUasAA+6mFiYl5X6kQQME8FgiGDx9eaK0BAJSkwMDLLxUMwB18qQ8AAAgEAACAQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAADIS4EgIyNDrVu3lsVi0datW72xSwAA4AavBIJ//etfqlWrljd2BQAAisDjgeDzzz/Xl19+qRkzZnh6VwAAoIjKeXLjx48f16hRo/TJJ58oLCys0OUzMjKUkZHheJ6WliZJstlsstlsHutnaZIzToyX6xgz910+ZoybazjO3MeYua84Y+WxQGAYhoYPH6777rtPbdu21cGDBwtdZ9q0aZoyZUqu9jVr1rgUKHBJQkKC2V3wO4yZ67KysiTZfzcDAwNN7o1/4ThzH2PmuvT09CKv63YgePTRR/Xcc88VuMyuXbv05Zdf6syZM5o4caLL2544caLGjx/veJ6Wlqa6desqJiZGkZGR7na1TLLZbEpISFCvXr0UFBRkdnf8AmPmvrNnz2rbtm2KiYlReHi42d3xCxxn7mPM3JeSklLkdd0OBA8//LCGDx9e4DKNGjXSN998o40bN8pqtTq91rZtW8XFxentt9/OtZ7Vas21vCQFBQVxMLiJMXMfY+a6nHFizNzHmLmPMXNdccbJ7UAQFRWlqKioQpebNWuWpk6d6nh+5MgRxcbG6oMPPlCHDh3c3S0AAPAgj9UQ1KtXz+l5zrRi48aNVadOHU/tFgAAFAFXKgQAAJ497fByDRo0kGEY3todAABwAzMEAACAQAAAAAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgAgEAABABAIAACACAQAAEIEAAACIQAAAAEQgAAAAIhAAAAARCAAAgDwcCFauXKkOHTooNDRUlStXVv/+/T25OwAAUETlPLXhpUuXatSoUXrmmWfUvXt3Xbx4Udu3b/fU7gAAQDF4JBBcvHhRDzzwgKZPn66RI0c62ps3b+6J3QEAgGLySCDYsmWLkpKSFBAQoOuuu07Hjh1T69atNX36dLVs2TLf9TIyMpSRkeF4npqaKkk6efKkJ7pZKtlsNqWnpyslJUVBQUFmd8cvMGbuO3v2rC5cuKCUlBSn31nkj+PMfYyZ+3I+Lw3DcH9lwwPef/99Q5JRr149Y8mSJcYPP/xg3HnnnUZkZKSRkpKS73qTJk0yJPHgwYMHDx48ivH47bff3P7sthiG6zHi0Ucf1XPPPVfgMrt27dKWLVsUFxenefPm6Z577pFk/+u/Tp06mjp1qu699948171yhuD06dOqX7++fv/9d1WsWNHVbpZpaWlpqlu3rg4fPqyIiAizu+MXGDP3MWbuY8zcx5i5LzU1VfXq1dOpU6dUqVIlt9Z16yuDhx9+WMOHDy9wmUaNGuno0aOSnGsGrFarGjVqpN9//z3fda1Wq6xWa672ihUrcjC4KSIigjFzE2PmPsbMfYyZ+xgz9wUEuH8SoVuBICoqSlFRUYUuFx0dLavVqt27d6tz586S7N8FHTx4UPXr13e7kwAAwLM8UlQYERGh++67T5MmTVLdunVVv359TZ8+XZI0aNAgT+wSAAAUg8euQzB9+nSVK1dOf//733X+/Hl16NBB33zzjSpXruzyNqxWqyZNmpTn1wjIG2PmPsbMfYyZ+xgz9zFm7ivOmLlVVAgAAEon7mUAAAAIBAAAgEAAAABEIAAAAPKzQMDtlIsuIyNDrVu3lsVi0datW83ujs86ePCgRo4cqYYNGyo0NFSNGzfWpEmTlJmZaXbXfMqrr76qBg0aKCQkRB06dND3339vdpd81rRp09SuXTtVqFBB1apVU//+/bV7926zu+VXnn32WVksFj344INmd8WnJSUlaejQoYqMjFRoaKhatWqlH374weX1/SYQLF26VH//+981YsQI/fzzz/r22281ZMgQs7vlN/71r3+pVq1aZnfD5/3666/Kzs7WvHnztGPHDr300kuaO3euHnvsMbO75jM++OADjR8/XpMmTdKWLVv0l7/8RbGxsUpOTja7az5p3bp1io+P16ZNm5SQkCCbzaabbrpJ586dM7trfmHz5s2aN2+err32WrO74tNOnTqlTp06KSgoSJ9//rl27typF154wa1T/T1yc6OSZrPZjNq1axtvvPGG2V3xS6tWrTKaNm1q7Nixw5Bk/PTTT2Z3ya88//zzRsOGDc3uhs9o3769ER8f73ielZVl1KpVy5g2bZqJvfIfycnJhiRj3bp1ZnfF5505c8a4+uqrjYSEBKNr167GAw88YHaXfNaECROMzp07F2sbfjFDcOXtlGvWrKk+ffpo+/btZnfN5x0/flyjRo3Su+++q7CwMLO745dSU1NVpUoVs7vhEzIzM/Xjjz+qZ8+ejraAgAD17NlTGzduNLFn/iPntu4cU4WLj4/XzTff7HS8IW+ffvqp2rZtq0GDBqlatWq67rrr9Prrr7u1Db8IBPv375ckTZ48WY8//rhWrFihypUrq1u3bo57PyM3wzA0fPhw3XfffWrbtq3Z3fFL+/bt0+zZs/O9Q2dZ8+effyorK0vVq1d3aq9evbqOHTtmUq/8R3Z2th588EF16tRJLVu2NLs7Pm3x4sXasmWLpk2bZnZX/ML+/fs1Z84cXX311friiy80evRojRs3Tm+//bbL2zA1EDz66KOyWCwFPnK+05Wkf//73xo4cKCio6O1YMECWSwWffTRR2a+BVO4Om6zZ8/WmTNnNHHiRLO7bDpXx+xySUlJ6t27twYNGqRRo0aZ1HOUJvHx8dq+fbsWL15sdld82uHDh/XAAw9o4cKFCgkJMbs7fiE7O1tt2rTRM888o+uuu0733HOPRo0apblz57q8DY/dy8AVnr6dcmnl6rh988032rhxY65rWrdt21ZxcXFuJUd/5+qY5Thy5IhiYmLUsWNHzZ8/38O98x9Vq1ZVYGCgjh8/7tR+/Phx1ahRw6Re+YcxY8ZoxYoVWr9+verUqWN2d3zajz/+qOTkZLVp08bRlpWVpfXr1+uVV15RRkaGAgMDTeyh76lZs6bTZ6QkNWvWTEuXLnV5G6YGAm6nXDSujtusWbM0depUx/MjR44oNjZWH3zwgTp06ODJLvocV8dMss8MxMTEOGaiinJf8dIqODhY0dHR+vrrrx2n/WZnZ+vrr7/WmDFjzO2cjzIMQ2PHjtXHH3+stWvXqmHDhmZ3yef16NFD27Ztc2obMWKEmjZtqgkTJhAG8tCpU6dcp7Pu2bPHrc9IUwOBq7idctHUq1fP6Xl4eLgkqXHjxvyFko+kpCR169ZN9evX14wZM3TixAnHa/wFbDd+/HgNGzZMbdu2Vfv27TVz5kydO3dOI0aMMLtrPik+Pl6LFi3S8uXLVaFCBUetRcWKFRUaGmpy73xThQoVctVYlC9fXpGRkdRe5OOhhx5Sx44d9cwzz+j222/X999/r/nz57s3w1ki5zt4QWZmpvHwww8b1apVMypUqGD07NnT2L59u9nd8isHDhzgtMNCLFiwwJCU5wOXzJ4926hXr54RHBxstG/f3ti0aZPZXfJZ+R1PCxYsMLtrfoXTDgv32WefGS1btjSsVqvRtGlTY/78+W6tz+2PAQCAf5x2CAAAPItAAAAACAQAAIBAAAAARCAAAAAiEAAAABEIAACACAQAAEAEAgAAIAIBAAAQgQAAAIhAAAAAJP0/7IAbUeb/LvAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_vectors_with_endpoints(\n", " vectors=[v, u, w],\n", " labels=[\"v\", \"u\", \"v + u\"],\n", " colors=[\"red\", \"blue\", \"green\"],\n", ")" ] } ], "metadata": { "kernelspec": { "display_name": "explore_math", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }